Add ironicclient/osc/command.py with Command, Lister, and ShowOne subclasses that annotate ``app`` so that ``self.app.client_manager.baremetal`` is a known attribute, removing the need for ``# type: ignore[attr-defined]`` in command implementations. This follows the same pattern as python-openstackclient (see review.opendev.org/970681). Also add collections.abc and typing to [hacking] import_exceptions in tox.ini, allowing multi-name imports on a single line (matching the Nova convention). Change-Id: Ifebbbf5ed5d58e1d5e918ae7b426f1cf0f42f135 Signed-off-by: Karan Anand <anandkarancompsci@gmail.com>
Python bindings for the Ironic API
Team and repository tags
Overview
This is a client for the OpenStack Bare Metal API. It provides:
- a Python API: the
ironicclientmodule, 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
- Documentation: https://docs.openstack.org/python-ironicclient/latest/
- Source: https://opendev.org/openstack/python-ironicclient
- PyPi: https://pypi.org/project/python-ironicclient
- Bugs: https://bugs.launchpad.net/python-ironicclient
- Release notes: https://docs.openstack.org/releasenotes/python-ironicclient/
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