Tracked in Github Issues as https://github.com/canonical/cloud- init/issues/2450
** Bug watch added: github.com/canonical/cloud-init/issues #2450 https://github.com/canonical/cloud-init/issues/2450 ** Changed in: cloud-init Status: Confirmed => Expired -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to cloud-init. https://bugs.launchpad.net/bugs/1316323 Title: cloud-init-single-module-fails-to-merge Status in cloud-init: Expired Bug description: I have a yaml file in a local directory (cloud-init.yaml) which contains 2 modules (write_files, runcmd). I am exercising the write_files module using the following command: $ sudo cloud-init --debug --file cloud-init.yaml single --name cc_write_files From the debug output I can see that the local file (/home/mmorais/cloud-init.yaml) is not getting merged into the master config file (/var/lib/cloud/instance/cloud-config.txt). 2014-05-05 21:25:45,367 - __init__.py[DEBUG]: Merging using located merger 'DictMerger: (method=no_replace,recurse_str=False,recurse_dict=True,recurse_array=False,allow_delete=False)' since it had method '_on_dict' 2014-05-05 21:25:45,368 - util.py[DEBUG]: Reading from /home/mmorais/cloud-init.yaml (quiet=False) 2014-05-05 21:25:45,368 - util.py[DEBUG]: Read 407 bytes from /home/mmorais/cloud-init.yaml 2014-05-05 21:25:45,368 - util.py[DEBUG]: < #cloud-config 2014-05-05 21:25:45,368 - util.py[DEBUG]: < write_files: 2014-05-05 21:25:45,368 - util.py[DEBUG]: < - content: | 2014-05-05 21:25:45,368 - util.py[DEBUG]: < #!/bin/sh 2014-05-05 21:25:45,368 - util.py[DEBUG]: < date +"%s" > /home/y/tmp/now.txt 2014-05-05 21:25:45,368 - util.py[DEBUG]: < path: /home/y/tmp/upload-boot-time.sh 2014-05-05 21:25:45,368 - util.py[DEBUG]: < permissions: '0755' 2014-05-05 21:25:45,369 - util.py[DEBUG]: < runcmd: 2014-05-05 21:25:45,369 - util.py[DEBUG]: < - ['/home/y/tmp/upload-boot-time.sh'] 2014-05-05 21:25:45,369 - util.py[DEBUG]: Attempting to load yaml from string of length 407 with allowed root types (<type 'dict'>,) 2014-05-05 21:25:45,371 - util.py[DEBUG]: Reading from /var/lib/cloud/instance/cloud-config.txt (quiet=False) 2014-05-05 21:25:45,371 - util.py[DEBUG]: Read 0 bytes from /var/lib/cloud/instance/cloud-config.txt 2014-05-05 21:25:45,371 - util.py[DEBUG]: Attempting to load yaml from string of length 0 with allowed root types (<type 'dict'>,) 2014-05-05 21:25:45,371 - util.py[DEBUG]: load_yaml given empty string, returning default As a workaround I am copying /home/mmorais/cloud-init.yaml to /var/lib/cloud/instance/cloud-config.txt which defeats the purpose of being able to run cloud-init on arbitrary files for testing. Also note that the command above does not work at all unless I specify *cc_write_files* instead of *write_files*. I am running cloud-init (0.7.4). To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1316323/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp