yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #86823
[Bug 1939119] [NEW] cloud-init not parsing the instance metadata when provided under "/etc/cloud/cloud.cfg.d/
Public bug reported:
According to cloud-init document,
https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#using-instance-data
Both user-data scripts and #cloud-config data support jinja template rendering. When the first line of the provided user-data begins with, ## template: jinja cloud-init will use jinja to render that file.
I have tested user-data with jinja variable, it works as expected.
now my question is, does cloud-init support parsing the instance metadata when provided under "/etc/cloud/cloud.cfg.d/ ?
For example,
A config file /etc/cloud/cloud.cfg.d/99-lob_unmanaged.cfg is created with the below content in a VM on Azure cloud.
===
## template: jinja
#cloud-config
runcmd:
- echo "{{ ds.meta_data.imds.compute.tags }}" > /root/vm_tags.txt
===
However, during the cloud-init initialization, the instance metadata is
not parsed and the file is created with the below data.
$ cat /root/vm_tags.txt
{{ ds.meta_data.imds.compute.tags }}
The scripts also have unparsed data.
]$ cat var/lib/cloud/instance/scripts/runcmd
#!/bin/sh
echo "{{ ds.meta_data.imds.compute.tags }}" > /root/vm_tags.txt
Could anyone please help to confirm, is it a bug or expected result?
** 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/1939119
Title:
cloud-init not parsing the instance metadata when provided under
"/etc/cloud/cloud.cfg.d/
Status in cloud-init:
New
Bug description:
According to cloud-init document,
https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#using-instance-data
Both user-data scripts and #cloud-config data support jinja template rendering. When the first line of the provided user-data begins with, ## template: jinja cloud-init will use jinja to render that file.
I have tested user-data with jinja variable, it works as expected.
now my question is, does cloud-init support parsing the instance metadata when provided under "/etc/cloud/cloud.cfg.d/ ?
For example,
A config file /etc/cloud/cloud.cfg.d/99-lob_unmanaged.cfg is created with the below content in a VM on Azure cloud.
===
## template: jinja
#cloud-config
runcmd:
- echo "{{ ds.meta_data.imds.compute.tags }}" > /root/vm_tags.txt
===
However, during the cloud-init initialization, the instance metadata
is not parsed and the file is created with the below data.
$ cat /root/vm_tags.txt
{{ ds.meta_data.imds.compute.tags }}
The scripts also have unparsed data.
]$ cat var/lib/cloud/instance/scripts/runcmd
#!/bin/sh
echo "{{ ds.meta_data.imds.compute.tags }}" > /root/vm_tags.txt
Could anyone please help to confirm, is it a bug or expected result?
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1939119/+subscriptions
Follow ups