Karan Anand 8d59cc726c Add mypy infrastructure for type annotation migration
This commit adds the tooling necessary to support gradual type
annotation of the codebase:
- Add mypy to test-requirements.txt
- Add mypy configuration to pyproject.toml with a list of
  type-checked modules (initially empty, to be populated as
  modules are migrated)
- Add tox mypy environment for running type checks
- Add mypy pre-commit hook

This follows the same pattern established in `ironic-prometheus-exporter`.

Change-Id: Ie9e4b5ebccff4ce29b4e014c62f09594d968d721
Signed-off-by: Karan Anand <[email protected]>
2026-02-15 14:55:50 -05:00
2022-07-17 00:44:56 +09:00
2024-11-05 20:40:11 +00:00
2019-11-22 11:08:56 +01:00
2019-04-19 19:29:51 +00:00
2017-10-06 07:20:47 +00:00
2021-07-26 17:12:02 +02:00
2013-09-05 16:35:21 -07:00
2021-01-03 11:20:52 +08:00
2025-06-26 02:15:49 +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
Description
A python client implementing the Ironic API.
Readme 21 MiB
Languages
Python 100%