TripleO Overcloud

Deploys a TripleO overcloud from an existing undercloud

Stages Control

Run is broken into the following stages. Omitting any of the flags (or setting it to no) will skip that stage

  • --introspect the overcloud nodes
  • --tag overcloud nodes with proper flavors
  • --deploy overcloud of given --version (see below)
  • Execute --post installation steps (like creating a public network - see below)

Deployment Description

  • --deployment-files: Mandatory.

    Path to a directory, containing heat-templates describing the overcloud deployment. Choose virt to enable preset templates for virtual POC environment (virsh or ovb).

  • --instackenv-file:

    Path to the instackenv.json configuration file used for introspection. For virsh and ovb deployment, infrared can generate this file automatically.

  • --version: TripleO release to install.

    Accepts either an integer for RHEL-OSP release, or a community release name (Liberty, Mitaka, Newton, etc...) for RDO release

  • The following options define the number of nodes in the overcloud:

    --controller-nodes, --compute-nodes, --storage-nodes. If not provided, will try to evaluate the exiting nodes and default to 1 for compute/controller or 0 for storage.

  • --hybrid: Specifies whether deploying a hybrid environment.

    When this flag it set, the user should pass to the --instackenv-file parameter a link to a JSON/YAML file. The file contains information about the bare-metals servers that will be added to the instackenv.json file during introspection.

    Below are examples of a JSON & YAML files in a valid format:

    bm_nodes.yml
    ---
    nodes:
      - "name": "aaa-compute-0"
        "pm_addr": "172.16.0.1"
        "mac": ["00:11:22:33:44:55"]
        "cpu": "8"
        "memory": "32768"
        "disk": "40"
        "arch": "x86_64"
        "pm_type": "pxe_ipmitool"
        "pm_user": "pm_user"
        "pm_password": "pm_password"
        "pm_port": "6230"
    
      - "name": "aaa-compute-1"
        "pm_addr": "172.16.0.1"
        "mac": ["00:11:22:33:44:56"]
        "cpu": "8"
        "memory": "32768"
        "disk": "40"
        "arch": "x86_64"
        "pm_type": "pxe_ipmitool"
        "pm_user": "pm_user"
        "pm_password": "pm_password"
        "pm_port": "6231"
    
    bm_nodes.json
    {
      "nodes": [
        {
         "name": "aaa-compute-0",
         "pm_addr": "172.16.0.1",
         "mac": ["00:11:22:33:44:55"],
         "cpu": "8",
         "memory": "32768",
         "disk": "40",
         "arch": "x86_64",
         "pm_type": "pxe_ipmitool",
         "pm_user": "pm_user",
         "pm_password": "pm_password",
         "pm_port": "6230"
        },
        {
         "name": "aaa-compute-1",
         "pm_addr": "172.16.0.1",
         "mac": ["00:11:22:33:44:56"],
         "cpu": "8",
         "memory": "32768",
         "disk": "40",
         "arch": "x86_64",
         "pm_type": "pxe_ipmitool",
         "pm_user": "pm_user",
         "pm_password": "pm_password",
         "pm_port": "6231"
        }
      ]
    }
    

Overcloud Options

  • --overcloud-ssl: Boolean. Enable SSL for the overcloud services.

  • --overcloud-debug: Boolean. Enable debug mode for the overcloud services.

  • --overcloud-templates: Add extra environment template files or custom templates

    to “overcloud deploy” command. Format:

    sahara.yml
    ---
    tripleo_heat_templates:
        - /usr/share/openstack-tripleo-heat-templates/environments/services/sahara.yaml
    
    ovs-security-groups.yml
    ---
    tripleo_heat_templates:
        []
    
    custom_templates:
        parameter_defaults:
            NeutronOVSFirewallDriver: openvswitch
    
  • --overcloud-script: Customize the script that will deploy the overcloud.

    A path to a *.sh file containing openstack overcloud deploy command. This is for advance users.

  • --heat-templates-basedir: Allows to override the templates base dir

    to be used for deployment. Default value: “/usr/share/openstack-tripleo-heat-templates”

Tripleo Heat Templates configuration options

  • --config-heat: Inject additional Tripleo Heat Templates configuration options under “paramater_defaults”

    entry point. Example:

    --config-heat ComputeExtraConfig.nova::allow_resize_to_same_host=true
    --config-heat NeutronOVSFirewallDriver=openvswitch
    

    should inject the following yaml to “overcloud deploy” command:

    ---
    parameter_defaults:
       ComputeExtraConfig:
           nova::allow_resize_to_same_host: true
       NeutronOVSFirewallDriver: openvswitch
    

Overcloud Public Network

  • --public-network: Bool. Whether to have infrared create a public network on the overcloud.
  • --public-subnet:
    Path to file containing different values for the subnet of the network above.
  • --public-vlan:
    Set this to yes if overcloud’s external network is on a VLAN that’s unreachable from the undercloud. This will configure network access from UnderCloud to overcloud’s API/External(floating IPs) network, creating a new VLAN interface connected to ovs’s br-ctlplane bridge. |NOTE: If your UnderCloud’s network is already configured properly, this could disrupt it, making overcloud API unreachable For more details, see: VALIDATING THE OVERCLOUD

Overcloud Storage

  • --storage-external: Bool
    If no, the overcloud will deploy and manage the storage nodes. If yes the overcloud will connect to an external, per-existing storage service.
  • --storage-backend:
    The type of storage service used as backend.
  • --storage-config:
    Storage configuration (YAML) file.

Composable Roles

InfraRed allows to use custom roles to deploy overcloud. Check the Composable roles page for details.

Overcloud Upgrade

Warning

Before Overcloud upgrade you need to perform upgrade of Undercloud

Upgrade will detect Undercloud version and will upgrade Overcloud to the same version.

  • --upgrade: Bool If yes, the overcloud will be upgraded.

Example:

infrared tripleo-overcloud -v --upgrade yes --deployment-files virt
  • --build: target build to upgrade to

Example:

infrared tripleo-overcloud -v --upgrade yes --build 2017-05-30.1 --deployment-files virt

Note

Upgrade is assuming that Overcloud Deployment script and files/templates, which were used during the initial deployment are available at Undercloud node in home directory of Undercloud user. Deployment script location is assumed to be “~/overcloud_deploy.sh”

Overcloud Update

Warning

Before Overcloud update it’s recommended to update Undercloud

Note

InfraRed supports minor updates from OpenStack 9

Minor update detects Undercloud’s version and updates packages within same version to latest available.

  • --build: target build to update to deprecates: –updateto defaults to None, in which case, update is disabled. possible values: build-date, latest, passed_phase1, z3 and all other labels supported by rhos-release When specified, rhos-release repos would be setup and used for minor updates.

Example:

infrared tripleo-overcloud -v --build latest --deployment-files virt

Note

Minor update expects that Overcloud Deployment script and files/templates, used during the initial deployment, are available at Undercloud node in home directory of Undercloud user. Deployment script location is assumed to be “~/overcloud_deploy.sh”

  • --buildmods: Let you the option to add flags to rhos-release:

    pin - Pin puddle (dereference ‘latest’ links to prevent content from changing). This flag is selected by default
    flea - Enable flea repos.
    unstable - This will enable brew repos or poodles (in old releases).
    none - Use none of those flags.

Note

--buildmods flag is for internal Red Hat usage.