← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1316323] Re: cloud-init-single-module-fails-to-merge

 

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



References