Chapter 4. Configuring the all-in-one Red Hat OpenStack Platform environment

You must create the following configuration files manually before you can deploy the all-in-one Red Hat OpenStack Platform environment:

  • $HOME/containers-prepare-parameters.yaml
  • $HOME/standalone_parameters.yaml

If you want to customize the all-in-one environment for development or testing, edit the following configuration files:

  • /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml
  • /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml

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]$ sudo 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 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: <DOMAIN_NAME>
      ControlPlaneStaticRoutes: []
      Debug: true
      DeploymentUser: $USER
      DnsServers:
        - $DNS1
        - $DNS2
      NeutronPublicInterface: $INTERFACE
      NeutronDnsDomain: localdomain
      NeutronBridgeMappings: datacentre:br-ctlplane
      NeutronPhysicalBridge: br-ctlplane
      StandaloneEnableRoutedNetworks: false
      StandaloneHomeDir: $HOME
      StandaloneLocalMtu: 1500
    EOF

    You must configure the DnsServers parameter with your DNS address. You can find this address in the /etc/resolv.conf file:

    [stack@all-in-one]$ cat /etc/resolv.conf
    192.168.122.1

    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 StandaloneExtraConfig parameter:

    parameter_defaults:
      StandaloneExtraConfig:
        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"