Introduce Octavia implementation services

Initial service definition files for Octavia backend services.

Change-Id: I1ae2bc0387dff5218f731f1860277dc1ad2b9528
Partially-implements: blueprint octavia-service-integration
Depends-On: Ic6f945cdf36744382a4a63fcc374d5562964ca68
Depends-On: I1dd1873b646e8569ed0a85c5ee7eb3bec3a8b1fa
This commit is contained in:
Brent Eagles 2016-12-16 12:13:57 -03:30
parent b2c7d8a748
commit 474783e448
3 changed files with 233 additions and 0 deletions

View File

@ -0,0 +1,61 @@
heat_template_version: ocata
description: >
OpenStack Octavia Health Manager service.
parameters:
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionOctaviaHealthManager:
default: 'overcloud-octavia-health-manager'
type: string
OctaviaHealthManagerLoggingSource:
type: json
default:
tag: openstack.octavia.health-manager
path: /var/log/octavia/health-manager.log
OctaviaHeartbeatKey:
type: string
description: Key to identify heartbeat messages for amphorae.
hidden: true
resources:
OctaviaBase:
type: ./octavia-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Octavia Health Manager service.
value:
service_name: octavia_health_manager
monitoring_subscription: {get_param: MonitoringSubscriptionOctaviaHealthManager}
logging_source: {get_param: OctaviaHealthManagerLoggingSource}
logging_groups:
- octavia
config_settings:
map_merge:
- get_attr: [OctaviaBase, role_data, config_settings]
- octavia::health_manager::heartbeat_key: {get_param: OctaviaHeartbeatKey}
octavia::health_manager::event_streamer_driver: 'queue_event_streamer'
step_config: |
include tripleo::profile::base::octavia::health_manager

View File

@ -0,0 +1,70 @@
heat_template_version: ocata
description: >
OpenStack Octavia Housekeeping service.
parameters:
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
OctaviaAmphoraExpiryAge:
default: 0
description: The interval in seconds after which an unused Amphora will
be considered expired and cleaned up. If left to 0, the
configuration will not be set and the system will use
the service defaults.
type: number
MonitoringSubscriptionOctaviaHousekeeping:
default: 'overcloud-octavia-housekeeping'
type: string
OctaviaHousekeepingLoggingSource:
type: json
default:
tag: openstack.octavia.housekeeping
path: /var/log/octavia/housekeeping.log
conditions:
amphora_expiry_is_zero: {equals: [{get_param: OctaviaAmphoraExpiryAge}, 0]}
resources:
OctaviaBase:
type: ./octavia-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Octavia Housekeeping service.
value:
service_name: octavia_housekeeping
monitoring_subscription: {get_param: MonitoringSubscriptionOctaviaHousekeeping}
logging_source: {get_param: OctaviaHousekeepingLoggingSource}
logging_groups:
- octavia
config_settings:
map_merge:
- get_attr: [OctaviaBase, role_data, config_settings]
-
if:
- amphora_expiry_is_zero
- {}
- octavia::worker::amphora_expiry_age: {get_param: OctaviaAmphoraExpiryAge}
step_config: |
include tripleo::profile::base::octavia::housekeeping

View File

@ -0,0 +1,102 @@
heat_template_version: ocata
description: >
OpenStack Octavia Worker service.
parameters:
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
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: ''
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
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: {}
description: Dictionary describing the nova flavor for amphora.
type: json
OctaviaManageNovaFlavor:
default: false
description: Configure the nova flavor for the amphora.
type: boolean
OctaviaSSHKeyName:
default: 'octavia-ssh-key'
description: name for ssh key to be configured so the amphora can
be logged into.
type: string
conditions:
octavia_topology_unset: {equals : [{get_param: OctaviaLoadBalancerTopology}, ""]}
octavia_amphora_tag_unset: {equals: [{get_param: OctaviaAmphoraImageTag}, ""]}
resources:
OctaviaBase:
type: ./octavia-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Octavia WoWorker service.
value:
service_name: octavia_worker
monitoring_subscription: {get_param: MonitoringSubscriptionOctaviaWorker}
logging_source: {get_param: OctaviaWorkerLoggingSource}
logging_groups:
-octavia
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::nova_flavor_config: {get_param: OctaviaFlavorProperties}
octavia::worker::manage_nova_flavor: {get_param: OctaviaManageNovaFlavor}
octavia::worker::ssh_key_name: {get_param: OctaviaSSHKeyName}
-
if:
- octavia_amphora_tag_unset
- {}
- octavia::worker::amp_image_tag: {get_param: OctaviaAmphoraImageTag}
-
if:
- octavia_topology_unset
- {}
- octavia::worker::loadbalancer_topology: {get_param: OctaviaLoadBalancerTopology}
step_config: |
include tripleo::profile::base::octavia::worker