Install Openstack Platform 14 Director on Red Hat Enterprise Linux 7.6

At first you have to create a named user stack.

useradd stack
passwd stack

echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack
chmod 0440 /etc/sudoers.d/stack

Create folders for images and temlates.

su - stack
mkdir ~/images
mkdir ~/templates

Set hostname of this server.

sudo hostnamectl set-hostname
sudo hostnamectl set-hostname --transient

Register your server to RHSM and enable needed repositories.

sudo subscription-manager register \
--release=7.6 \
--username=YOURUSER \

sudo subscription-manager list --available --all --matches="Red Hat OpenStack"
sudo subscription-manager attach --pool=YOURPOOLID

sudo subscription-manager repos --disable=*
sudo subscription-manager repos \
--enable=rhel-7-server-rpms \
--enable=rhel-7-server-extras-rpms \
--enable=rhel-7-server-rh-common-rpms \
--enable=rhel-ha-for-rhel-7-server-rpms \
--enable=rhel-7-server-rhceph-3-tools-rpms \

sudo yum update -y
sudo reboot

You have to install python-tripleoclient and some other required packages depends on your environment. I use HPE BL460C Gen9 serveres in my lab so I need python-proliantutils extra package and its dependecies. I will install some usefull packages like telnet and tcpdump as well.

sudo yum install -y python-tripleoclient crudini ceph-ansible python-proliantutils ipmitool telnet tcpdump

Create Docker containers environment file (containers-prepare-parameter.yaml) for later use. I will use –local-push-destination parameter because I like to save Docker images to local registry on this server. Later overcloud nodes will able to connect to this local registry to save bandwith and time for deployment.

openstack tripleo container image prepare default \
--local-push-destination \
--output-env-file containers-prepare-parameter.yaml

Copy the sample undercloud.conf to stack user home directory.

cp /usr/share/python-tripleoclient/undercloud.conf.sample ~/undercloud.conf

Use crudini command to set up your undercloud.conf file. There’re several parameters with comments in the undercloud.conf.sample.

crudini --set ~/undercloud.conf DEFAULT local_interface ens224
crudini --set ~/undercloud.conf DEFAULT local_ip
crudini --set ~/undercloud.conf DEFAULT overcloud_domain_name
crudini --set ~/undercloud.conf DEFAULT undercloud_admin_host
crudini --set ~/undercloud.conf DEFAULT undercloud_hostname
crudini --set ~/undercloud.conf DEFAULT undercloud_nameservers
crudini --set ~/undercloud.conf DEFAULT undercloud_ntp_servers
crudini --set ~/undercloud.conf DEFAULT undercloud_public_host
crudini --set ~/undercloud.conf DEFAULT certificate_generation_ca local
crudini --set ~/undercloud.conf DEFAULT generate_service_certificate true
crudini --set ~/undercloud.conf DEFAULT enable_ui true
crudini --set ~/undercloud.conf ctlplane-subnet cidr
crudini --set ~/undercloud.conf ctlplane-subnet dhcp_end
crudini --set ~/undercloud.conf ctlplane-subnet dhcp_start
crudini --set ~/undercloud.conf ctlplane-subnet gateway
crudini --set ~/undercloud.conf ctlplane-subnet masquerade true
crudini --set ~/undercloud.conf ctlplane-subnet inspection_iprange,
crudini --set ~/undercloud.conf DEFAULT enable_telemetry false
crudini --set ~/undercloud.conf DEFAULT discovery_default_driver ilo
crudini --set ~/undercloud.conf DEFAULT enabled_hardware_types ilo,ipmi,redfish
crudini --set ~/undercloud.conf DEFAULT enable_node_discovery False
crudini --set ~/undercloud.conf DEFAULT ipxe_enabled True
crudini --set ~/undercloud.conf DEFAULT inspection_enable_uefi True
crudini --set ~/undercloud.conf DEFAULT hieradata_override haproxy-hiera-overrides.yaml

Override HAProxy default TLS settings.

cat <<EOF>~/haproxy-hiera-overrides.yaml
tripleo::haproxy::ssl_options: no-sslv3 no-tls-tickets no-tlsv10 no-tlsv11

Let’s install the Undercloud.

openstack undercloud install

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.