From 3d01f650f18b9e4f1892a6d9aa17f1bfc99b5091 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 1 Jun 2016 16:39:20 -0400 Subject: Enable nova-conductor as a composable service Implement NovaConductor service using nova-base for common parameters. * Move rabbitmq parameters from controller.yaml to nova-base service, as an example. More parameters will move in the future. * Move nova-conductor bits from monolithic manifests to the new service using new profiles from puppet-tripleo. Depends-On: Iaaf3a3c2528d9747e41f360a1fe55f95ed37b2d1 Implements: blueprint composable-services-within-roles Change-Id: I178f092b74ae12f2cb6f006db7cb00e4d6bddfd8 --- puppet/services/nova-base.yaml | 39 +++++++++++++++++++++++++++ puppet/services/nova-conductor.yaml | 30 +++++++++++++++++++++ puppet/services/pacemaker/nova-conductor.yaml | 30 +++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 puppet/services/nova-base.yaml create mode 100644 puppet/services/nova-conductor.yaml create mode 100644 puppet/services/pacemaker/nova-conductor.yaml (limited to 'puppet/services') diff --git a/puppet/services/nova-base.yaml b/puppet/services/nova-base.yaml new file mode 100644 index 00000000..7de14f68 --- /dev/null +++ b/puppet/services/nova-base.yaml @@ -0,0 +1,39 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Nova base service. Shared for all Nova services. + +parameters: + RabbitPassword: + description: The password for RabbitMQ + type: string + hidden: true + RabbitUserName: + default: guest + description: The username for RabbitMQ + type: string + RabbitClientUseSSL: + default: false + description: > + Rabbit client subscriber parameter to specify + an SSL connection to the RabbitMQ host. + type: string + RabbitClientPort: + default: 5672 + description: Set rabbit subscriber port, change this if using SSL + type: number + Debug: + type: string + default: '' + description: Set to True to enable debugging on all services. + +outputs: + role_data: + description: Role data for the Neutron base service. + value: + config_settings: + nova::rabbit_password: {get_param: RabbitPassword} + nova::rabbit_user: {get_param: RabbitUserName} + nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL} + nova::rabbit_port: {get_param: RabbitClientPort} + nova::debug: {get_param: Debug} diff --git a/puppet/services/nova-conductor.yaml b/puppet/services/nova-conductor.yaml new file mode 100644 index 00000000..412dd275 --- /dev/null +++ b/puppet/services/nova-conductor.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Nova Conductor service configured with Puppet + +parameters: + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + NovaWorkers: + default: 0 + description: Number of workers for Nova Conductor service. + type: number + +resources: + NovaBase: + type: ./nova-base.yaml + +outputs: + role_data: + description: Role data for the Nova Conductor service. + value: + config_settings: + map_merge: + - get_attr: [NovaBase, role_data, config_settings] + - nova::conductor::workers: {get_param: NovaWorkers} + step_config: | + include tripleo::profile::base::nova::conductor diff --git a/puppet/services/pacemaker/nova-conductor.yaml b/puppet/services/pacemaker/nova-conductor.yaml new file mode 100644 index 00000000..a484f0df --- /dev/null +++ b/puppet/services/pacemaker/nova-conductor.yaml @@ -0,0 +1,30 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Nova Conductor service with Pacemaker configured with Puppet. + +parameters: + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +resources: + + NovaConductorBase: + type: ../nova-conductor.yaml + properties: + EndpointMap: {get_param: EndpointMap} + +outputs: + role_data: + description: Role data for the Nova Conductor role. + value: + config_settings: + map_merge: + - get_attr: [NovaConductorBase, role_data, config_settings] + - nova::conductor::manage_service: false + nova::conductor::enabled: false + step_config: | + include ::tripleo::profile::pacemaker::nova::conductor -- cgit 1.2.3-korg