Setting Up the Undercloud
SUMMARY Follow this topic to setting up the undercloud for Contrail Networking deployment with RHOSP 16.1.
Install the Undercloud
Use this 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>"}
Perform Post-Install Configuration
- 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
stack
user to the docker group:newgrp docker exit su - stack source stackrc
- Manually add the satellite IP address and hostname into the /etc/hosts/ file.