Add port groups configuration documentation
Closes-Bug: #1640592 Related-Bug: #1618754 Change-Id: Ib4b670e031402acc151e650e48924129d90595e9
This commit is contained in:
parent
5071b99835
commit
d3e13f6f0b
108
doc/source/deploy/portgroups.rst
Normal file
108
doc/source/deploy/portgroups.rst
Normal file
@ -0,0 +1,108 @@
|
||||
===================
|
||||
Port groups support
|
||||
===================
|
||||
|
||||
The Bare Metal service supports static configuration of port groups (bonds) in
|
||||
the instances via configdrive. See `kernel documentation on bonding`_ to see
|
||||
why it may be useful and how it is setup in linux. The sections below describe
|
||||
how to make use of them in the Bare Metal service.
|
||||
|
||||
Switch-side configuration
|
||||
-------------------------
|
||||
|
||||
If port groups are desired in the ironic deployment, they need to be configured
|
||||
on the switches. It needs to be done manually, and the mode and properties
|
||||
configured on the switch have to correspond to the mode and properties that
|
||||
will be configured on the ironic side, as bonding mode and properties may be
|
||||
named differently on your switch, or have possible values different from the
|
||||
ones described in `kernel documentation on bonding`_. Please refer to your
|
||||
switch configuration documentation for more details. In the future, we may
|
||||
pass the port group mode and properties to ML2 drivers so that they can do the
|
||||
configuration automatically, but it is not supported as of now.
|
||||
|
||||
Provisioning and cleaning cannot make use of port groups if they need to boot
|
||||
the deployment ramdisk via (i)PXE. If your switches or desired port group
|
||||
configuration do not support port group fallback, which will allow port group
|
||||
members to be used by themselves, you need to set port group's
|
||||
``standalone_ports_supported`` value to be ``False`` in ironic, as it is
|
||||
``True`` by default.
|
||||
|
||||
Port groups configuration in the Bare Metal service
|
||||
---------------------------------------------------
|
||||
|
||||
Port group configuration is supported in ironic API microversions 1.26, the
|
||||
CLI commands below specify it for completeness.
|
||||
|
||||
#. When creating a port group, the node to which it belongs must be specified,
|
||||
along with, optionally, its name, address, mode, properties, and if it
|
||||
supports fallback to standalone ports::
|
||||
|
||||
openstack --os-baremetal-api-version 1.26 baremetal port group create \
|
||||
--node $NODE_UUID --name test --address fa:ab:25:48:fd:ba --mode 802.3ad \
|
||||
--property miimon=100 --property xmit_hash_policy="layer2+3" \
|
||||
--support-standalone-ports True
|
||||
|
||||
A port group can also be updated with ``openstack baremetal port group set``
|
||||
command, see its help for more details.
|
||||
|
||||
If an address is not specified, the port group address on the deployed
|
||||
instance will be the same as the address of the neutron port that is
|
||||
attached to the port group. If the neutron port is not attached, the port
|
||||
group will not be configured.
|
||||
|
||||
.. note::
|
||||
|
||||
In standalone mode, port groups have to be configured manually. It can
|
||||
be done either statically inside the image, or by generating the
|
||||
configdrive and adding it to the node's ``instance_info``. For more
|
||||
information on how to configure bonding via configdrive, refer to
|
||||
`cloud-init documentation <https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html#version-2>`_
|
||||
and `code <https://git.launchpad.net/cloud-init/tree/cloudinit>`_.
|
||||
cloud-init version 0.7.7 or later is required for bonding configuration
|
||||
to work.
|
||||
|
||||
If the port group's address is not explicitly set in standalone mode, it
|
||||
will be set automatically by the process described in
|
||||
`kernel documentation on bonding`_.
|
||||
|
||||
During interface attachment, port groups have higher priority than ports,
|
||||
so they will be used first. (It is not yet possible to specify which one is
|
||||
desired, a port group or a port, in an interface attachment request). Port
|
||||
groups that don't have any ports will be ignored.
|
||||
|
||||
The mode and properties values are described in the
|
||||
`kernel documentation on bonding`_. The default port group mode is
|
||||
``active-backup``, and this default can be changed by setting the
|
||||
``[DEFAULT]default_portgroup_mode`` configuration option in the ironic API
|
||||
service configuration file.
|
||||
|
||||
#. Associate ports with the created port group.
|
||||
|
||||
It can be done on port creation::
|
||||
|
||||
openstack --os-baremetal-api-version 1.26 baremetal port create \
|
||||
--node $NODE_UUID --address fa:ab:25:48:fd:ba --port-group test
|
||||
|
||||
Or by updating an existing port::
|
||||
|
||||
openstack --os-baremetal-api-version 1.26 baremetal port set \
|
||||
$PORT_UUID --port-group $PORT_GROUP_UUID
|
||||
|
||||
When updating a port, the node associated with the port has to be in
|
||||
``enroll``, ``manageable``, or ``inspecting`` states. A port group can have
|
||||
the same or different address as individual ports.
|
||||
|
||||
#. Boot an instance (or node directly, in case of using standalone ironic)
|
||||
providing an image that has cloud-init version 0.7.7 or later and supports
|
||||
bonding.
|
||||
|
||||
When the deployment is done, you can check that the port group is set up
|
||||
properly by running the following command in the instance::
|
||||
|
||||
cat /proc/net/bonding/bondX
|
||||
|
||||
where ``X`` is a number autogenerated by cloud-init for each configured port
|
||||
group, in no particular order. It starts with 0 and increments by 1 for every
|
||||
configured port group.
|
||||
|
||||
.. _`kernel documentation on bonding`: https://www.kernel.org/doc/Documentation/networking/bonding.txt
|
@ -161,6 +161,7 @@ of ironic that may or may not be suitable to every situation.
|
||||
Security considerations for your Bare Metal installation <deploy/security>
|
||||
Adopting Nodes in an ACTIVE state <deploy/adoption>
|
||||
Configuring for Multi-tenant Networking <deploy/multitenancy>
|
||||
Configuring for port groups <deploy/portgroups>
|
||||
Configuring node web or serial console <deploy/console>
|
||||
Emitting software metrics <deploy/metrics>
|
||||
Auditing API Traffic <deploy/api-audit-support>
|
||||
|
8
install-guide/source/configure-port-groups.rst
Normal file
8
install-guide/source/configure-port-groups.rst
Normal file
@ -0,0 +1,8 @@
|
||||
.. _configure-port-groups:
|
||||
|
||||
Configure port groups
|
||||
=====================
|
||||
|
||||
See `Port groups configuration in Bare Metal service`_.
|
||||
|
||||
.. _`Port groups configuration in Bare Metal service`: http://docs.openstack.org/developer/ironic/deploy/portgroups.html
|
@ -17,6 +17,7 @@ It contains the following sections:
|
||||
configure-integration.rst
|
||||
configure-cleaning.rst
|
||||
configure-tenant-networks.rst
|
||||
configure-port-groups.rst
|
||||
enrollment.rst
|
||||
enabling-https.rst
|
||||
standalone.rst
|
||||
|
Loading…
Reference in New Issue
Block a user