yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #79359
[Bug 1837530] [NEW] cloud-config in vendordata overriden by user-data
Public bug reported:
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.
** Affects: cloud-init
Importance: Undecided
Status: New
--
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:
New
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
Follow ups