Collect and cache metadata, run hooks on changes.
Go to file
Roman Podoliaka 4a1487ec58 Revert "Support building wheels (PEP-427)"
This reverts commit 9d460a44e4.

The patch being reverted should not have been merged, because
setting universal to True is used to claim in-place python 2/3
compatibility in Wheel packages.

We don't support python 3 yet, so we must not claim the opposite
here (as this would harm end users as soon as we start uploading
Wheel packages to PyPi).

Please see the following links for details:
 - http://pythonwheels.com/
 - http://lists.openstack.org/pipermail/openstack-dev/2013-November/020059.html

Change-Id: I73106d2a1752fa8ee11694c6d9c123a953e6c462
2013-11-29 12:56:17 +02:00
os_collect_config Comply with new hacking requirements 2013-11-18 12:37:15 +00:00
.gitignore Rename to os-apply-config. 2013-06-14 15:30:14 +12:00
.gitreview Update stackforge references to openstack 2013-08-17 22:59:30 -04:00
.testr.conf Remove env vars we don't use. 2013-03-28 04:05:31 +01:00
LICENSE Aligned tests with OpenStack standards. 2013-03-28 03:40:38 +01:00
MANIFEST.in Ensure that README file makes it into the tarball 2013-07-07 11:56:08 -04:00
README.rst Tidy up README.rst, formatting 2013-11-28 18:34:47 +08:00
openstack-common.conf Importing openstack-common using update.py and openstack-common.conf 2013-06-26 17:49:26 -07:00
requirements.txt Updated from global requirements 2013-10-24 13:17:17 +00:00
setup.cfg Revert "Support building wheels (PEP-427)" 2013-11-29 12:56:17 +02:00
setup.py Update requirements 2013-09-13 11:17:07 -05:00
test-requirements.txt Updated from global requirements 2013-11-15 16:50:27 +00:00
tox.ini Ignore H803 checks from flake8 2013-08-06 16:14:55 +12:00

README.rst

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/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

Install:

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