tripleo-heat-templates/puppet/services/octavia-worker.yaml
Carlos Goncalves 38eee383e5 Define Octavia SSH key name and file path
This will enable Octavia Ansible roles in tripleo-common to get these
values and configure keys for accessing Octavia amphorae via SSH.

This patch also makes the Octavia username and project name
configurable.

Change-Id: I80aa324254e6837e8d3c39e9d05a5e152783f0bb
2018-04-23 09:04:53 +02:00

143 lines
4.8 KiB
YAML

heat_template_version: queens
description: >
OpenStack Octavia Worker service.
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
MonitoringSubscriptionOctaviaWorker:
default: 'overcloud-octavia-worker'
type: string
OctaviaWorkerLoggingSource:
type: json
default:
tag: openstack.octavia.worker
path: /var/log/octavia/worker.log
OctaviaAmphoraImageTag:
default: 'amphora-image'
description: Glance image tag for identifying the amphora image.
type: string
OctaviaAmphoraNetworkList:
default: []
description: List of networks to attach to amphorae.
type: comma_delimited_list
OctaviaAmphoraSshKeyName:
type: string
default: 'octavia-ssh-key'
description: SSH key name.
OctaviaLoadBalancerTopology:
default: ''
description: Load balancer topology configuration.
type: string
OctaviaFlavorId:
default: 65
description: Nova flavor ID to be used when creating the nova flavor for
amphora.
type: number
OctaviaFlavorProperties:
default:
ram : '1024'
disk : '3'
vcpus : '1'
description: Dictionary describing the nova flavor for amphora.
type: json
OctaviaManageNovaFlavor:
default: true
description: Configure the nova flavor for the amphora.
type: boolean
OctaviaClientCertFile:
default: '/etc/octavia/certs/client.pem'
description: client certificate for amphoras
type: string
OctaviaClientCert:
default: ''
description: Client certificate data. If provided, this will create or update
a file on the host with the path provided in OctaviaClientCertFile
with the certificate data.
type: string
OctaviaProjectName:
description: The project name for the keystone Octavia account.
type: string
default: 'service'
conditions:
octavia_topology_unset: {equals : [{get_param: OctaviaLoadBalancerTopology}, ""]}
octavia_client_cert_unset: {equals: [{get_param: OctaviaClientCert}, ""]}
resources:
OctaviaBase:
type: ./octavia-base.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:
description: Role data for the Octavia WoWorker service.
value:
service_name: octavia_worker
monitoring_subscription: {get_param: MonitoringSubscriptionOctaviaWorker}
config_settings:
map_merge:
- get_attr: [OctaviaBase, role_data, config_settings]
- octavia::worker::amp_boot_network_list: {get_param: OctaviaAmphoraNetworkList}
octavia::worker::amp_flavor_id: {get_param: OctaviaFlavorId}
octavia::worker::amp_image_tag: {get_param: OctaviaAmphoraImageTag}
octavia::worker::amp_project_name: {get_param: OctaviaProjectName}
octavia::worker::amp_ssh_key_name: {get_param: OctaviaAmphoraSshKeyName}
octavia::worker::nova_flavor_config: {get_param: OctaviaFlavorProperties}
octavia::worker::manage_nova_flavor: {get_param: OctaviaManageNovaFlavor}
octavia::worker::nova_flavor_config: {get_param: OctaviaFlavorProperties}
octavia::worker::enable_ssh_access: true
octavia::certificates::client_cert: {get_param: OctaviaClientCertFile}
-
if:
- octavia_topology_unset
- {}
- octavia::worker::loadbalancer_topology: {get_param: OctaviaLoadBalancerTopology}
-
if:
- octavia_client_cert_unset
- {}
- octavia::certificates::client_cert_data: {get_param: OctaviaClientCert}
service_config_settings:
fluentd:
tripleo_fluentd_groups_octavia_worker:
- octavia
tripleo_fluentd_sources_octavia_worker:
- {get_param: OctaviaWorkerLoggingSource}
step_config: |
include tripleo::profile::base::octavia::worker