A python client implementing the Ironic API.
Go to file
Vladyslav Drok 58c39b7a80 Switch to none auth for standalone mode
Currently, during the ironic shell client construction, if only
os_auth_token and endpoint arguments are passed, custom
HTTPClient class based on requests' sessions is used. This is
unnecessary, as there is admin_token auth type in keystoneauth
that does basically the same, eliminating the need for our
custom implementation. Apart from that, there is a none auth,
which requires only passing the desired endpoint to use, so we
can use it too without having to specify fake token strings
anymore. Let's use these auth methods instead and deprecate
HTTPClient.

Also this patch deprecates a bunch of arguments to client.get_client
function, changing them to the standard keystoneauth naming.

DocImpact
Story: 1696791
Task:  11836
Depends-On: https://review.openstack.org/559116
Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8
2018-05-07 13:52:45 +00:00
doc/source Update references to launchpad for storyboard 2018-03-28 12:03:23 -07:00
ironicclient Switch to none auth for standalone mode 2018-05-07 13:52:45 +00:00
playbooks/legacy Switch the CI to hardware types and clean up playbook 2018-03-13 16:06:07 +01:00
releasenotes Switch to none auth for standalone mode 2018-05-07 13:52:45 +00:00
tools Avoid tox_install.sh for constraints support 2017-12-02 16:53:33 +00:00
zuul.d add lower-constraints job 2018-03-22 17:49:37 -04:00
.coveragerc Fix coverage target 2016-07-27 14:12:42 -07:00
.gitignore Ignore .eggs from git 2018-01-10 14:57:09 -05: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 references to launchpad for storyboard 2018-03-28 12:03:23 -07:00
lower-constraints.txt Switch to none auth for standalone mode 2018-05-07 13:52:45 +00:00
requirements.txt Switch to none auth for standalone mode 2018-05-07 13:52:45 +00:00
setup.cfg Add support for RESCUE and UNRESCUE provision states 2018-01-26 01:33:03 +00:00
setup.py Updated from global requirements 2017-03-02 11:54:32 +00:00
test-requirements.txt Updated from global requirements 2018-03-23 01:46:32 +00:00
tox.ini add lower-constraints job 2018-03-22 17:49:37 -04: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
  • two command-line interfaces: openstack baremetal and ironic (deprecated, please use openstack baremetal).

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, Version 2.0, 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)

openstack baremetal CLI

The openstack baremetal command line interface is available when the bare metal plugin (included in this package) is used with the OpenStackClient.

There are two ways to install the OpenStackClient (python-openstackclient) package:

  • along with this python-ironicclient package:

    # pip install python-ironicclient[cli]
  • directly:

    # pip install python-openstackclient

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

$ openstack baremetal node create --driver ipmi

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

ironic CLI (deprecated)

This is deprecated and will be removed in the S* release. Please use the openstack baremetal CLI instead.

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 ipmi driver:

$ ironic node-create -d ipmi

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