Merge "step1: flatten the designate service configurations"

This commit is contained in:
Zuul 2019-02-16 02:32:11 +00:00 committed by Gerrit Code Review
commit 209e438a73
10 changed files with 103 additions and 336 deletions

View File

@ -14,8 +14,8 @@ resource_registry:
OS::TripleO::Services::PacemakerRemote: ../../puppet/services/pacemaker_remote.yaml
OS::TripleO::Services::Clustercheck: ../../docker/services/pacemaker/clustercheck.yaml
OS::TripleO::Services::MySQL: ../../docker/services/pacemaker/database/mysql.yaml
OS::TripleO::Services::DesignateApi: ../../docker/services/designate-api.yaml
OS::TripleO::Services::DesignateCentral: ../../docker/services/designate-central.yaml
OS::TripleO::Services::DesignateApi: ../../deployment/designate/designate-api-container-puppet.yaml
OS::TripleO::Services::DesignateCentral: ../../deployment/designate/designate-central-container-puppet.yaml
OS::TripleO::Services::DesignateProducer: ../../docker/services/designate-producer.yaml
OS::TripleO::Services::DesignateWorker: ../../docker/services/designate-worker.yaml
OS::TripleO::Services::DesignateMDNS: ../../docker/services/designate-mdns.yaml

View File

@ -19,8 +19,8 @@ resource_registry:
OS::TripleO::Services::PacemakerRemote: ../../puppet/services/pacemaker_remote.yaml
OS::TripleO::Services::Clustercheck: ../../docker/services/pacemaker/clustercheck.yaml
OS::TripleO::Services::MySQL: ../../docker/services/pacemaker/database/mysql.yaml
OS::TripleO::Services::DesignateApi: ../../docker/services/designate-api.yaml
OS::TripleO::Services::DesignateCentral: ../../docker/services/designate-central.yaml
OS::TripleO::Services::DesignateApi: ../../deployment/designate/designate-api-container-puppet.yaml
OS::TripleO::Services::DesignateCentral: ../../deployment/designate/designate-central-container-puppet.yaml
OS::TripleO::Services::DesignateProducer: ../../docker/services/designate-producer.yaml
OS::TripleO::Services::DesignateWorker: ../../docker/services/designate-worker.yaml
OS::TripleO::Services::DesignateMDNS: ../../docker/services/designate-mdns.yaml

View File

@ -44,6 +44,17 @@ parameters:
description: The password for the Designate's database account.
type: string
hidden: true
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionDesignateApi:
default: 'overcloud-designate-api'
type: string
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
@ -51,7 +62,7 @@ conditions:
resources:
ContainersCommon:
type: ./containers-common.yaml
type: ../../docker/services/containers-common.yaml
DesignateBase:
type: ../../puppet/services/designate-base.yaml
@ -63,21 +74,12 @@ resources:
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
DesignateApiBase:
type: ../../puppet/services/designate-api.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:
description: Role data for the Designate API role.
value:
service_name: {get_attr: [DesignateApiBase, role_data, service_name]}
service_name: designate_api
monitoring_subscription: {get_param: MonitoringSubscriptionDesignateApi}
config_settings:
map_merge:
- get_attr: [DesignateBase, role_data, config_settings]
@ -102,12 +104,25 @@ outputs:
- designate_workers_zero
- {}
- designate::api::workers: {get_param: DesignateWorkers}
service_config_settings: {get_attr: [DesignateApiBase, role_data, service_config_settings]}
service_config_settings:
keystone:
designate::keystone::auth::tenant: 'service'
designate::keystone::auth::public_url: {get_param: [EndpointMap, DesignatePublic, uri_no_suffix]}
designate::keystone::auth::internal_url: { get_param: [ EndpointMap, DesignateInternal, uri_no_suffix ] }
designate::keystone::auth::admin_url: { get_param: [ EndpointMap, DesignateAdmin, uri_no_suffix ] }
designate::keystone::auth::password: {get_param: DesignatePassword}
designate::keystone::auth::region: {get_param: KeystoneRegion}
neutron_api:
neutron::designate::password: {get_param: NeutronPassword}
neutron::designate::url: {get_param: [EndpointMap, DesignateInternal, uri]}
neutron::designate::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
neutron::designate::project_name: 'service'
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: designate
puppet_tags: designate_config
step_config: {get_attr: [DesignateApiBase, role_data, step_config]}
step_config: |
include tripleo::profile::base::designate::api
config_image: {get_param: DockerDesignateConfigImage}
kolla_config:
/var/lib/kolla/config_files/designate_api.json:

View File

