Merge "Remove virtualbmc specific environment"

This commit is contained in:
Zuul 2022-06-21 09:52:08 +00:00 committed by Gerrit Code Review
commit 9d82d61063
5 changed files with 3 additions and 167 deletions

View File

@ -321,23 +321,8 @@ Generic Hardware Types
.. admonition:: Virtual
:class: virtual
When combined with :doc:`virtualbmc`, this hardware type can be used for
developing and testing TripleO in a virtual environment as well.
.. admonition:: Stable Branch
:class: stable
Prior to the Ocata release, a special ``pxe_ssh`` driver was used for
testing Ironic in the virtual environment. This driver connects to the
hypervisor to conduct management operations on virtual nodes. In case
of this driver, ``pm_addr`` is a hypervisor address, ``pm_user`` is
a SSH user name for accessing hypervisor, ``pm_password`` is a private
SSH key for accessing hypervisor. Note that private key must not be
encrypted.
.. warning::
The ``pxe_ssh`` driver is deprecated and ``pxe_ipmitool`` +
:doc:`virtualbmc` should be used instead.
This hardware type can be used for developing and testing TripleO in a
:doc:`virtual` as well.
* Another generic hardware type is redfish_. It provides support for the
quite new `Redfish standard`_, which aims to replace IPMI eventually as

View File

@ -10,4 +10,3 @@ section contains instructions on how to setup your environments properly.
standalone
virtual
baremetal
virtualbmc

View File

@ -1,142 +0,0 @@
VirtualBMC
==========
VirtualBMC_ is a small CLI that allows users to create a virtual BMC_
to manage a virtual machines using the IPMI_ protocol, similar to how real
bare metal machines are managed. It can be used to to enable testing
bare metal deployments in completely virtual environments.
.. admonition:: Stable Branch
:class: stable
Ironic also ships a ``pxe_ssh`` driver that can be used for that purpose,
but it has been deprecated and its use is discouraged.
.. warning::
VirtualBMC is not meant for production environments.
Installation
------------
VirtualBMC is available from RDO repositories starting with the Ocata release::
sudo yum install -y python-virtualbmc
It is usually installed and used on the hypervisor where the virtual machines
reside.
.. _create-vbmc:
Creating virtual BMC
--------------------
Every virtual machine needs its own virtual BMC. Create it with::
vbmc add <domain> --port 6230 --username admin --password password
.. note::
You need to use a different port for each domain. Port numbers
lower than 1025 requires the user to have root privilege in the system.
.. note::
For **tripleo-quickstart** you may have to specify
``--libvirt-uri=qemu:///session``.
Start the virtual BMCs::
vbmc start <domain>
.. warning::
This step has to be repeated after virtual host reboot.
Test the virtual BMC to see if it's working. For example, to power on
the virtual machine do::
ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6230 power on
Enrolling virtual machines
--------------------------
In the undercloud, populate the ``instackenv.json`` with new "bare metals"
in a similar way to real bare metal machines (see :ref:`instackenv`) with
two exceptions:
* set ``pm_port`` to the port you specified when `Creating virtual BMC`
* populate ``mac`` field even if you plan to use introspection
For example:
.. code-block:: json
{
"nodes": [
{
"pm_type": "ipmi",
"mac": [
"00:0a:f2:88:12:aa"
],
"pm_user": "admin",
"pm_password": "password",
"pm_addr": "172.16.0.1",
"pm_port": "6230",
"name": "compute-0"
}
]
}
Migrating from pxe_ssh to VirtualBMC
------------------------------------
If you already have a virtual cloud deployed and want to migrate from the
deprecated ``pxe_ssh`` driver to ``ipmi`` using VirtualBMC,
follow `Creating virtual BMC`_, then update the existing nodes to change
their drivers and certain driver properties:
.. code-block:: bash
openstack baremetal node set $NODE_UUID_OR_NAME \
--driver ipmi \
--driver-info ipmi_address=<IP address of the virthost> \
--driver-info ipmi_port=<Virtual BMC port> \
--driver-info ipmi_username="admin" \
--driver-info ipmi_password="password"
.. admonition:: Stable Branch
:class: stable
For the Ocata release, use ``pxe_ipmitool`` driver instead of ``ipmi``.
In the case of bare metal service in the overcloud, you will first have to
configure the deployment to include the pxe_ipmitool driver, then rerun the
deployment command,
for example:
.. code-block:: yaml
parameter_defaults:
IronicEnabledDrivers:
- pxe_ipmitool
- pxe_ssh
Before updating to Pike release, make sure to remove the pxe_ssh driver from the
deployment configuration, as it will be removed from Ironic, then rerun
the deployment command,
for example:
.. code-block:: yaml
parameter_defaults:
IronicEnabledDrivers:
- pxe_ipmitool
To validate after updating deployment and verify everything is populated properly:
.. code-block:: bash
openstack baremetal node validate $NODE_UUID_OR_NAME | grep power
.. _VirtualBMC: https://opendev.org/openstack/virtualbmc
.. _IPMI: https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface
.. _BMC: https://en.wikipedia.org/wiki/Baseboard_management_controller

View File

@ -55,12 +55,6 @@ TripleO workflows. E.g. for node using IPMI::
TripleO-specific, e.g. they force local boot instead of network boot used
by default in Ironic.
.. note::
If you use :doc:`../environments/virtualbmc`, make sure to follow
:ref:`create-vbmc` for the overcloud nodes as well, and correctly populate
``ipmi_port``. If needed, change ``ipmi_address`` to the address of the
virtual host, which is accessible from controllers.
Then enroll only ``undercloud.json`` in your undercloud::
source stackrc

View File

@ -46,7 +46,7 @@ registration process (which may hang due to this), it means that Ironic is
unable to verify power management credentials, and you need to fix them.
Check the ``pm_addr``, ``pm_user`` and ``pm_password`` fields in your
``instackenv.json``. In some cases (e.g. when using
:doc:`../environments/virtualbmc`) you also need a correct ``pm_port``.
:doc:`../environments/virtual`) you also need a correct ``pm_port``.
Update the node as explained in `Fixing invalid node information`_.
Fixing invalid node information