A python client implementing the Ironic API.
Go to file
Jenkins 035aff25d3 Merge "Update volume release notes to fix reno" 2017-07-18 18:32:47 +00:00
doc/source Rearrange existing documentation to fit the new standard layout 2017-07-14 02:12:56 +07:00
ironicclient Merge "Remove useless variables assignment in unit test" 2017-07-18 13:34:19 +00:00
releasenotes Update volume release notes to fix reno 2017-07-18 12:00:55 +00:00
tools Merge "Change os_tenant_name to os_project_name in tests configuration script" 2017-01-25 17:17:41 +00:00
.coveragerc Fix coverage target 2016-07-27 14:12:42 -07:00
.gitignore Update .gitignore to ignore .idea of PyCharm 2016-10-10 14:00:38 +08:00
.gitreview Added .gitreview 2013-05-14 22:28:31 +00:00
.testr.conf Switch tox unit test command to use ostestr 2015-12-15 07:45:07 -08:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-17 09:24:45 -05:00
LICENSE Add initial files 2013-09-05 16:35:21 -07:00
README.rst Replace http with https 2017-07-10 21:28:51 +08:00
requirements.txt Updated from global requirements 2017-07-18 01:55:59 +00:00
setup.cfg Add OSC commands for volume target 2017-07-11 22:48:50 +09:00
setup.py Updated from global requirements 2017-03-02 11:54:32 +00:00
test-requirements.txt Updated from global requirements 2017-07-13 14:23:51 +00:00
tox.ini Merge "Update tox envs list" 2017-01-11 14:58:07 +00:00

README.rst

Team and repository tags

image

Python bindings for the Ironic API

This is a client for the OpenStack Ironic API. It provides a Python API (the ironicclient module) and a command-line interface (ironic).

Development takes place via the usual OpenStack processes as outlined in the developer guide. The master repository is on git.openstack.org.

python-ironicclient is licensed under the Apache License like the rest of OpenStack.

Contents:

Python API

Quick-start Example::

>>> from ironicclient import client >>> >>> kwargs = {'os_auth_token': '3bcc3d3a03f44e3d8377f9247b0ad155', >>> 'ironic_url': 'http://ironic.example.org:6385/'} >>> ironic = client.get_client(1, **kwargs)

Command-line API

This package will install the ironic command line interface that you can use to interact with the ironic API.

In order to use the ironic CLI you'll need to provide your OpenStack tenant, username, password and authentication endpoint. You can do this with the --os-tenant-name, --os-username, --os-password and --os-auth-url parameters, though it may be easier to set them as environment variables:

$ export OS_PROJECT_NAME=project
$ export OS_USERNAME=user
$ export OS_PASSWORD=pass
$ export OS_AUTH_URL=http://auth.example.com:5000/v2.0

To use a specific Ironic API endpoint:

$ export IRONIC_URL=http://ironic.example.com:6385

An example of creating a basic node with the pxe_ipmitool driver:

$ ironic node-create -d pxe_ipmitool

An example of creating a port on a node:

$ ironic port-create -a AA:BB:CC:DD:EE:FF -n nodeUUID

An example of updating driver properties for a node:

$ ironic node-update nodeUUID add driver_info/ipmi_address=<IPaddress>
$ ironic node-update nodeUUID add driver_info/ipmi_username=<username>
$ ironic node-update nodeUUID add driver_info/ipmi_password=<password>

For more information about the ironic command and the subcommands available, run:

$ ironic help

OpenStackClient Baremetal Plugin

In order to use Baremetal Plugin the OpenStackClient should be installed:

# pip install python-openstackclient

An example of creating a basic node with the agent_ipmitool driver:

$ openstack baremetal node create --driver agent_ipmitool

An example of creating a port on a node:

$ openstack baremetal port create --node <UUID> AA:BB:CC:DD:EE:FF

An example of updating driver properties for a node:

$ openstack baremetal node set --driver-info ipmi_address=<IPaddress> <UUID or name>

For more information about the openstack baremetal command and the subcommands available, run:

$ openstack help baremetal

Change logs with information about specific versions (or tags) are available at:

https://git.openstack.org/cgit/openstack/python-ironicclient/.