Hardware introspection daemon for OpenStack Ironic
Go to file
Dmitry Tantsur edba0ebdee Requires eventlet 2014-10-07 12:18:37 +02:00
bin Added main script and updated setup.py 2014-10-03 13:16:43 +02:00
ironic_discoverd Small wording fix 2014-10-07 12:13:35 +02:00
.gitignore New structure, getting ready for PyPI 2014-10-02 18:17:38 +02:00
.travis.yml Enable Travis and make test 2014-10-02 18:37:01 +02:00
LICENSE Apache license 2014-10-03 17:15:55 +02:00
MANIFEST.in Apache license 2014-10-03 17:15:55 +02:00
Makefile Update README and drop make run target 2014-10-03 16:56:40 +02:00
README.rst Fixed for README 2014-10-06 12:17:38 +02:00
example.conf Enhance example.conf with documentation 2014-10-06 15:34:09 +02:00
requirements.txt (Try to) switch to eventlet 2014-10-06 19:45:06 +02:00
setup.py Requires eventlet 2014-10-07 12:18:37 +02:00

README.rst

Hardware properties discovery for OpenStack Ironic

image

Running

We're available on PyPI:

pip install ironic-discoverd
ironic-discoverd /path/to/conf

Or you can test locally:

make test_env  # only the first time
make test  # run tests
.env/bin/python setup.py develop
.env/bin/ironic-discoverd example.conf

Of course you may want to modify example.conf to match your OpenStack environment.

API

HTTP API consist of 2 endpoints:

  • /v1/discover initiate hardware discovery. Request body: JSON - list of UUID's of nodes to discover. All power management configuration for these nodes needs to be done prior to calling the endpoint.

    Note

    Right now this endpoint is not authenticated. It will switch to OpenStack authentication in the near future.

  • /v1/continue intertnal endpoint for the discovery ramdisk to post back discovered data. Should not be used fofr anything other than implementing the ramdisk. Request body: JSON dictionary with keys:

    • cpus number of CPU
    • cpu_arch architecture of the CPU
    • memory_mb RAM in MiB
    • local_gb hard drive size in GiB
    • macs list of MAC addresses for all NIC's