Chapter 4. Configuring the all-in-one Red Hat OpenStack Platform environment
To create an all-in-one Red Hat OpenStack Platform environment, include four environment files with the openstack tripleo deploy
command. You must create two of the configuration files, shown below:
- $HOME/containers-prepare-parameters.yaml
- $HOME/standalone_parameters.yaml
For more information see Section 4.1, “Generating YAML files for the all-in-one Red Hat OpenStack Platform (RHOSP) environment”.
Two environment files are provided for you in the /usr/share/openstack-tripleo-heat-templates/
directory:
- /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml
- /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
You can customize the all-in-one environment for development or testing. Include modified values for the parameters in either the standalone-tripleo.yaml
or Standalone.yaml
configuration files in a newly created yaml file in your home directory. Include this file in the openstack tripleo deploy
command.
4.1. Generating YAML files for the all-in-one Red Hat OpenStack Platform (RHOSP) environment
To generate the containers-prepare-parameters.yaml
and standalone_parameters.yaml
files, complete the following steps:
Generate the
containers-prepare-parameters.yaml
file that contains the defaultContainerImagePrepare
parameters:[stack@all-in-one]$ openstack tripleo container image prepare default --output-env-file $HOME/containers-prepare-parameters.yaml
Edit the
containers-prepare-parameters.yaml
file and include your Red Hat credentials in theContainerImageRegistryCredentials
parameter so that the deployment process can authenticate with registry.redhat.io and pull container images successfully:parameter_defaults: ContainerImagePrepare: ... ContainerImageRegistryCredentials: registry.redhat.io: <USERNAME>: "<PASSWORD>"
NoteTo avoid entering your password in plain text, create a Red Hat Service Account. For more information, see Red Hat Container Registry Authentication:
Set the
ContainerImageRegistryLogin
parameter totrue
in thecontainers-prepare-parameters.yaml
:parameter_defaults: ContainerImagePrepare: ... ContainerImageRegistryCredentials: registry.redhat.io: <USERNAME>: "<PASSWORD>" ContainerImageRegistryLogin: true
If you want to use the all-in-one host as the container registry, omit this parameter and include
--local-push-destination
in theopenstack tripleo container image prepare
command. For more information, see Preparing container images.Create the
$HOME/standalone_parameters.yaml
file and configure basic parameters for your all-in-one RHOSP environment, including network configuration and some deployment options. In this example, network interfaceeth1
is the interface on the management network that you use to deploy RHOSP.eth1
has the IP address 192.168.25.2:[stack@all-in-one]$ export IP=192.168.25.2 [stack@all-in-one]$ export VIP=192.168.25.3 [stack@all-in-one]$ export NETMASK=24 [stack@all-in-one]$ export INTERFACE=eth1 [stack@all-in-one]$ export DNS1=1.1.1.1 [stack@all-in-one]$ export DNS2=8.8.8.8 [stack@all-in-one]$ cat <<EOF > $HOME/standalone_parameters.yaml parameter_defaults: CloudName: $IP CloudDomain: localdomain ControlPlaneStaticRoutes: [] Debug: true DeploymentUser: $USER KernelIpNonLocalBind: 1 DockerInsecureRegistryAddress: - $IP:8787 NeutronPublicInterface: $INTERFACE NeutronDnsDomain: localdomain NeutronBridgeMappings: datacentre:br-ctlplane NeutronPhysicalBridge: br-ctlplane StandaloneEnableRoutedNetworks: false StandaloneHomeDir: $HOME StandaloneLocalMtu: 1500 EOF
If you use only a single network interface, you must define the default route:
ControlPlaneStaticRoutes: - ip_netmask: 0.0.0.0/0 next_hop: $GATEWAY default: true
If you have an internal time source, or if your environment blocks access to external time sources, use the
NtpServer
parameter to define the time source that you want to use:parameter_defaults: NtpServer: - clock.example.com
If you want to use the all-in-one RHOSP installation in a virtual environment, you must define the virtualization type with the
NovaComputeLibvirtType
parameter:parameter_defaults: NovaComputeLibvirtType: qemu
The Load-balancing service (octavia) does not require that you configure SSH. However, if you want SSH access to the load-balancing instances (amphorae), add the
OctaviaAmphoraSshKeyFile
parameter with a value of the absolute path to your public key file for the stack user:OctaviaAmphoraSshKeyFile: "/home/stack/.ssh/id_rsa.pub"