Remove virtualbmc specific environment

By default tripleo-quickstart creates virtual environments managed by
VirtualBMC. The documentation for manually creating VirtualBMC
environments predates common usage of quickstart, so now it is
redundant.

This change removes the virtualbmc environment, and refers to the
virtual environment instead, where appropriate.

Change-Id: If4fe81444a70f147ccd4239247025cd5b68c744c
This commit is contained in:
Steve Baker 2022-04-14 15:08:01 +12:00
parent 7c4ff6f931
commit f1a77d1ede
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