diff options
author | Emilien Macchi <emilien@redhat.com> | 2016-06-01 16:39:20 -0400 |
---|---|---|
committer | Steven Hardy <shardy@redhat.com> | 2016-06-06 12:47:19 +0000 |
commit | 3d01f650f18b9e4f1892a6d9aa17f1bfc99b5091 (patch) | |
tree | 6954c9292212a4a83e7f8f610546f4cd9a191822 /puppet | |
parent | dc507862061360e0d777cdcb96cfb46d8bac75fe (diff) |
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
Diffstat (limited to 'puppet')
-rw-r--r-- | puppet/controller.yaml | 5 | ||||
-rw-r--r-- | puppet/hieradata/controller.yaml | 1 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 1 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller_pacemaker.pp | 7 | ||||
-rw-r--r-- | puppet/services/nova-base.yaml | 39 | ||||
-rw-r--r-- | puppet/services/nova-conductor.yaml | 30 | ||||
-rw-r--r-- | puppet/services/pacemaker/nova-conductor.yaml | 30 |
7 files changed, 99 insertions, 14 deletions
diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 80e6b458..074cb6f1 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -1272,12 +1272,7 @@ resources: gnocchi::keystone::auth::region: {get_input: keystone_region} # Nova - nova::rabbit_userid: {get_input: rabbit_username} - nova::rabbit_password: {get_input: rabbit_password} - nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} - nova::rabbit_port: {get_input: rabbit_client_port} nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute} - nova::debug: {get_input: debug} nova::use_ipv6: {get_input: nova_ipv6} nova::api::auth_uri: {get_input: keystone_auth_uri} nova::api::identity_uri: {get_input: keystone_identity_uri} diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml index d57f9166..3ad0748e 100644 --- a/puppet/hieradata/controller.yaml +++ b/puppet/hieradata/controller.yaml @@ -1,7 +1,6 @@ # Hiera data here applies to all controller nodes nova::api::enabled: true -nova::conductor::enabled: true nova::consoleauth::enabled: true nova::vncproxy::enabled: true nova::scheduler::enabled: true diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 9b4e76cc..89569ae5 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -162,7 +162,6 @@ if hiera('step') >= 4 { include ::nova::config include ::nova::api include ::nova::cert - include ::nova::conductor include ::nova::consoleauth include ::nova::network::neutron include ::nova::vncproxy diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index dc53d6d4..10f0398c 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -384,10 +384,6 @@ MYSQL_HOST=localhost\n", manage_service => false, enabled => false, } - class { '::nova::conductor' : - manage_service => false, - enabled => false, - } class { '::nova::consoleauth' : manage_service => false, enabled => false, @@ -839,9 +835,6 @@ password=\"${mysql_root_password}\"", pacemaker::resource::service { $::nova::params::api_service_name : clone_params => 'interleave=true', } - pacemaker::resource::service { $::nova::params::conductor_service_name : - clone_params => 'interleave=true', - } pacemaker::resource::service { $::nova::params::consoleauth_service_name : clone_params => 'interleave=true', require => Pacemaker::Resource::Ocf['openstack-core'], 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 |