Merge "[admin docs] ironic -> openstack baremetal CLI"
This commit is contained in:
commit
d6451b6dab
@ -119,25 +119,25 @@ from the ``manageable`` state to ``active`` state::
|
||||
|
||||
# Explicitly set the client API version environment variable to
|
||||
# 1.17, which introduces the adoption capability.
|
||||
export IRONIC_API_VERSION=1.17
|
||||
export OS_BAREMETAL_API_VERSION=1.17
|
||||
|
||||
ironic node-create -n testnode \
|
||||
-d agent_ipmitool \
|
||||
-i ipmi_address=<ip_address> \
|
||||
-i ipmi_username=<username> \
|
||||
-i ipmi_password=<password> \
|
||||
-i deploy_kernel=<deploy_kernel_id_or_url> \
|
||||
-i deploy_ramdisk=<deploy_ramdisk_id_or_url>
|
||||
openstack baremetal node create --name testnode \
|
||||
--driver agent_ipmitool \
|
||||
--driver-info ipmi_address=<ip_address> \
|
||||
--driver-info ipmi_username=<username> \
|
||||
--driver-info ipmi_password=<password> \
|
||||
--driver-info deploy_kernel=<deploy_kernel_id_or_url> \
|
||||
--driver-info deploy_ramdisk=<deploy_ramdisk_id_or_url>
|
||||
|
||||
ironic port-create --node <node_uuid> -a <node_mac_address>
|
||||
openstack baremetal port create <node_mac_address> --node <node_uuid>
|
||||
|
||||
ironic node-update testnode add \
|
||||
instance_info/image_source="http://localhost:8080/blankimage" \
|
||||
instance_info/capabilities="{\"boot_option\": \"local\"}"
|
||||
openstack baremetal node set testnode \
|
||||
--instance-info image_source="http://localhost:8080/blankimage" \
|
||||
--instance-info capabilities="{\"boot_option\": \"local\"}"
|
||||
|
||||
ironic node-set-provision-state testnode manage
|
||||
openstack baremetal node manage testnode --wait
|
||||
|
||||
ironic node-set-provision-state testnode adopt
|
||||
openstack baremetal node adopt testnode --wait
|
||||
|
||||
.. NOTE::
|
||||
In the above example, the image_source setting must reference a valid
|
||||
@ -160,7 +160,7 @@ from the ``manageable`` state to ``active`` state::
|
||||
used to match an instance in the Compute service. Doing so is not
|
||||
required for the proper operation of the Bare Metal service.
|
||||
|
||||
ironic node-update <node name or uuid> add instance_uuid=<uuid>
|
||||
openstack baremetal node set <node name or uuid> --instance-uuid <uuid>
|
||||
|
||||
.. NOTE::
|
||||
In Newton, coupled with API version 1.20, the concept of a
|
||||
@ -180,18 +180,18 @@ upon what driver is selected for the node.
|
||||
Any node that is in the ``adopt failed`` state can have the ``adopt`` verb
|
||||
re-attempted. Example::
|
||||
|
||||
ironic node-set-provision-state <node name or uuid> adopt
|
||||
openstack baremetal node adopt <node name or uuid>
|
||||
|
||||
If a user wishes to abort their attempt at adopting, they can then move
|
||||
the node back to ``manageable`` from ``adopt failed`` state by issuing the
|
||||
``manage`` verb. Example::
|
||||
|
||||
ironic node-set-provision-state <node name or uuid> manage
|
||||
openstack baremetal node manage <node name or uuid>
|
||||
|
||||
If all else fails the hardware node can be removed from the Bare Metal
|
||||
service. The ``node-delete`` command, which is **not** the same as setting
|
||||
service. The ``node delete`` command, which is **not** the same as setting
|
||||
the provision state to ``deleted``, can be used while the node is in
|
||||
``adopt failed`` state. This will delete the node without cleaning
|
||||
occurring to preserve the node's current state. Example::
|
||||
|
||||
ironic node-delete <node name or uuid>
|
||||
openstack baremetal node delete <node name or uuid>
|
||||
|
@ -150,40 +150,42 @@ In the above example, the driver's RAID interface would configure hardware
|
||||
RAID without non-root volumes, and then all devices would be erased
|
||||
(in that order).
|
||||
|
||||
Starting manual cleaning via ``ironic`` CLI
|
||||
-------------------------------------------
|
||||
Starting manual cleaning via "openstack baremetal" CLI
|
||||
------------------------------------------------------
|
||||
|
||||
Manual cleaning is supported in the ``ironic node-set-provision-state``
|
||||
command, starting with python-ironicclient 1.2.
|
||||
Manual cleaning is available via the ``openstack baremetal node clean``
|
||||
command, starting with Bare Metal API version 1.15.
|
||||
|
||||
The target/verb is 'clean' and the argument 'clean-steps' must be specified.
|
||||
Its value is one of:
|
||||
The argument ``--clean-steps`` must be specified. Its value is one of:
|
||||
|
||||
- a JSON string
|
||||
- path to a JSON file whose contents are passed to the API
|
||||
- '-', to read from stdin. This allows piping in the clean steps.
|
||||
Using '-' to signify stdin is common in Unix utilities.
|
||||
|
||||
Keep in mind that manual cleaning is only supported in API version 1.15 and
|
||||
higher.
|
||||
The following examples assume that the Bare Metal API version was set via
|
||||
the ``OS_BAREMETAL_API_VERSION`` environment variable. (The alternative is to
|
||||
add ``--os-baremetal-api-version 1.15`` to the command.)::
|
||||
|
||||
export OS_BAREMETAL_API_VERSION=1.15
|
||||
|
||||
Examples of doing this with a JSON string::
|
||||
|
||||
ironic --ironic-api-version 1.15 node-set-provision-state <node> \
|
||||
clean --clean-steps '[{"interface": "deploy", "step": "erase_devices_metadata"}]'
|
||||
openstack baremetal node clean <node> \
|
||||
--clean-steps '[{"interface": "deploy", "step": "erase_devices_metadata"}]'
|
||||
|
||||
ironic --ironic-api-version 1.15 node-set-provision-state <node> \
|
||||
clean --clean-steps '[{"interface": "deploy", "step": "erase_devices"}]'
|
||||
openstack baremetal node clean <node> \
|
||||
--clean-steps '[{"interface": "deploy", "step": "erase_devices"}]'
|
||||
|
||||
Or with a file::
|
||||
|
||||
ironic --ironic-api-version 1.15 node-set-provision-state <node> \
|
||||
clean --clean-steps my-clean-steps.txt
|
||||
openstack baremetal node clean <node> \
|
||||
--clean-steps my-clean-steps.txt
|
||||
|
||||
Or with stdin::
|
||||
|
||||
cat my-clean-steps.txt | ironic --ironic-api-version 1.15 <node> \
|
||||
node-set-provision-state clean --clean-steps -
|
||||
cat my-clean-steps.txt | openstack baremetal node clean <node> \
|
||||
--clean-steps -
|
||||
|
||||
Cleaning Network
|
||||
================
|
||||
@ -274,11 +276,14 @@ the number of iterations, use the following configuration option::
|
||||
What cleaning step is running?
|
||||
------------------------------
|
||||
To check what cleaning step the node is performing or attempted to perform and
|
||||
failed, either query the node endpoint for the node or run ``ironic node-show
|
||||
$node_ident`` and look in the `driver_internal_info` field. The `clean_steps`
|
||||
field will contain a list of all remaining steps with their priorities, and the
|
||||
first one listed is the step currently in progress or that the node failed
|
||||
before going into ``clean failed`` state.
|
||||
failed, run the following command; it will return the value in the node's
|
||||
``driver_internal_info`` field::
|
||||
|
||||
openstack baremetal node show $node_ident -f value -c driver_internal_info
|
||||
|
||||
The ``clean_steps`` field will contain a list of all remaining steps with their
|
||||
priorities, and the first one listed is the step currently in progress or that
|
||||
the node failed before going into ``clean failed`` state.
|
||||
|
||||
Should I disable automated cleaning?
|
||||
------------------------------------
|
||||
@ -309,8 +314,10 @@ information about the nature of the cleaning failure.
|
||||
|
||||
A ``clean failed`` node can be moved to ``manageable`` state, where it cannot
|
||||
be scheduled by nova and you can safely attempt to fix the node. To move a node
|
||||
from ``clean failed`` to ``manageable``:
|
||||
``ironic node-set-provision-state manage``.
|
||||
from ``clean failed`` to ``manageable``::
|
||||
|
||||
openstack baremetal node manage $node_ident
|
||||
|
||||
You can now take actions on the node, such as replacing a bad disk drive.
|
||||
|
||||
Strategies for determining why a cleaning step failed include checking the
|
||||
@ -324,10 +331,10 @@ to allow it to be scheduled by nova.
|
||||
::
|
||||
|
||||
# First, move it out of maintenance mode
|
||||
ironic node-set-maintenance $node_ident false
|
||||
openstack baremetal node maintenance unset $node_ident
|
||||
|
||||
# Now, make the node available for scheduling by nova
|
||||
ironic node-set-provision-state $node_ident provide
|
||||
openstack baremetal node provide $node_ident
|
||||
|
||||
The node will begin automated cleaning from the start, and move to
|
||||
``available`` state when complete.
|
||||
|
@ -98,22 +98,23 @@ The web console can be configured in Bare Metal service in the following way:
|
||||
|
||||
Enable the web console, for example::
|
||||
|
||||
ironic node-update <node-uuid> add driver_info/<terminal_port>=<customized_port>
|
||||
ironic node-set-console-mode <node-uuid> true
|
||||
openstack baremetal node set <node-uuid> \
|
||||
--driver-info <terminal_port>=<customized_port>
|
||||
openstack baremetal node console enable <node-uuid>
|
||||
|
||||
Check whether the console is enabled, for example::
|
||||
|
||||
ironic node-validate <node-uuid>
|
||||
openstack baremetal node validate <node-uuid>
|
||||
|
||||
Disable the web console, for example::
|
||||
|
||||
ironic node-set-console-mode <node-uuid> false
|
||||
ironic node-update <node-uuid> remove driver_info/<terminal_port>
|
||||
openstack baremetal node console disable <node-uuid>
|
||||
openstack baremetal node unset <node-uuid> --driver-info <terminal_port>
|
||||
|
||||
The ``<terminal_port>`` is driver dependent. The actual name of this field can be
|
||||
checked in driver properties, for example::
|
||||
|
||||
ironic driver-properties <driver>
|
||||
openstack baremetal driver property list <driver>
|
||||
|
||||
For ``*_ipmitool`` and ``*_ipminative`` drivers, this option is ``ipmi_terminal_port``.
|
||||
Give a customized port number to ``<customized_port>``,
|
||||
@ -121,7 +122,7 @@ The web console can be configured in Bare Metal service in the following way:
|
||||
|
||||
Get web console information for a node as follows::
|
||||
|
||||
ironic node-get-console <node-uuid>
|
||||
openstack baremetal node console show <node-uuid>
|
||||
+-----------------+----------------------------------------------------------------------+
|
||||
| Property | Value |
|
||||
+-----------------+----------------------------------------------------------------------+
|
||||
@ -171,22 +172,22 @@ Serial consoles can be configured in the Bare Metal service as follows:
|
||||
|
||||
Enable the serial console, for example::
|
||||
|
||||
ironic node-update <node-uuid> add driver_info/ipmi_terminal_port=<port>
|
||||
ironic node-set-console-mode <node-uuid> true
|
||||
openstack baremetal node set <node-uuid> --driver-info ipmi_terminal_port=<port>
|
||||
openstack baremetal node console enable <node-uuid>
|
||||
|
||||
Check whether the serial console is enabled, for example::
|
||||
|
||||
ironic node-validate <node-uuid>
|
||||
openstack baremetal node validate <node-uuid>
|
||||
|
||||
Disable the serial console, for example::
|
||||
|
||||
ironic node-set-console-mode <node-uuid> false
|
||||
ironic node-update <node-uuid> remove driver_info/ipmi_terminal_port
|
||||
openstack baremetal node console disable <node-uuid>
|
||||
openstack baremetal node unset <node-uuid> --driver-info <ipmi_terminal_port>
|
||||
|
||||
Serial console information is available from the Bare Metal service. Get
|
||||
serial console information for a node from the Bare Metal service as follows::
|
||||
|
||||
ironic node-get-console <node-uuid>
|
||||
openstack baremetal node console show <node-uuid>
|
||||
+-----------------+----------------------------------------------------------------------+
|
||||
| Property | Value |
|
||||
+-----------------+----------------------------------------------------------------------+
|
||||
|
@ -79,14 +79,24 @@ also required in ``driver_info``:
|
||||
|
||||
The following sequence of commands can be used to enroll a UCS Standalone node.
|
||||
|
||||
Create Node::
|
||||
* Create Node::
|
||||
|
||||
ironic node-create -d <pxe_iscsi_cimc OR pxe_agent_cimc> -i cimc_address=<CIMC hostname OR ip-address> -i cimc_username=<cimc_username> -i cimc_password=<cimc_password> -i deploy_kernel=<glance_uuid_of_deploy_kernel> -i deploy_ramdisk=<glance_uuid_of_deploy_ramdisk> -p cpus=<number_of_cpus> -p memory_mb=<memory_size_in_MB> -p local_gb=<local_disk_size_in_GB> -p cpu_arch=<cpu_arch>
|
||||
openstack baremetal node create --driver <pxe_iscsi_cimc OR pxe_agent_cimc> \
|
||||
--driver-info cimc_address=<CIMC hostname OR ip-address> \
|
||||
--driver-info cimc_username=<cimc_username> \
|
||||
--driver-info cimc_password=<cimc_password> \
|
||||
--driver-info deploy_kernel=<glance_uuid_of_deploy_kernel> \
|
||||
--driver-info deploy_ramdisk=<glance_uuid_of_deploy_ramdisk> \
|
||||
--property cpus=<number_of_cpus> \
|
||||
--property memory_mb=<memory_size_in_MB> \
|
||||
--property local_gb=<local_disk_size_in_GB> \
|
||||
--property cpu_arch=<cpu_arch>
|
||||
|
||||
The above command 'ironic node-create' will return UUID of the node, which is the value of $NODE in the following command.
|
||||
The above command 'openstack baremetal node create' will return UUID of the
|
||||
node, which is the value of $NODE in the following command.
|
||||
|
||||
Associate port with the node created::
|
||||
* Associate port with the node created::
|
||||
|
||||
ironic port-create -n $NODE -a <MAC_address_of_Ucs_server's_NIC>
|
||||
openstack baremetal port create --node $NODE <MAC_address_of_Ucs_server's_NIC>
|
||||
|
||||
For more information about enrolling nodes see :ref:`enrollment` in the install guide.
|
||||
|
@ -468,7 +468,11 @@ Nodes configured for iLO driver should have the ``driver`` property set to
|
||||
For example, you could run a similar command like below to enroll the ProLiant
|
||||
node::
|
||||
|
||||
ironic node-create -d iscsi_ilo -i ilo_address=<ilo-ip-address> -i ilo_username=<ilo-username> -i ilo_password=<ilo-password> -i ilo_deploy_iso=<glance-uuid-of-deploy-iso>
|
||||
openstack baremetal node create --driver iscsi_ilo \
|
||||
--driver-info ilo_address=<ilo-ip-address> \
|
||||
--driver-info ilo_username=<ilo-username> \
|
||||
--driver-info ilo_password=<ilo-password> \
|
||||
--driver-info ilo_deploy_iso=<glance-uuid-of-deploy-iso>
|
||||
|
||||
Boot modes
|
||||
~~~~~~~~~~
|
||||
@ -628,7 +632,11 @@ Nodes configured for iLO driver should have the ``driver`` property set to
|
||||
For example, you could run a similar command like below to enroll the ProLiant
|
||||
node::
|
||||
|
||||
ironic node-create -d agent_ilo -i ilo_address=<ilo-ip-address> -i ilo_username=<ilo-username> -i ilo_password=<ilo-password> -i ilo_deploy_iso=<glance-uuid-of-deploy-iso>
|
||||
openstack baremetal node create --driver agent_ilo \
|
||||
--driver-info ilo_address=<ilo-ip-address> \
|
||||
--driver-info ilo_username=<ilo-username> \
|
||||
--driver-info ilo_password=<ilo-password> \
|
||||
--driver-info ilo_deploy_iso=<glance-uuid-of-deploy-iso>
|
||||
|
||||
Boot modes
|
||||
~~~~~~~~~~
|
||||
@ -768,7 +776,12 @@ Nodes configured for iLO driver should have the ``driver`` property set to
|
||||
For example, you could run a similar command like below to enroll the ProLiant
|
||||
node::
|
||||
|
||||
ironic node-create -d pxe_ilo -i ilo_address=<ilo-ip-address> -i ilo_username=<ilo-username> -i ilo_password=<ilo-password> -i deploy_kernel=<glance-uuid-of-pxe-deploy-kernel> -i deploy_ramdisk=<glance-uuid-of-deploy-ramdisk>
|
||||
openstack baremetal node create --driver pxe_ilo \
|
||||
--driver-info ilo_address=<ilo-ip-address> \
|
||||
--driver-info ilo_username=<ilo-username> \
|
||||
--driver-info ilo_password=<ilo-password> \
|
||||
--driver-info deploy_kernel=<glance-uuid-of-pxe-deploy-kernel> \
|
||||
--driver-info deploy_ramdisk=<glance-uuid-of-deploy-ramdisk>
|
||||
|
||||
Boot modes
|
||||
~~~~~~~~~~
|
||||
@ -831,7 +844,7 @@ detection and setting of boot mode (Legacy BIOS or UEFI).
|
||||
|
||||
To configure a node in ``uefi`` mode, then set ``capabilities`` as below::
|
||||
|
||||
ironic node-update <node-uuid> add properties/capabilities='boot_mode:uefi'
|
||||
openstack baremetal node set <node-uuid> --property capabilities='boot_mode:uefi'
|
||||
|
||||
Nodes having ``boot_mode`` set to ``uefi`` may be requested by adding an
|
||||
``extra_spec`` to the nova flavor::
|
||||
@ -878,7 +891,7 @@ The UEFI secure boot can be configured in ironic by adding
|
||||
|
||||
To enable ``secure_boot`` on a node add it to ``capabilities`` as below::
|
||||
|
||||
ironic node-update <node-uuid> add properties/capabilities='secure_boot:true'
|
||||
openstack baremetal node set <node-uuid> --property capabilities='secure_boot:true'
|
||||
|
||||
Alternatively see `Hardware Inspection Support`_ to know how to
|
||||
automatically populate the secure boot capability.
|
||||
|
@ -102,8 +102,9 @@ Steps to enable proxies
|
||||
|
||||
#. Add one or more of ``image_http_proxy``, ``image_https_proxy``,
|
||||
``image_no_proxy`` to driver_info properties in each node that will use the
|
||||
proxy. Please refer to ``ironic driver-properties`` output of the
|
||||
``agent_*`` driver you're using for descriptions of these properties.
|
||||
proxy. Please refer to the ``openstack baremetal driver property list``
|
||||
output of the ``agent_*`` driver you're using for descriptions of these
|
||||
properties.
|
||||
|
||||
Advanced configuration
|
||||
======================
|
||||
@ -123,4 +124,4 @@ that, you have to update the node's ``driver_info`` field and set the
|
||||
``deploy_forces_oob_reboot`` parameter with the value of **True**. For
|
||||
example, the below command sets this configuration in a specific node::
|
||||
|
||||
ironic node-update <UUID or name> add driver_info/deploy_forces_oob_reboot=True
|
||||
openstack baremetal node set <UUID or name> --driver-info deploy_forces_oob_reboot=True
|
||||
|
@ -84,11 +84,13 @@ good practice to have them set:
|
||||
It is highly recommend that you setup a username and password for
|
||||
your BMC.
|
||||
|
||||
The ``ironic node-create`` command can be used to enroll a node with
|
||||
an IPMItool-based driver. For example::
|
||||
The ``openstack baremetal node create`` command can be used to enroll a node
|
||||
with an IPMItool-based driver. For example::
|
||||
|
||||
ironic node-create -d ipmi -i ipmi_address=<address> \
|
||||
-i ipmi_username=<username> -i ipmi_password=<password>
|
||||
openstack baremetal node create --driver ipmi \
|
||||
--driver-info ipmi_address=<address> \
|
||||
--driver-info ipmi_username=<username> \
|
||||
--driver-info ipmi_password=<password>
|
||||
|
||||
Advanced configuration
|
||||
======================
|
||||
@ -133,22 +135,27 @@ The parameter ``ipmi_bridging`` should specify the type of bridging
|
||||
required: *single* or *dual* to access the bare metal node. If the
|
||||
parameter is not specified, the default value will be set to *no*.
|
||||
|
||||
The ``ironic node-update`` command can be used to set the required
|
||||
The ``openstack baremetal node set`` command can be used to set the required
|
||||
bridging information to the Ironic node enrolled with the IPMItool
|
||||
driver. For example:
|
||||
|
||||
* Single Bridging::
|
||||
|
||||
ironic node-update add <UUID or name> driver_info/ipmi_local_address=<address> \
|
||||
driver_info/ipmi_bridging=single driver_info/ipmi_target_channel=<channel> \
|
||||
driver_info/ipmi_target_address=<target address>
|
||||
openstack baremetal node set <UUID or name> \
|
||||
--driver-info ipmi_local_address=<address> \
|
||||
--driver-info ipmi_bridging=single \
|
||||
--driver-info ipmi_target_channel=<channel> \
|
||||
--driver-info ipmi_target_address=<target address>
|
||||
|
||||
* Double Bridging::
|
||||
|
||||
ironic node-update add <UUID or name> driver_info/ipmi_local_address=<address> \
|
||||
driver_info/ipmi_bridging=dual driver_info/ipmi_transit_channel=<transit channel> \
|
||||
driver_info/ipmi_transit_address=<transit address> driver_info/ipmi_target_channel=<target channel> \
|
||||
driver_info/ipmi_target_address=<target address>
|
||||
openstack baremetal node set <UUID or name> \
|
||||
--driver-info ipmi_local_address=<address> \
|
||||
--driver-info ipmi_bridging=dual \
|
||||
--driver-info ipmi_transit_channel=<transit channel> \
|
||||
--driver-info ipmi_transit_address=<transit address> \
|
||||
--driver-info ipmi_target_channel=<target channel> \
|
||||
--driver-info ipmi_target_address=<target address>
|
||||
|
||||
Changing the version of the IPMI protocol
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -162,10 +169,10 @@ the following option needs to be set to the node's ``driver_info`` field:
|
||||
- ``ipmi_protocol_version``: The version of the IPMI protocol; default
|
||||
is *2.0*. Supported values are *1.5* or *2.0*.
|
||||
|
||||
The ``ironic node-update`` command can be used to set the desired
|
||||
The ``openstack baremetal node set`` command can be used to set the desired
|
||||
protocol version::
|
||||
|
||||
ironic node-update add <UUID or name> driver_info/ipmi_protocol_version=<version>
|
||||
openstack baremetal node set <UUID or name> --driver-info ipmi_protocol_version=<version>
|
||||
|
||||
.. warning::
|
||||
Version *1.5* of the IPMI protocol does not support encryption.
|
||||
|
@ -239,18 +239,17 @@ etc. In this case, to be enrolled, the node must have the following parameters:
|
||||
|
||||
To enroll a node with any of the OneView drivers, do::
|
||||
|
||||
$ ironic node-create -d $DRIVER_NAME
|
||||
$ openstack baremetal node create --driver $DRIVER_NAME
|
||||
|
||||
To update the ``driver_info`` field of a newly enrolled OneView node, do::
|
||||
|
||||
$ ironic node-update $NODE_UUID add \
|
||||
driver_info/server_hardware_uri=$SH_URI
|
||||
$ openstack baremetal node set $NODE_UUID --driver-info server_hardware_uri=$SH_URI
|
||||
|
||||
To update the ``properties/capabilities`` namespace of a newly enrolled
|
||||
OneView node, do::
|
||||
|
||||
$ ironic node-update $NODE_UUID add \
|
||||
properties/capabilities=server_hardware_type_uri:$SHT_URI,enclosure_group_uri:$EG_URI,server_profile_template_uri=$SPT_URI
|
||||
$ openstack baremetal node set $NODE_UUID \
|
||||
--property capabilities=server_hardware_type_uri:$SHT_URI,enclosure_group_uri:$EG_URI,server_profile_template_uri=$SPT_URI
|
||||
|
||||
In order to deploy, ironic will create and apply, at boot time, a ``Server
|
||||
Profile`` based on the ``Server Profile Template`` specified on the node to the
|
||||
@ -275,7 +274,7 @@ Interface** of the given ``Server Hardware``.
|
||||
|
||||
To tell ironic which NIC should be connected to the provisioning network, do::
|
||||
|
||||
$ ironic port-create -n $NODE_UUID -a $MAC_ADDRESS
|
||||
$ openstack baremetal port create --node $NODE_UUID $MAC_ADDRESS
|
||||
|
||||
For more information on the enrollment process of an ironic node, see
|
||||
:ref:`enrollment`.
|
||||
|
@ -73,15 +73,26 @@ Nodes configured for UCS driver should have the ``driver`` property set to
|
||||
|
||||
The following sequence of commands can be used to enroll a UCS node.
|
||||
|
||||
Create Node::
|
||||
* Create Node::
|
||||
|
||||
ironic node-create -d <pxe_ucs/agent_ucs> -i ucs_address=<UCS Manager hostname/ip-address> -i ucs_username=<ucsm_username> -i ucs_password=<ucsm_password> -i ucs_service_profile=<service_profile_dn_being_enrolled> -i deploy_kernel=<glance_uuid_of_deploy_kernel> -i deploy_ramdisk=<glance_uuid_of_deploy_ramdisk> -p cpus=<number_of_cpus> -p memory_mb=<memory_size_in_MB> -p local_gb=<local_disk_size_in_GB> -p cpu_arch=<cpu_arch>
|
||||
openstack baremetal node create --driver <pxe_ucs/agent_ucs> \
|
||||
--driver-info ucs_address=<UCS Manager hostname/ip-address> \
|
||||
--driver-info ucs_username=<ucsm_username> \
|
||||
--driver-info ucs_password=<ucsm_password> \
|
||||
--driver-info ucs_service_profile=<service_profile_dn_being_enrolled> \
|
||||
--driver-info deploy_kernel=<glance_uuid_of_deploy_kernel> \
|
||||
--driver-info deploy_ramdisk=<glance_uuid_of_deploy_ramdisk> \
|
||||
--property cpus=<number_of_cpus> \
|
||||
--property memory_mb=<memory_size_in_MB> \
|
||||
--property local_gb=<local_disk_size_in_GB> \
|
||||
--property cpu_arch=<cpu_arch>
|
||||
|
||||
The above command 'ironic node-create' will return UUID of the node, which is the value of $NODE in the following command.
|
||||
The above command 'openstack baremetal node create' will return UUID of the
|
||||
node, which is the value of $NODE in the following command.
|
||||
|
||||
Associate port with the node created::
|
||||
* Associate port with the node created::
|
||||
|
||||
ironic port-create -n $NODE -a <MAC_address_of_Ucs_server's_NIC>
|
||||
openstack baremetal port create --node $NODE <MAC_address_of_Ucs_server's_NIC>
|
||||
|
||||
References
|
||||
==========
|
||||
|
@ -26,11 +26,11 @@ The node should be in MANAGEABLE state before inspection is initiated.
|
||||
|
||||
* Move node to manageable state::
|
||||
|
||||
ironic node-set-provision-state <node_UUID> manage
|
||||
openstack baremetal node manage <node_UUID>
|
||||
|
||||
* Initiate inspection::
|
||||
|
||||
ironic node-set-provision-state <node_UUID> inspect
|
||||
openstack baremetal node inspect <node_UUID>
|
||||
|
||||
.. note::
|
||||
The above commands require the python-ironicclient_ to be version 0.5.0 or greater.
|
||||
|
@ -103,16 +103,9 @@ Configuring nodes
|
||||
and is supported by python-ironicclient version 1.15.0 or higher.
|
||||
|
||||
The following examples assume you are using python-ironicclient version
|
||||
1.15.0 or higher. They show the usage of both ``ironic`` and ``openstack
|
||||
baremetal`` commands.
|
||||
1.15.0 or higher.
|
||||
|
||||
If you're going to use ``ironic`` command, set the following variable in
|
||||
your shell environment::
|
||||
|
||||
export IRONIC_API_VERSION=<API version>
|
||||
|
||||
If you're using ironic client plugin for openstack client via
|
||||
``openstack baremetal`` commands, export the following variable::
|
||||
Export the following variable::
|
||||
|
||||
export OS_BAREMETAL_API_VERSION=<API version>
|
||||
|
||||
@ -120,17 +113,9 @@ Configuring nodes
|
||||
interface. Valid interfaces are listed in the
|
||||
``[DEFAULT]/enabled_network_interfaces`` configuration option in the
|
||||
ironic-conductor's configuration file. Set it to ``neutron`` to use the
|
||||
Networking service's ML2 driver:
|
||||
Networking service's ML2 driver::
|
||||
|
||||
- ``ironic`` command::
|
||||
|
||||
ironic node-create --network-interface neutron \
|
||||
--driver agent-ipmitool
|
||||
|
||||
- ``openstack`` command::
|
||||
|
||||
openstack baremetal node create --network-interface neutron \
|
||||
--driver agent-ipmitool
|
||||
openstack baremetal node create --network-interface neutron --driver ipmi
|
||||
|
||||
.. note::
|
||||
If the ``[DEFAULT]/default_network_interface`` configuration option is
|
||||
@ -138,40 +123,21 @@ Configuring nodes
|
||||
when creating the node.
|
||||
|
||||
#. To update an existing node's network interface to ``neutron``, use the
|
||||
following commands:
|
||||
|
||||
- ``ironic`` command::
|
||||
|
||||
ironic node-update $NODE_UUID_OR_NAME add network_interface=neutron
|
||||
|
||||
- ``openstack`` command::
|
||||
following commands::
|
||||
|
||||
openstack baremetal node set $NODE_UUID_OR_NAME \
|
||||
--network-interface neutron
|
||||
|
||||
#. Create a port as follows:
|
||||
|
||||
- ``ironic`` command::
|
||||
|
||||
ironic port-create -a $HW_MAC_ADDRESS -n $NODE_UUID \
|
||||
-l switch_id=$SWITCH_MAC_ADDRESS -l switch_info=$SWITCH_HOSTNAME \
|
||||
-l port_id=$SWITCH_PORT --pxe-enabled true --physical-network physnet1
|
||||
|
||||
- ``openstack`` command::
|
||||
#. Create a port as follows::
|
||||
|
||||
openstack baremetal port create $HW_MAC_ADDRESS --node $NODE_UUID \
|
||||
--local-link-connection switch_id=$SWITCH_MAC_ADDRESS \
|
||||
--local-link-connection switch_info=$SWITCH_HOSTNAME \
|
||||
--local-link-connection port_id=$SWITCH_PORT --pxe-enabled true \
|
||||
--local-link-connection port_id=$SWITCH_PORT \
|
||||
--pxe-enabled true \
|
||||
--physical-network physnet1
|
||||
|
||||
#. Check the port configuration:
|
||||
|
||||
- ``ironic`` command::
|
||||
|
||||
ironic port-show $PORT_UUID
|
||||
|
||||
- ``openstack`` command::
|
||||
#. Check the port configuration::
|
||||
|
||||
openstack baremetal port show $PORT_UUID
|
||||
|
||||
|
@ -20,8 +20,8 @@ out-of-band.
|
||||
In-band RAID configuration is done using the Ironic Python Agent
|
||||
ramdisk. For in-band RAID configuration using agent ramdisk, a hardware
|
||||
manager which supports RAID should be bundled with the ramdisk.
|
||||
The drivers supporting RAID configuration could be found using the ironic
|
||||
CLI ``ironic node-validate <node-uuid>``.
|
||||
The drivers supporting RAID configuration could be found using the CLI
|
||||
command ``openstack baremetal node validate <node-uuid>``.
|
||||
|
||||
Build agent ramdisk which supports RAID configuration
|
||||
=====================================================
|
||||
@ -62,16 +62,16 @@ done on the node.
|
||||
|
||||
Each dictionary of logical disk contains the desired properties of logical
|
||||
disk supported by the driver. These properties are discoverable by using
|
||||
Ironic CLI or REST API::
|
||||
OpenStackClient CLI or REST API::
|
||||
|
||||
Ironic CLI:
|
||||
ironic --ironic-api-version 1.15 driver-raid-logical-disk-properties <driver name>
|
||||
OpenStackClient CLI:
|
||||
openstack baremetal --os-baremetal-api-version 1.15 driver raid property list <driver name>
|
||||
Ironic REST API:
|
||||
curl -X GET -H "Content-Type: application/json" -H "X-Auth-Token: $AUTH_TOKEN" -H "X-OpenStack-Ironic-API-Version: 1.15" http://<ironic-api-url>/v1/drivers/<driver name>/raid/logical_disk_properties
|
||||
|
||||
The RAID feature is available in ironic API version 1.15 and above.
|
||||
If ``--ironic-api-version`` is not used in the CLI, it will error out with
|
||||
following message::
|
||||
If ``--os-baremetal-api-version`` is not used in the CLI, it will error out
|
||||
with the following message::
|
||||
|
||||
No API version was specified and the requested operation was not
|
||||
supported by the client's negotiated API version 1.9. Supported
|
||||
@ -236,8 +236,8 @@ physical disk found on the bare metal node.
|
||||
|
||||
To get the current RAID configuration::
|
||||
|
||||
Ironic CLI:
|
||||
ironic --ironic-api-version 1.15 node-show <node-uuid-or-name>
|
||||
OpenStackClient CLI:
|
||||
openstack baremetal --os-baremetal-api-version 1.15 node show <node-uuid-or-name>
|
||||
REST API:
|
||||
curl -X GET -H "Content-Type: application/json" -H "X-Auth-Token: $AUTH_TOKEN" -H "X-OpenStack-Ironic-API-Version: 1.15" http://<ironic-api-url>/v1/nodes/<node-uuid-or-name>/states
|
||||
|
||||
@ -256,13 +256,15 @@ Workflow
|
||||
`Target RAID configuration`_. The target RAID configuration is set on
|
||||
the Ironic node::
|
||||
|
||||
Ironic CLI:
|
||||
ironic --ironic-api-version 1.15 node-set-target-raid-config <node-uuid-or-name> <JSON file containing target RAID configuration>
|
||||
OpenStackClient CLI:
|
||||
openstack baremetal --os-baremetal-api-version 1.15 node set <node-uuid-or-name> \
|
||||
--target-raid-config <JSON file containing target RAID configuration>
|
||||
REST API:
|
||||
curl -X PUT -H "Content-Type: application/json" -H "X-Auth-Token: $AUTH_TOKEN" -H "X-OpenStack-Ironic-API-Version: 1.15" -d '<JSON data target RAID configuration>' http://<ironic-api-url>/v1/nodes/<node-uuid-or-name>/states/raid
|
||||
|
||||
The Ironic CLI can accept the input from standard input also:
|
||||
ironic --ironic-api-version 1.15 node-set-target-raid-config <node-uuid-or-name> -
|
||||
The CLI command can accept the input from standard input also:
|
||||
openstack baremetal --os-baremetal-api-version 1.15 node set <node-uuid-or-name> \
|
||||
--target-raid-config -
|
||||
|
||||
* Create a JSON file with the RAID clean steps for manual cleaning. Add other
|
||||
clean steps as desired::
|
||||
@ -286,16 +288,17 @@ Workflow
|
||||
* Bring the node to ``manageable`` state and do a ``clean`` action to start
|
||||
cleaning on the node::
|
||||
|
||||
Ironic CLI:
|
||||
ironic --ironic-api-version 1.15 node-set-provision-state <node-uuid-or-name> clean --clean-steps <JSON file containing clean steps created above>
|
||||
OpenStackClient CLI:
|
||||
openstack baremetal --os-baremetal-api-version 1.15 node clean <node-uuid-or-name> \
|
||||
--clean-steps <JSON file containing clean steps created above>
|
||||
REST API:
|
||||
curl -X PUT -H "Content-Type: application/json" -H "X-Auth-Token: $AUTH_TOKEN" -H "X-OpenStack-Ironic-API-Version: 1.15" -d '{'target': 'clean', 'clean_steps': <JSON description for clean steps as mentioned above>' http://<ironic-api-url>/v1/nodes/<node-uuid-or-name>/states/provision
|
||||
|
||||
* After manual cleaning is complete, the current RAID configuration can be
|
||||
viewed using::
|
||||
|
||||
Ironic CLI:
|
||||
ironic --ironic-api-version 1.15 node-show <node-uuid-or-name>
|
||||
OpenStackClient CLI:
|
||||
openstack baremetal --os-baremetal-api-version 1.15 node show <node-uuid-or-name>
|
||||
REST API:
|
||||
curl -X GET -H "Content-Type: application/json" -H "X-Auth-Token: $AUTH_TOKEN" -H "X-OpenStack-Ironic-API-Version: 1.15" http://<ironic-api-url>/v1/nodes/<node-uuid-or-name>/states
|
||||
|
||||
|
@ -24,25 +24,25 @@ A few things should be checked in this case:
|
||||
maintenance mode and not already used by an existing instance.
|
||||
Check with the following command::
|
||||
|
||||
ironic node-list --provision-state available --maintenance false --associated false
|
||||
openstack baremetal node list --provision-state available --no-maintenance --unassociated
|
||||
|
||||
If this command does not show enough nodes, use generic ``ironic
|
||||
node-list`` to check other nodes. For example, nodes in ``manageable`` state
|
||||
If this command does not show enough nodes, use generic ``openstack baremetal
|
||||
node list`` to check other nodes. For example, nodes in ``manageable`` state
|
||||
should be made available::
|
||||
|
||||
ironic node-set-provision-state <IRONIC NODE> provide
|
||||
openstack baremetal node provide <IRONIC NODE>
|
||||
|
||||
The Bare metal service automatically puts a node in maintenance mode if
|
||||
there are issues with accessing its management interface. Check the power
|
||||
credentials (e.g. ``ipmi_address``, ``ipmi_username`` and ``ipmi_password``)
|
||||
and then move the node out of maintenance mode::
|
||||
|
||||
ironic node-set-maintenance <IRONIC NODE> off
|
||||
openstack baremetal node maintenance unset <IRONIC NODE>
|
||||
|
||||
The ``node-validate`` command can be used to verify that all required fields
|
||||
The ``node validate`` command can be used to verify that all required fields
|
||||
are present. The following command should not return anything::
|
||||
|
||||
ironic node-validate baremetal-0 | grep -E '(power|management)\W*False'
|
||||
openstack baremetal node validate <IRONIC NODE> | grep -E '(power|management)\W*False'
|
||||
|
||||
Maintenance mode will be also set on a node if automated cleaning has
|
||||
failed for it previously.
|
||||
@ -53,7 +53,7 @@ A few things should be checked in this case:
|
||||
values for the keys ``cpus``, ``cpu_arch``, ``memory_mb`` and ``local_gb``.
|
||||
Example of valid properties::
|
||||
|
||||
$ ironic node-show <IRONIC NODE> --fields properties
|
||||
$ openstack baremetal node show <IRONIC NODE> --fields properties
|
||||
+------------+------------------------------------------------------------------------------------+
|
||||
| Property | Value |
|
||||
+------------+------------------------------------------------------------------------------------+
|
||||
@ -86,7 +86,7 @@ A few things should be checked in this case:
|
||||
|
||||
But in Ironic node::
|
||||
|
||||
$ ironic node-show <IRONIC NODE> --fields properties
|
||||
$ openstack baremetal node show <IRONIC NODE> --fields properties
|
||||
+------------+-----------------------------------------+
|
||||
| Property | Value |
|
||||
+------------+-----------------------------------------+
|
||||
|
Loading…
Reference in New Issue
Block a user