A python client implementing the Ironic API.
Go to file
Stephen Finucane 54b878238c Remove use of distutils
This has been removed in Python 3.12, which is preventing us using
ironicclient in those environments. Thankfully we only use it for
StrictVersion which we are using to parse microversions. This is
actually overkill here since we can always expect a version string like
'1.5', thus we do this parsing ourselves rather than drag in a new
library like 'microversion_parse'.

Change-Id: I7630ecfa2797c502868994302926bd2ac07d1ff7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-07-25 13:09:40 +01:00
doc Remove old excludes 2024-04-30 22:47:30 +09:00
ironicclient Remove use of distutils 2024-07-25 13:09:40 +01:00
playbooks/functional Fix functional test run 2024-03-07 23:33:41 +00:00
releasenotes Merge "Fixes the description filter" 2024-07-02 12:13:54 +00:00
tools Remove unused check_python_version 2022-07-17 00:44:56 +09:00
zuul.d Merge "[codespell] Adding CI target for Tox Codespell" 2024-02-28 16:58:28 +00:00
.coveragerc Fix coverage target 2016-07-27 14:12:42 -07:00
.gitignore Drop python 2.7 support and testing 2019-11-22 11:08:56 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:29:51 +00:00
.stestr.conf Replace testr with stestr 2017-10-06 07:20:47 +00:00
bindep.txt Fix for missing fonts in PDF jobs 2021-07-26 17:12:02 +02: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
pyproject.toml add pyproject.toml to support pip 23.1 2024-01-19 09:22:39 +08:00
README.rst Add PyPi link to readme.rst 2021-01-03 11:20:52 +08:00
requirements.txt Remove old excludes 2024-04-30 22:47:30 +09:00
setup.cfg Add Service Steps to client 2024-04-19 15:40:59 -07:00
setup.py Cleanup py27 support 2020-04-04 16:50:23 +02:00
test-requirements.txt Remove old excludes 2024-04-30 22:47:30 +09:00
tox.ini Merge "Force constraints when installing a package during tox test" 2024-02-28 14:27:00 +00:00

Python bindings for the Ironic API

Team and repository tags

image

Overview

This is a client for the OpenStack Bare Metal API. It provides:

  • a Python API: the ironicclient module, and
  • a command-line interfaces: openstack baremetal

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

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

Contents:

Project resources

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