Appendix B. Booting Fibre Channel from SAN
The following procedure lists the steps to configure booting a Fibre Channel from SAN before configuring the overcloud and deploying your Red Hat OpenStack Platform cloud.
This procedure lists the steps which differ from the standard steps as described in the Director Installation and Configuration guide.
Make sure you have installed the undercloud by installing the necessary packages and subscribing to the channels as described in the Installing the Undercloud.
After you have completed installing the undercloud, download the images and upload them to the Image service (glance) as described in Obtaining Images for Overcloud Nodes.
Next, you need to set the nameserver on the undercloud’s OpenStack Networking subnet:
On viewing the current
ctlplane-subnet
, you will see there is currently nodns_nameserver
:openstack subnet list openstack subnet show <subnet-uuid>
# openstack subnet list # openstack subnet show <subnet-uuid>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Update this
ctlplane-subnet
to have a DNS nameserver:openstack subnet set --name ctlplane-subnet --dns-nameserver <dns-ip-address>
# openstack subnet set --name ctlplane-subnet --dns-nameserver <dns-ip-address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Check to make sure
dns_nameserver
is present and pingable:openstack subnet show $(openstack subnet list | awk '/ctlplane/ {print $2}') | grep dns_nameservers
# openstack subnet show $(openstack subnet list | awk '/ctlplane/ {print $2}') | grep dns_nameservers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Register the controller and compute nodes for the overcloud as described in the Registering Nodes for the Overcloud.
For example, a template for registering two nodes might look like this:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Here
cougar9
andcougar12
are the nodes respectively.After creating the template, save the file to the stack user’s home directory (
/home/stack/instackenv.json
), then import it into the director using the following commands:openstack overcloud node import ~/instackenv.json
# openstack overcloud node import ~/instackenv.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the nodes are registered:
openstack baremetal node list
# openstack baremetal node list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (Optional) To monitor the logs:
sudo journalctl -l -u openstack-ironic-inspector -u openstack-ironic-inspector-dnsmasq -u openstack-ironic-conductor -f
# sudo journalctl -l -u openstack-ironic-inspector -u openstack-ironic-inspector-dnsmasq -u openstack-ironic-conductor -f
Copy to Clipboard Copied! Toggle word wrap Toggle overflow When the command completes running, the nodes should show
power off
,managed
,false
:openstack baremetal node list
# openstack baremetal node list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Introspect all the nodes:
openstack overcloud node introspect --all-manageable openstack overcloud node provide --all-manageable
# openstack overcloud node introspect --all-manageable # openstack overcloud node provide --all-manageable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Find the
serial
information to let the nodes know where to boot from as shown in the following example:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Tag the nodes to the controller and compute profiles respectively. Check before and after to check the profile changes using the
openstack overcloud profiles list
:openstack baremetal node set --property capabilities='profile:compute,boot_option:local' cougar09 openstack baremetal node set --property capabilities='profile:compute,boot_option:local' cougar12 openstack overcloud profiles list
# openstack baremetal node set --property capabilities='profile:compute,boot_option:local' cougar09 # openstack baremetal node set --property capabilities='profile:compute,boot_option:local' cougar12 # openstack overcloud profiles list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Make sure to check the
openstack flavor list
and update thetemplates/node_data.yaml
file to match accordingly. Ensure your DNS servers are correct and pingable:Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteMake sure that the
control
andcompute
names match the names in thenodes_data.yaml
file:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set up the registry:
For remote registry:
Discover tag:
sudo openstack overcloud container image tag discover \ --image registry.access.redhat.com/rhosp12/openstack-base:latest \ --tag-from-label <12-RELEASE>
# sudo openstack overcloud container image tag discover \ --image registry.access.redhat.com/rhosp12/openstack-base:latest \ --tag-from-label <12-RELEASE>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
rhos12.yaml
file:openstack overcloud container image prepare \ --namespace=registry.access.redhat.com/rhosp12 \ --env-file=/home/stack/rhos12.yaml --prefix=openstack- --suffix=-docker --tag=$TAG
# openstack overcloud container image prepare \ --namespace=registry.access.redhat.com/rhosp12 \ --env-file=/home/stack/rhos12.yaml --prefix=openstack- --suffix=-docker --tag=$TAG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For local registry:
Discover tag:
sudo openstack overcloud container image tag discover \ --image registry.access.redhat.com/rhosp12/openstack-base:latest \ --tag-from-label <12-RELEASE>
# sudo openstack overcloud container image tag discover \ --image registry.access.redhat.com/rhosp12/openstack-base:latest \ --tag-from-label <12-RELEASE>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
container_images.yaml
file:openstack overcloud container image prepare \ --namespace=192.168.24.1:8787/rhosp12 \ --env-file=/home/stack/container_images.yaml --prefix=openstack- \ --suffix=-docker --tag=$TAG
# openstack overcloud container image prepare \ --namespace=192.168.24.1:8787/rhosp12 \ --env-file=/home/stack/container_images.yaml --prefix=openstack- \ --suffix=-docker --tag=$TAG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Upload the container image:
sudo openstack overcloud container image upload --verbose \ --config-file /home/stack/container_images.yaml
# sudo openstack overcloud container image upload --verbose \ --config-file /home/stack/container_images.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the
rhos12.yaml
file:openstack overcloud container image prepare \ --namespace=192.168.24.1:8787/rhosp12 \ --env-file=/home/stack/rhos12.yaml --prefix=openstack- \ --suffix=-docker --tag=$TAG
# openstack overcloud container image prepare \ --namespace=192.168.24.1:8787/rhosp12 \ --env-file=/home/stack/rhos12.yaml --prefix=openstack- \ --suffix=-docker --tag=$TAG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the following line to the
rhos12.yaml
file:parameter_defaults: DockerInsecureRegistryAddress: 192.168.24.1:8787
parameter_defaults: DockerInsecureRegistryAddress: 192.168.24.1:8787
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart the docker service on the undercloud and deploy the overcloud:
systemctl restart docker openstack overcloud deploy --templates \ --libvirt-type kvm \ -e /home/stack/templates/nodes_data.yaml \ -e /home/stack/rhos12.yaml
# systemctl restart docker # openstack overcloud deploy --templates \ --libvirt-type kvm \ -e /home/stack/templates/nodes_data.yaml \ -e /home/stack/rhos12.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
B.1. Enabling Multipath in the Overcloud Nodes Copy linkLink copied to clipboard!
By default, multipath is disabled on the overcloud nodes. In order to enable multipath support on the overcloud nodes, you need to run the following steps:
Add the following configuration options to the
/etc/multipath.conf
file:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start and enable the multipath daemon (
multipathd
):systemctl restart multipathd systemctl status multipathd systemctl is-enabled multipathd
# systemctl restart multipathd # systemctl status multipathd # systemctl is-enabled multipathd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the
wwid
for the specified device to the `wwid`s file:for i in `lsblk --list --paths --nodeps --noheadings --output NAME,MODEL,VENDOR|awk '/Xtrem/ {print $1}'`; do multipath -a $i; done $i all the disk that are the same LAN 4 paths to same LAN
for i in `lsblk --list --paths --nodeps --noheadings --output NAME,MODEL,VENDOR|awk '/Xtrem/ {print $1}'`; do multipath -a $i; done $i all the disk that are the same LAN 4 paths to same LAN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Boot with multipath in
initramfs
,dracut
is a low-level tool for generating aninitramfs
image:/sbin/dracut --force -H --add multipath
/sbin/dracut --force -H --add multipath
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reboot and allow OpenStack to utilize the multipath and verify the reboot:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow