Setting Up the Undercloud for RHOSP 17.1
SUMMARY Follow this topic to setup the undercloud for a Contrail Networking deployment with RHOSP 17.1.
Follow this topic to setup the undercloud for a Contrail Networking Release 21.4.L4 deployment with RHOSP 17.1. Prior to this enhancement, Contrail Networking was supported in environments with hosts using Kernel-based Virtual Machine (KVM) only.
These instructions apply to both environments.
Install the Undercloud
Use the following example procedure to install the undercloud.
- Log in to the undercloud VM from the undercloud KVM host.
ssh ${undercloud_ip} - Configure the hostname.
undercloud_name=`hostname -s` undercloud_suffix=`hostname -d` hostnamectl set-hostname ${undercloud_name}.${undercloud_suffix} hostnamectl set-hostname --transient ${undercloud_name}.${undercloud_suffix} - Add the hostname to the /etc/hosts file. The following example assumes the management interface is
eth0.
undercloud_ip=`ip addr sh dev eth0 | grep "inet " | awk '{print $2}' | awk -F"/" '{print $1}'` echo ${undercloud_ip} ${undercloud_name}.${undercloud_suffix} ${undercloud_name} >> /etc/hosts - Set up the repositories.
RHEL
#Register with Satellite (can be done with CDN as well) satellite_fqdn=device.example.net act_key=xxx org=example yum localinstall -y http://${satellite_fqdn}/pub/katello-ca-consumer-latest.noarch.rpm subscription-manager register --activationkey=${act_key} --org=${org} - Install the Tripleo client.
yum install -y python-tripleoclient tmux
-
Copy the undercloud configuration file sample and modify the configuration
as required. See Red Hat documentation for
information on how to modify that file.
su - stack cp /usr/share/python-tripleoclient/undercloud.conf.sample ~/undercloud.conf vi ~/undercloud.conf
- Install the undercloud.
openstack undercloud install source stackrc
- If you are using a satellite for deployment, manually
update the hostname and satellite IP addresses in your /etc/hosts/
file.
To perform this procedure using the VI editor:
(undercloud) [stack@osp16-5c5s36 ~]$ sudo vi /etc/hosts
and manually enter your hostname and satellite IP address in the file while using the editor.
This step ensures that the overcloud deployment is successful later in the procedure.
You should also perform this step if the overcloud deployment fails later in the procedure and a failed lookup URL message appears on the console as the reason.
A sample failed lookup URL error message when you experience this issue:.
======================== TASK [redhat-subscription : SATELLITE | Run Satellite 6 tasks] ***************** Tuesday 30 March 2021 12:11:25 -0400 (0:00:00.490) 0:13:39.737 ********* included: /usr/share/ansible/roles/redhat-subscription/tasks/satellite-6.yml for overcloud-controller-0, overcloud-controller-1, overcloud-controller-2 TASK [redhat-subscription : SATELLITE 6 | Set Satellite server CA as a fact] ***Tuesday 30 March 2021 12:11:26 -0400 (0:00:00.730) 0:13:40.467 ********* fatal: [overcloud-controller-0]: FAILED! =) {"msg": "An unhandled exception occurred while running the lookup plugin 'url'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Failed lookup url for : <urlopen error [Errno -2] Name or service not known>"}fatal: [overcloud-controller-1]: FAILED! =) {"msg": "An unhandled exception occurred while running the lookup plugin 'url'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Failed lookup url for : <urlopen error [Errno -2] Name or service not known>"} fatal: [overcloud-controller-2]: FAILED! =) {"msg": "An unhandled exception occurred while running the lookup plugin 'url'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Failed lookup url for : <urlopen error [Errno -2] Name or service not known>"}
See Also
Perform Post-Install Configuration
After installing the undercloud,
- Configure a forwarding path between the provisioning network
and the external network:
sudo iptables -A FORWARD -i br-ctlplane -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o br-ctlplane -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- Add the external API interface:
sudo ip link add name vlan720 link br-ctlplane type vlan id 720 sudo ip addr add 10.2.0.254/24 dev vlan720 sudo ip link set dev vlan720 up
- Add the
stackuser to the docker group:newgrp docker exit su - stack source stackrc
- Manually add the satellite IP address and hostname into the /etc/hosts/ file.