← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1837530] Re: cloud-config in vendordata overriden by user-data

 

[Expired for cloud-init because there has been no activity for 60 days.]

** Changed in: cloud-init
       Status: Incomplete => 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/1837530

Title:
  cloud-config in vendordata overriden by user-data

Status in cloud-init:
  Expired

Bug description:
  This may be a bug or valid behaviour, but by reading little available
  vendordata documentations, I think either documentation is invalid or
  at-least lacking something.

  I'm trying to boot instances using config-drive and openstack dialect.
  There is no Nova or metadata service involved, just plain config-drive
  which happens to have user-data, vendor-data, network-data and
  metadata in following hierarchy:

  ─── openstack
      ├── content
      │   └── hotplug-cpu-udev.rules
      └── latest
          ├── meta_data.json
          ├── network_data.json
          ├── user_data
          └── vendor_data.json

  I'm using vendor_data to supply general instructions which is shared
  between every machine. It is provided by me; as infrastructure
  provider not user and contains instructions to make machines works
  with platform that I provide. So I think it's valid to have these
  general instructions in vendor_data and let users configure their
  machines as their wish by providing user_data.

  The problem is whenever user_data exists, vendor_data will be erased.
  Actually logs says it's processed and there will be
  /var/lib/cloud/instance/vendor-cloud-config.txt but If user_data and
  vendor_data both have `runcmd` for example,
  /var/lib/cloud/instance/scripts/runcmd will contain just user_data
  scripts.

  user_data cloud-config is like:

  #cloud-config
  hostname: ubuntu.default
  manage_etc_hosts: localhost
  growpart:
    mode: auto
    devices:
    - /
    ignore_growroot_disabled: false
  runcmd:
  - wget http://example/img -O /tmp/img
  resize_rootfs: true
  ssh_pwauth: false

  So my understanding is, It should not prevent vendor-data to be ran.
  For the reference vendor_data.json content is:

  {"cloud-init": "#cloud-config\nruncmd:\n- touch /tmp/vendor"}

  So, should I change user provided user_data to allow vendor data
  execution? That would be a little weird since documentation said the
  other way; user_data should contain instructions to disallow
  vendordata executions. And if documentation is wrong, it's sill
  doesn't look nice to ask users change their cloud-config to be run
  properly on my platform.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1837530/+subscriptions


References