1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
Using OpenStack Baremetal
=========================
Before working with the Bare Metal service, you'll need to create a
connection to your OpenStack cloud by following the :doc:`connect` user
guide. This will provide you with the ``conn`` variable used in the examples
below.
.. contents:: Table of Contents
:local:
The primary resource of the Bare Metal service is the **node**.
Below are a few usage examples. For a reference to all the available methods,
see :doc:`/user/proxies/baremetal`.
CRUD operations
~~~~~~~~~~~~~~~
List Nodes
----------
A **node** is a bare metal machine.
.. literalinclude:: ../examples/baremetal/list.py
:pyobject: list_nodes
Full example: `baremetal resource list`_
Provisioning operations
~~~~~~~~~~~~~~~~~~~~~~~
Provisioning actions are the main way to manipulate the nodes. See `Bare Metal
service states documentation`_ for details.
Manage and inspect Node
-----------------------
*Managing* a node in the ``enroll`` provision state validates the management
(IPMI, Redfish, etc) credentials and moves the node to the ``manageable``
state. *Managing* a node in the ``available`` state moves it to the
``manageable`` state. In this state additional actions, such as configuring
RAID or inspecting, are available.
*Inspecting* a node detects its properties by either talking to its BMC or by
booting a special ramdisk.
.. literalinclude:: ../examples/baremetal/provisioning.py
:pyobject: manage_and_inspect_node
Full example: `baremetal provisioning`_
Provide Node
------------
*Providing* a node in the ``manageable`` provision state makes it available
for deployment.
.. literalinclude:: ../examples/baremetal/provisioning.py
:pyobject: provide_node
Full example: `baremetal provisioning`_
.. _baremetal resource list: http://opendev.org/openstack/openstacksdk/src/branch/master/examples/baremetal/list.py
.. _baremetal provisioning: http://opendev.org/openstack/openstacksdk/src/branch/master/examples/baremetal/provisioning.py
.. _Bare Metal service states documentation: https://docs.openstack.org/ironic/latest/contributor/states.html
|