The name os-config-applier was too confusing given os-refresh-config as the
partner program, so we've decided to rename to os-apply-config.
To aid migration the old command name and default template path are still
supported.
Change-Id: I39725595275e7b4375ac4fda52e6a14b7071f7e9
It is quite common to expect either a numeric IP address or domain name.
We include all ASCII characters needed to express IPv4, CIDR networks,
IPv6, or DNS names.
Change-Id: I2ab370d2bdad0d568b34c4ed55d60a5b6cdd9b19
Empty string is a perfectly valid raw string and the default type is
meant to prevent malicious characters, not empty strings.
Change-Id: I717bbcfe1a81b383782122870d0d727b28f40cce
We are using a pattern of suppressing errors to allow missing keys
in some TripleO elements.
This allows simply specifying a default value inside
os-config-applier.
Change-Id: I15702d205bab995f918f2efcb75af832b760be74
Previously missing_tags was set to 'strict', so any missing values in
the configuration json would be flagged as an error. They will now be
ignored and returned as u'', per the pystache documentation.
Change-Id: I46d675bdd76948238191be92f0a2162963fcc478
Heat writes to /var/lib/heat-cfntools/cfn-init-data , and heat-cfntools
writes the last metadata it read to
/var/cache/heat-cfntools/last_metadata. We expect to run on first boot,
which is why we need the heat version. Then we also expect to run after
cfn-hup notices changes, so that is where the last_metadata comes from.
Change-Id: I781c74a10b419f84c6983ed2b4d54b47bfa7b605
Fixes tests not all being run and also makes main() more directly
testable. Also adding tests for log messages when main() is called.
Finally adding argparse to requirements.txt to fix python 2.6
Change-Id: I7f152c9aa1e99d0fd3d763871c96cf60840e3ff7
os-config-applier is useful by non-root users who have access to
write the files they need to in sub-directories under the main output
directory.
Change-Id: I52af0bd076f3fef99ea09a3074f0b0d5b7e9afca
Normally pystache will just use the python unicode representation of
objects. This is not very useful programatically. Rendering using json
makes these values more useful.
Print a key from the metadata file. the key may be nested
arbitrarily deep.
Pass --type=<int|default|raw> to raise an error if the requested
value does not conform to the type.