A python client implementing the Ironic API.
Go to file
Pavlo Shchelokovskyy 61c5eba5f2 Do not use urljoin in base http client
this fails when ironic API endpoint is not in the form
"host:port", but "host/vhost" instead
(as when ironic-api is deployed behind Apache),
since the 'vhost' gets swallowed by 'urljoin'.

This leads to a failure when using ironicclient with token and
endpoint passed in, otherwise a SessionClient is used that does
not have this problem.

Simply concat those url parts together (ensuring there is at least a
single '/' between them).

Change-Id: I583e0f9bdc81a655861c6ff508782173021428f0
Closes-Bug: #1721599
2017-10-06 07:59:02 +00:00
doc/source Fix to use "." to source script files 2017-09-01 22:43:08 +08:00
ironicclient Do not use urljoin in base http client 2017-10-06 07:59:02 +00:00
releasenotes Do not use urljoin in base http client 2017-10-06 07:59:02 +00:00
tools Pass os_identity_api_version into functional tests 2017-07-31 17:17:45 +03:00
.coveragerc Fix coverage target 2016-07-27 14:12:42 -07:00
.gitignore Replace testr with stestr 2017-10-06 07:20:47 +00:00
.gitreview Added .gitreview 2013-05-14 22:28:31 +00:00
.stestr.conf Replace testr with stestr 2017-10-06 07:20:47 +00:00
CONTRIBUTING.rst Update the documentation link for doc migration 2017-08-02 08:35:17 +00:00
LICENSE Add initial files 2013-09-05 16:35:21 -07:00
README.rst Update and optimize documentation links 2017-07-18 16:53:39 +08:00
requirements.txt Do not depend on python-openstackclient 2017-09-18 12:37:09 +03:00
setup.cfg Updated from global requirements 2017-09-24 12:27:45 +00:00
setup.py Updated from global requirements 2017-03-02 11:54:32 +00:00
test-requirements.txt Merge "Do not depend on python-openstackclient" 2017-09-23 19:24:15 +00:00
tox.ini Replace testr with stestr 2017-10-06 07:20:47 +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/.