heat_template_version: queens description: > Configuration of Octavia as-a-service resources in the overcloud. parameters: ServiceData: default: {} description: Dictionary packing service data type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. type: json DefaultPasswords: default: {} type: json RoleName: default: '' description: Role name on which the service is applied type: string RoleParameters: default: {} description: Parameters specific to the role type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json StackAction: type: string description: > Heat action on performed top-level stack. Note StackUpdateType is set to UPGRADE when a major-version upgrade is in progress. constraints: - allowed_values: ['CREATE', 'UPDATE'] OctaviaPostWorkflowName: description: Mistral workflow name for octavia configuration steps once the overcloud is ready. type: string default: 'tripleo.octavia_post.v1.octavia_post_deploy' OctaviaAmphoraImageName: description: The glance image name used when spawning amphorae. Default is an empty string which will use the file name as the image name. type: string default: '' OctaviaAmphoraImageFilename: description: Filename for the amphora image. Using the default of an empty string will cause a distro specific default to be used. (e.g. /usr/share/openstack-octavia-amphora-images/amphora-x64-haproxy.qcow2 on CentOS and /usr/share/rhosp-director-images/octavia-amphora.qcow2 on Red Hat Enterprise Linux). type: string default: '' OctaviaAmphoraImageTag: default: 'amphora-image' description: Glance image tag for identifying the amphora image. type: string OctaviaAmphoraSshKeyName: type: string default: 'octavia-ssh-key' description: SSH key name. OctaviaAmphoraSshKeyFile: type: string default: '' description: Public key file path. User will be able to SSH into amphorae with the provided key. User may, in most cases, also elevate to root from user 'centos' (CentOS), 'ubuntu' (Ubuntu) or 'cloud-user' (RHEL) (depends on how amphora image was created). Logging in to amphorae provides a convenient way to e.g. debug load balancing services. NovaEnableRbdBackend: default: false description: Whether to enable the Rbd backend for Nova ephemeral storage. type: boolean tags: - role_specific OctaviaControlNetwork: description: The name for the neutron network used for the amphora control network type: string default: 'lb-mgmt-net' OctaviaControlSubnet: description: The name for the neutron subnet used for the amphora control network type: string default: 'lb-mgmt-subnet' OctaviaControlSecurityGroup: description: The name for the neutron security group used to control access on the amphora control network type: string default: 'lb-mgmt-sec-group' OctaviaControlSubnetCidr: description: Subnet for amphora control subnet in CIDR form. type: string default: '192.168.199.0/24' OctaviaControlSubnetGateway: description: IP address for control network gateway type: string default: '192.168.199.1' OctaviaControlSubnetPoolStart: description: First address in amphora control subnet address pool. type: string default: '192.168.199.50' OctaviaControlSubnetPoolEnd: description: First address in amphora control subnet address pool. type: string default: '192.168.199.200' OctaviaCaCertFile: type: string default: '/etc/octavia/certs/ca_01.pem' description: Octavia CA certificate file path. OctaviaCaKeyFile: type: string default: '/etc/octavia/certs/private/cakey.pem' description: Octavia CA private key file path. OctaviaServerCertsKeyPassphrase: constraints: - length: { min: 32, max: 32} description: Passphrase for encrypting Amphora Certificates and Private Keys. Must be exactly 32 characters. type: string hidden: true OctaviaCaKeyPassphrase: description: CA private key passphrase. type: string hidden: true OctaviaClientCertFile: default: '/etc/octavia/certs/client.pem' description: client certificate for amphoras type: string OctaviaGenerateCerts: type: boolean default: false description: Enable internal generation of certificates for secure communication with amphorae for isolated private clouds or systems where security is not a concern. Otherwise, use OctaviaCaCert, OctaviaCaKey, OctaviaCaKeyPassphrase, OctaviaClientCert and OctaviaServerCertsKeyPassphrase to configure Octavia. OctaviaMgmtPortDevName: type: string default: "o-hm0" description: Name of the octavia management network interface using for communication between octavia worker/health-manager with the amphora machine. AdminPassword: description: The password for the keystone admin account, used for monitoring, querying neutron etc. type: string hidden: true OctaviaUserName: description: The username for the Octavia database and keystone accounts. type: string default: 'octavia' OctaviaPassword: description: The password for the Octavia database and keystone accounts. type: string hidden: true OctaviaProjectName: description: The project name for the keystone Octavia account. type: string default: 'service' resources: default_key_pair: type: OS::Nova::KeyPair external_id: default outputs: role_data: description: Role data for the Octavia configuration service value: service_name: octavia_deployment_config upgrade_tasks: [] puppet_config: config_image: '' config_volume: '' step_config: '' docker_config: {} config_settings: {} workflow_tasks: step5: - name: octavia_post_workflow workflow: { get_param: OctaviaPostWorkflowName } input: amp_image_name: { get_param: OctaviaAmphoraImageName } amp_image_filename: {get_param: OctaviaAmphoraImageFilename } amp_image_tag: { get_param: OctaviaAmphoraImageTag } amp_ssh_key_name: { get_param: OctaviaAmphoraSshKeyName } amp_ssh_key_path: { get_param: OctaviaAmphoraSshKeyFile } amp_ssh_key_data: { get_attr: [default_key_pair, public_key] } amp_to_raw: { get_param: NovaEnableRbdBackend } auth_username: { get_param: OctaviaUserName } auth_password: { get_param: OctaviaPassword } auth_project_name: { get_param: OctaviaProjectName } lb_mgmt_net_name: { get_param: OctaviaControlNetwork } lb_mgmt_subnet_name: { get_param: OctaviaControlSubnet } lb_sec_group_name: { get_param: OctaviaControlSubnet } lb_mgmt_subnet_cidr: { get_param: OctaviaControlSubnetCidr } lb_mgmt_subnet_gateway: { get_param: OctaviaControlSubnetGateway } lb_mgmt_subnet_pool_start: { get_param: OctaviaControlSubnetPoolStart } lb_mgmt_subnet_pool_end: { get_param: OctaviaControlSubnetPoolEnd } ca_cert_path: { get_param: OctaviaCaCertFile } ca_private_key_path: { get_param: OctaviaCaKeyFile } ca_passphrase: { get_param: OctaviaCaKeyPassphrase } client_cert_path: { get_param: OctaviaClientCertFile } generate_certs: { get_param: OctaviaGenerateCerts } mgmt_port_dev: { get_param: OctaviaMgmtPortDevName } overcloud_password: { get_param: AdminPassword } overcloud_project: 'admin' overcloud_admin: 'admin' octavia_ansible_playbook: '/usr/share/tripleo-common/playbooks/octavia-files.yaml' overcloud_pub_auth_uri: { get_param: [EndpointMap, KeystoneV3Public, uri] } overcloud_int_auth_uri: { get_param: [EndpointMap, KeystoneInternal, uri] } stack_action: { get_param: StackAction }