Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

close
keyboard_arrow_left
list Table of Contents
file_download PDF
keyboard_arrow_right

Setting Up the Undercloud

date_range 18-Jul-23

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.

  1. Log in to the undercloud VM from the undercloud KVM host.
    content_copy zoom_out_map
    ssh ${undercloud_ip}
  2. Configure the hostname.
    content_copy zoom_out_map
    undercloud_name=`hostname -s` 
    undercloud_suffix=`hostname -d` 
    hostnamectl set-hostname ${undercloud_name}.${undercloud_suffix} 
    hostnamectl set-hostname --transient ${undercloud_name}.${undercloud_suffix}
  3. Add the hostname to the /etc/hosts file. The following example assumes the management interface is eth0.
    content_copy zoom_out_map
    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
  4. Set up the repositories.

    RHEL

    content_copy zoom_out_map
    #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}
  5. Install the Tripleo client.
    content_copy zoom_out_map
    yum install -y python-tripleoclient tmux
  6. Copy the undercloud configuration file sample and modify the configuration as required. See Red Hat documentation for information on how to modify that file.
    content_copy zoom_out_map
    su - stack 
    cp /usr/share/python-tripleoclient/undercloud.conf.sample ~/undercloud.conf
    vi ~/undercloud.conf
  7. Install the undercloud.
    content_copy zoom_out_map
    openstack undercloud install 
    source stackrc
  8. 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:

    content_copy zoom_out_map
    (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:.

    content_copy zoom_out_map
    ========================
    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

  1. Configure a forwarding path between the provisioning network and the external network:
    content_copy zoom_out_map
    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
  2. Add the external API interface:
    content_copy zoom_out_map
    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
  3. Add the stack user to the docker group:
    content_copy zoom_out_map
    newgrp docker 
    exit 
    su - stack 
    source stackrc
  4. Manually add the satellite IP address and hostname into the /etc/hosts/ file.
external-footer-nav