This section contains instructions on how to install the undercloud and how to update components after installation.
Log in to your machine (baremetal or VM) where you want to install the undercloud as a non-root user (such as the stack user):
ssh <non-root-user>@<undercloud-machine>
Note
If you don’t have a non-root user created yet, log in as root and create one with following commands:
sudo useradd stack
sudo passwd stack # specify a password
echo "stack ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/stack
sudo chmod 0440 /etc/sudoers.d/stack
su - stack
Note
The undercloud is intended to work correctly with SELinux enforcing, and cannot be installed to a system with SELinux disabled. If SELinux enforcement must be turned off for some reason, it should instead be set to permissive.
Note
vlan tagged interfaces must follow the if_name.vlan_id convention, like for example: eth0.vlan100 or bond0.vlan120.
Enable needed repositories:
RHEL
Enable optional repo:
sudo yum install -y yum-utils sudo yum-config-manager --enable rhelosp-rhel-7-server-opt
Stable Branch
Enable the appropriate repos for the desired release, as indicated below. Do not enable any other repos not explicitly marked for that release.
Newton
Enable latest RDO Newton Delorean repository for all packages
sudo curl -L -o /etc/yum.repos.d/delorean-newton.repo https://trunk.rdoproject.org/centos7-newton/current/delorean.repoEnable the Newton Delorean Deps repository
sudo curl -L -o /etc/yum.repos.d/delorean-deps-newton.repo https://trunk.rdoproject.org/centos7-newton/delorean-deps.repoCeph
Enable the CentOS Storage SIG Ceph/Jewel repository if using Ceph
sudo yum -y install --enablerepo=extras centos-release-ceph-jewel sudo sed -i -e 's%gpgcheck=.*%gpgcheck=0%' /etc/yum.repos.d/CentOS-Ceph-Jewel.repoOcata
Enable latest RDO Ocata Delorean repository for all packages
sudo curl -L -o /etc/yum.repos.d/delorean-ocata.repo https://trunk.rdoproject.org/centos7-ocata/current/delorean.repoEnable the Ocata Delorean Deps repository
sudo curl -L -o /etc/yum.repos.d/delorean-deps-ocata.repo https://trunk.rdoproject.org/centos7-ocata/delorean-deps.repoCeph
Enable the CentOS Storage SIG Ceph/Jewel repository if using Ceph
sudo yum -y install --enablerepo=extras centos-release-ceph-jewel sudo sed -i -e 's%gpgcheck=.*%gpgcheck=0%' /etc/yum.repos.d/CentOS-Ceph-Jewel.repoEnable last known good RDO Trunk Delorean repository for core openstack packages
sudo curl -L -o /etc/yum.repos.d/delorean.repo https://trunk.rdoproject.org/centos7-master/current-passed-ci/delorean.repoEnable latest RDO Trunk Delorean repository only for the TripleO packages
sudo curl -L -o /etc/yum.repos.d/delorean-current.repo https://trunk.rdoproject.org/centos7/current/delorean.repo sudo sed -i 's/\[delorean\]/\[delorean-current\]/' /etc/yum.repos.d/delorean-current.repo sudo /bin/bash -c "cat <<EOF>>/etc/yum.repos.d/delorean-current.repo includepkgs=diskimage-builder,instack,instack-undercloud,os-apply-config,os-collect-config,os-net-config,os-refresh-config,python-tripleoclient,openstack-tripleo-common*,openstack-tripleo-heat-templates,openstack-tripleo-image-elements,openstack-tripleo,openstack-tripleo-puppet-elements,openstack-puppet-modules,openstack-tripleo-ui,puppet-* EOF"Enable the Delorean Deps repository
sudo curl -L -o /etc/yum.repos.d/delorean-deps.repo https://trunk.rdoproject.org/centos7/delorean-deps.repoCeph
Enable the CentOS Storage SIG Ceph/Jewel repository if using Ceph
sudo yum -y install --enablerepo=extras centos-release-ceph-jewel sudo sed -i -e 's%gpgcheck=.*%gpgcheck=0%' /etc/yum.repos.d/CentOS-Ceph-Jewel.repo
Install the yum-plugin-priorities package so that the Delorean repository takes precedence over the main RDO repositories:
sudo yum -y install yum-plugin-priorities
Install the TripleO CLI, which will pull in all other necessary packages as dependencies:
sudo yum install -y python-tripleoclient
Copy in the sample configuration file and edit it to reflect your environment:
cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf
Note
There is a tool available that can help with writing a basic undercloud.conf: Undercloud Configuration Wizard It takes some basic information about the intended overcloud environment and generates sane values for a number of the important options.
Source
Git checkouts of the puppet modules can be used instead of packages. Export the following environment variable:
export DIB_INSTALLTYPE_puppet_modules=sourceIt is also possible to use this functionality to use an in-progress review as part of the undercloud install. See Using an In-Progress Review for details.
SSL
To deploy an undercloud with SSL, see Deploying with SSL.
Validations
Validations will be installed and configured during undercloud installation. You can set
enable_validations = false
inundercloud.conf
to prevent that.Install the undercloud:
openstack undercloud install
Once the install has completed, you should take note of the files stackrc
and
undercloud-passwords.conf
. You can source stackrc
to interact with the
undercloud via the OpenStack command-line client. undercloud-passwords.conf
contains the passwords used for each service in the undercloud. These passwords
will be automatically reused if the undercloud is reinstalled on the same system,
so it is not necessary to copy them to undercloud.conf
.
Note
Any passwords set in undercloud.conf
will take precedence over the ones in
undercloud-passwords.conf
.
Note
openstack undercloud install
can be rerun to reapply changes from
undercloud.conf to the undercloud. Note that this should not be done if an
overcloud has already been deployed or is in progress.
You can upgrade any packages that are installed on the undercloud machine.
Remove all Delorean repositories:
sudo rm /etc/yum.repos.d/delorean*
Enable new Delorean repositories:
Stable Branch
Enable the appropriate repos for the desired release, as indicated below. Do not enable any other repos not explicitly marked for that release.
Newton
Enable latest RDO Newton Delorean repository for all packages
sudo curl -L -o /etc/yum.repos.d/delorean-newton.repo https://trunk.rdoproject.org/centos7-newton/current/delorean.repoEnable the Newton Delorean Deps repository
sudo curl -L -o /etc/yum.repos.d/delorean-deps-newton.repo https://trunk.rdoproject.org/centos7-newton/delorean-deps.repoCeph
Enable the CentOS Storage SIG Ceph/Jewel repository if using Ceph
sudo yum -y install --enablerepo=extras centos-release-ceph-jewel sudo sed -i -e 's%gpgcheck=.*%gpgcheck=0%' /etc/yum.repos.d/CentOS-Ceph-Jewel.repoOcata
Enable latest RDO Ocata Delorean repository for all packages
sudo curl -L -o /etc/yum.repos.d/delorean-ocata.repo https://trunk.rdoproject.org/centos7-ocata/current/delorean.repoEnable the Ocata Delorean Deps repository
sudo curl -L -o /etc/yum.repos.d/delorean-deps-ocata.repo https://trunk.rdoproject.org/centos7-ocata/delorean-deps.repoCeph
Enable the CentOS Storage SIG Ceph/Jewel repository if using Ceph
sudo yum -y install --enablerepo=extras centos-release-ceph-jewel sudo sed -i -e 's%gpgcheck=.*%gpgcheck=0%' /etc/yum.repos.d/CentOS-Ceph-Jewel.repoEnable last known good RDO Trunk Delorean repository for core openstack packages
sudo curl -L -o /etc/yum.repos.d/delorean.repo https://trunk.rdoproject.org/centos7-master/current-passed-ci/delorean.repoEnable latest RDO Trunk Delorean repository only for the TripleO packages
sudo curl -L -o /etc/yum.repos.d/delorean-current.repo https://trunk.rdoproject.org/centos7/current/delorean.repo sudo sed -i 's/\[delorean\]/\[delorean-current\]/' /etc/yum.repos.d/delorean-current.repo sudo /bin/bash -c "cat <<EOF>>/etc/yum.repos.d/delorean-current.repo includepkgs=diskimage-builder,instack,instack-undercloud,os-apply-config,os-collect-config,os-net-config,os-refresh-config,python-tripleoclient,openstack-tripleo-common*,openstack-tripleo-heat-templates,openstack-tripleo-image-elements,openstack-tripleo,openstack-tripleo-puppet-elements,openstack-puppet-modules,openstack-tripleo-ui,puppet-* EOF"Enable the Delorean Deps repository
sudo curl -L -o /etc/yum.repos.d/delorean-deps.repo https://trunk.rdoproject.org/centos7/delorean-deps.repoCeph
Enable the CentOS Storage SIG Ceph/Jewel repository if using Ceph
sudo yum -y install --enablerepo=extras centos-release-ceph-jewel sudo sed -i -e 's%gpgcheck=.*%gpgcheck=0%' /etc/yum.repos.d/CentOS-Ceph-Jewel.repo
Clean the yum cache to ensure only the new repos are used:
sudo yum clean all
Stop services so that they are not restarted by packaging scripts when they are updated. The service restarts will be handled by the undercloud upgrade command after new configuration has been applied.:
sudo systemctl stop openstack-*
sudo systemctl stop neutron-*
sudo systemctl stop openvswitch
sudo systemctl stop httpd
Update the TripleO CLI package:
sudo yum -y update python-tripleoclient
Run the undercloud upgrade command. This command will upgrade all packages and use puppet to apply new configuration and restart all OpenStack services.:
openstack undercloud upgrade
Proceed with Updating Packages on Overcloud Nodes.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.