@ -36,15 +36,31 @@ parameters:
default: {}
description: Parameters specific to the role
type: json
MonitoringSubscriptionDesignateCentral:
default: 'overcloud-designate-central'
type: string
DesignateWorkers:
default: 0
description: Number of workers for Designate services.
type: number
DesignatePassword:
description: The password for the Designate's database account.
type: string
hidden: true
DesignatePools:
description: The content for Designate's pools.yaml
type: string
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
resources:
ContainersCommon:
type: ./containers-common.yaml
type: ../../docker/services/containers-common.yaml
MySQLClient:
type: ../../deployment/database/mysql-client.yaml
type: ../database/mysql-client.yaml
DesignateBase:
type: ../../puppet/services/designate-base.yaml
@ -56,26 +72,40 @@ resources:
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
DesignateCentralBase:
type: ../../puppet/services/designate-central.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:
description: Role data for the Designate Central role.
value:
service_name: {get_attr: [DesignateCentralBase, role_data, service_name]}
service_name: designate_central
monitoring_subscription: {get_param: MonitoringSubscriptionDesignateCentral}
config_settings:
map_merge:
- get_attr: [DesignateBase, role_data, config_settings]
- get_attr: [DesignateCentralBase, role_data, config_settings]
service_config_settings: {get_attr: [DesignateCentralBase, role_data, service_config_settings]}
- tripleo::profile::base::designate::central::pools_file_content: {get_param: DesignatePools}
designate::db::database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
username: designate
password: {get_param: DesignatePassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /designate
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
-
if:
- designate_workers_zero
- {}
- designate::central::workers: {get_param: DesignateWorkers}
service_config_settings:
mysql:
designate::db::mysql::password: {get_param: DesignatePassword}
designate::db::mysql::user: designate
designate::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
designate::db::mysql::dbname: designate
designate::db::mysql::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: designate
@ -84,7 +114,7 @@ outputs:
list_join:
- "\n"
- - {get_attr: [DesignateBase, role_data, step_config]}
- {get_attr: [DesignateCentralBase, role_data, step_config]}
- "include tripleo::profile::base::designate::central"
- {get_attr: [MySQLClient, role_data, step_config]}
config_image: {get_param: DockerDesignateConfigImage}
kolla_config:

View File

@ -10,11 +10,6 @@ parameters:
DockerDesignateConfigImage:
description: The container image to use for the designate config_volume
type: string
DesignateSinkLoggingSource:
type: json
default:
tag: openstack.designate.sink
path: /var/log/containers/designate/designate-sink.log
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -41,12 +36,21 @@ parameters:
default: {}
description: Parameters specific to the role
type: json
MonitoringSubscriptionDesignateSink:
default: 'overcloud-designate-sink'
type: string
DesignateWorkers:
default: 0
description: Number of workers for Designate services.
type: number
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
resources:
ContainersCommon:
type: ./containers-common.yaml
type: ../../docker/services/containers-common.yaml
DesignateBase:
type: ../../puppet/services/designate-base.yaml
@ -58,26 +62,21 @@ resources:
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
DesignateSinkBase:
type: ../../puppet/services/designate-sink.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:
description: Role data for the Designate Sink role.
value:
service_name: {get_attr: [DesignateSinkBase, role_data, service_name]}
service_name: designate_sink
monitoring_subscription: {get_param: MonitoringSubscriptionDesignateSink}
config_settings:
map_merge:
- get_attr: [DesignateBase, role_data, config_settings]
- get_attr: [DesignateSinkBase, role_data, config_settings]
service_config_settings: {get_attr: [DesignateSinkBase, role_data, service_config_settings]}
-
if:
- designate_workers_zero
- {}
- designate::sink::workers: {get_param: DesignateWorkers}
service_config_settings: {}
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: designate
@ -86,7 +85,7 @@ outputs:
list_join:
- "\n"
- - {get_attr: [DesignateBase, role_data, step_config]}
- {get_attr: [DesignateSinkBase, role_data, step_config]}
- "include tripleo::profile::base::designate::sink"
config_image: {get_param: DockerDesignateConfigImage}
kolla_config:
/var/lib/kolla/config_files/designate_sink.json:

View File

@ -12,8 +12,8 @@
# This environment enables the Designate services. One of the
# designate-config* environment files must also be included.
resource_registry:
OS::TripleO::Services::DesignateApi: ../docker/services/designate-api.yaml
OS::TripleO::Services::DesignateCentral: ../docker/services/designate-central.yaml
OS::TripleO::Services::DesignateApi: ../deployment/designate/designate-api-container-puppet.yaml
OS::TripleO::Services::DesignateCentral: ../deployment/designate/designate-central-container-puppet.yaml
OS::TripleO::Services::DesignateMDNS: ../docker/services/designate-mdns.yaml
OS::TripleO::Services::DesignateProducer: ../docker/services/designate-producer.yaml
OS::TripleO::Services::DesignateWorker: ../docker/services/designate-worker.yaml

View File

@ -1,112 +0,0 @@
heat_template_version: rocky
description: >
OpenStack Designate API 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
DesignatePassword:
description: The password for the Designate's database account.
type: string
hidden: true
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionDesignateApi:
default: 'overcloud-designate-api'
type: string
DesignateWorkers:
default: 0
description: Number of workers for Designate services.
type: number
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
resources:
DesignateBase:
type: ./designate-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 Designate API service.
value:
service_name: designate_api
monitoring_subscription: {get_param: MonitoringSubscriptionDesignateApi}
config_settings:
map_merge:
- get_attr: [DesignateBase, role_data, config_settings]
- designate::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
designate::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
designate::keystone::authtoken::project_name: 'service'
designate::keystone::authtoken::password: {get_param: DesignatePassword}
tripleo::profile::base::designate::api::listen_ip:
str_replace:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, DesignateApiNetwork]}
tripleo::profile::base::designate::api::listen_port: 9001
tripleo::designate_api::firewall_rules:
'139 designate api':
dport:
- 9001
- 13001
-
if:
- designate_workers_zero
- {}
- designate::api::workers: {get_param: DesignateWorkers}
step_config: |
include tripleo::profile::base::designate::api
service_config_settings:
keystone:
designate::keystone::auth::tenant: 'service'
designate::keystone::auth::public_url: {get_param: [EndpointMap, DesignatePublic, uri_no_suffix]}
designate::keystone::auth::internal_url: { get_param: [ EndpointMap, DesignateInternal, uri_no_suffix ] }
designate::keystone::auth::admin_url: { get_param: [ EndpointMap, DesignateAdmin, uri_no_suffix ] }
designate::keystone::auth::password: {get_param: DesignatePassword}
designate::keystone::auth::region: {get_param: KeystoneRegion}
neutron_api:
neutron::designate::password: {get_param: NeutronPassword}
neutron::designate::url: {get_param: [EndpointMap, DesignateInternal, uri]}
neutron::designate::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
neutron::designate::project_name: 'service'

