cc519a7d48
UPPER_CONSTRAINTS_FILE is deprecated and TOX_CONSTRAINTS_FILE is the new environment variable name that replaces it [1]. This allows to use upper-constraints file as more readable way instead of UPPER_CONSTRAINTS_FILE=<lower-constraints file>. [1] https://zuul-ci.org/docs/zuul-jobs/python-roles.html#rolevar-tox.tox_constraints_file [2] https://review.opendev.org/#/c/722814/ Change-Id: I53bc3db1ce7a150869fb7c113bf1b34769c1f2fa |
||
---|---|---|
os_collect_config | ||
releasenotes/notes | ||
zuul.d | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
LICENSE | ||
MANIFEST.in | ||
os-collect-config-and-friends.odg | ||
os-collect-config-and-friends.svg | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
os-collect-config
Collect configuration from cloud metadata sources
What does it do?
It collects data from defined configuration sources and runs a defined hook whenever the metadata has been changed.
Usage
You must define what sources to collect configuration data from in /etc/os-collect-config.conf.
The format of this file is:
[DEFAULT]
command=os-refresh-config
[cfn]
metadata_url=http://192.0.2.99:8000/v1/
access_key_id = ABCDEFGHIJLMNOP01234567890
secret_access_key = 01234567890ABCDEFGHIJKLMNOP
path = MyResource
stack_name = my.stack
These sources will be polled and whenever any of them is changed, default.command will be run. A file will be written to the cache dir, os_config_files.json, which will be a json list of the file paths to the current copy of each metadata source. This list will also be set as a colon separated list in the environment variable OS_CONFIG_FILES for the command that is run. So in the example above, os-refresh-config would be executed with something like this in OS_CONFIG_FILES:
/var/lib/os-collect-config/ec2.json:/var/lib/os-collect-config/cfn.json
The previous version of the metadata from a source (if available) is present at $FILENAME.last.
When run without a command, the metadata sources are printed as a json document.
Quick Start
Install:
sudo pip install -U git+https://opendev.org/openstack/os-collect-config.git
Run it on an OpenStack instance with access to ec2 metadata:
os-collect-config
That should print out a json representation of the entire ec2 metadata tree.
Recommend using LibreOffice draw to edit os-collect-config-and-friends.odg and regenerate the svg file. Alternatively edit the svg directly, but remove the .odg file if that is done.↩︎