Clint Byrum 6eb8eb9af3 Store list of collected configs in cachedir
This will allow tools like os-apply-config to read the list even when
they are run out of band from os-collect-config.

Change-Id: Ic4eaf649e234f4a1367d20c7ec52e93e787a7bb3
2013-09-13 00:39:49 -07:00
2013-06-14 15:30:14 +12:00
2013-03-28 04:05:31 +01:00
2013-03-28 02:37:45 +01:00
2013-08-06 16:14:55 +12:00

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 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=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 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://github.com/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.

Description
Collect and cache metadata, run hooks on changes.
Readme 3.2 MiB
Languages
Python 100%