View File

@ -1,96 +0,0 @@
heat_template_version: rocky
description: >
OpenStack Designate Central service configured with Puppet
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
MonitoringSubscriptionDesignateCentral:
default: 'overcloud-designate-central'
type: string
DesignateWorkers:
default: 0
description: Number of workers for Designate services.
type: number
DesignatePassword:
description: The password for the Designate's database account.
type: string
hidden: true
DesignatePools:
description: The content for Designate's pools.yaml
type: string
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
resources:
DesignateBase:
type: ./designate-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 Designate Central service.
value:
service_name: designate_central
monitoring_subscription: {get_param: MonitoringSubscriptionDesignateCentral}
config_settings:
map_merge:
- get_attr: [DesignateBase, role_data, config_settings]
- tripleo::profile::base::designate::central::pools_file_content: {get_param: DesignatePools}
designate::db::database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
username: designate
password: {get_param: DesignatePassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /designate
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
-
if:
- designate_workers_zero
- {}
- designate::central::workers: {get_param: DesignateWorkers}
step_config: |
include tripleo::profile::base::designate::central
service_config_settings:
mysql:
designate::db::mysql::password: {get_param: DesignatePassword}
designate::db::mysql::user: designate
designate::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
designate::db::mysql::dbname: designate
designate::db::mysql::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"

View File

@ -1,69 +0,0 @@
heat_template_version: rocky
description: >
OpenStack Designate Sink service configured with Puppet
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
MonitoringSubscriptionDesignateSink:
default: 'overcloud-designate-sink'
type: string
DesignateWorkers:
default: 0
description: Number of workers for Designate services.
type: number
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
resources:
DesignateBase:
type: ./designate-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 Designate Sink service.
value:
service_name: designate_sink
monitoring_subscription: {get_param: MonitoringSubscriptionDesignateSink}
config_settings:
map_merge:
- get_attr: [DesignateBase, role_data, config_settings]
-
if:
- designate_workers_zero
- {}
- designate::sink::workers: {get_param: DesignateWorkers}
step_config: |
include tripleo::profile::base::designate::sink

View File

@ -11,8 +11,8 @@ environments:
# FIXME(bnemec): files should not be a required key.
files: {}
resource_registry:
OS::TripleO::Services::DesignateApi: ../docker/services/designate-api.yaml
OS::TripleO::Services::DesignateCentral: ../docker/services/designate-central.yaml
OS::TripleO::Services::DesignateApi: ../deployment/designate/designate-api-container-puppet.yaml
OS::TripleO::Services::DesignateCentral: ../deployment/designate/designate-central-container-puppet.yaml
OS::TripleO::Services::DesignateProducer: ../docker/services/designate-producer.yaml
OS::TripleO::Services::DesignateWorker: ../docker/services/designate-worker.yaml
OS::TripleO::Services::DesignateMDNS: ../docker/services/designate-mdns.yaml
@ -29,7 +29,7 @@ environments:
deployment/neutron/neutron-dhcp-container-puppet.yaml:
parameters:
- NeutronEnableInternalDNS
puppet/services/designate-central.yaml:
deployment/designate/designate-central-container-puppet.yaml:
parameters:
- DesignatePools
sample_values: