================================== Python bindings for the Ironic API ================================== Team and repository tags ------------------------ .. image:: https://governance.openstack.org/tc/badges/python-ironicclient.svg :target: https://governance.openstack.org/tc/reference/tags/index.html Overview -------- This is a client for the OpenStack `Bare Metal 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:: Contents: :local: Project resources ----------------- * Documentation: https://docs.openstack.org/python-ironicclient/latest/ * Source: https://git.openstack.org/cgit/openstack/python-ironicclient * Bugs: https://storyboard.openstack.org/#!/project/959 * 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 AA:BB:CC:DD:EE:FF An example of updating driver properties for a node:: $ openstack baremetal node set --driver-info ipmi_address= 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= $ ironic node-update nodeUUID add driver_info/ipmi_username= $ ironic node-update nodeUUID add driver_info/ipmi_password= For more information about the ``ironic`` command and the subcommands available, run:: $ ironic help