Collect and cache metadata, run hooks on changes.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Clint Byrum db896fdf3a Make --version work properly
We have pbr and we have oslo.config. Tell them about eachother.

Change-Id: I65d449b0ed961c824a3e7c1307aab63f73bc03ad
10 years ago
os_collect_config Make --version work properly 10 years ago
.gitignore Rename to os-apply-config. 10 years ago
.gitreview Update stackforge references to openstack 10 years ago
.testr.conf Remove env vars we don't use. 10 years ago
LICENSE Aligned tests with OpenStack standards. 10 years ago Ensure that README file makes it into the tarball 10 years ago
README.rst Store list of collected configs in cachedir 10 years ago
openstack-common.conf Importing openstack-common using and openstack-common.conf 10 years ago
requirements.txt Update requirements 10 years ago
setup.cfg Update stackforge references to openstack 10 years ago Update requirements 10 years ago
test-requirements.txt Update requirements 10 years ago
tox.ini Ignore H803 checks from flake8 10 years ago



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 changed.

# Usage

You must define what sources to collect configuration data from in /etc/os-collect-config/sources.ini

The format of this file is `ini [default] command=os-refresh-config [cfn] metadata_url= access_key_id = ABCDEFGHIJLMNOP01234567890 secret_access_key = 01234567890ABCDEFGHIJKLMNOP path = MyResource stack_name = my.stack`

These sources will be polled and whenever any of them changes, 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/run/os-collect-config/ec2.json:/var/run/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

sudo pip install -U git+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.