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:

  1. Generate the containers-prepare-parameters.yaml file that contains the default ContainerImagePrepare parameters:

    [stack@all-in-one]$ openstack tripleo container image prepare default --output-env-file $HOME/containers-prepare-parameters.yaml
  2. Edit the containers-prepare-parameters.yaml file and include your Red Hat credentials in the ContainerImageRegistryCredentials 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>"
    Note

    To avoid entering your password in plain text, create a Red Hat Service Account. For more information, see Red Hat Container Registry Authentication:

  3. Set the ContainerImageRegistryLogin parameter to true in the containers-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 the openstack tripleo container image prepare command. For more information, see Preparing container images.

  4. 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 interface eth1 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"