aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--environments/puppet-pacemaker.yaml1
-rw-r--r--overcloud-resource-registry-puppet.yaml1
-rw-r--r--overcloud.yaml1
-rw-r--r--puppet/controller.yaml5
-rw-r--r--puppet/hieradata/controller.yaml1
-rw-r--r--puppet/manifests/overcloud_controller.pp1
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp7
-rw-r--r--puppet/services/nova-base.yaml39
-rw-r--r--puppet/services/nova-conductor.yaml30
-rw-r--r--puppet/services/pacemaker/nova-conductor.yaml30
10 files changed, 102 insertions, 14 deletions
diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml
index def047c0..7f261591 100644
--- a/environments/puppet-pacemaker.yaml
+++ b/environments/puppet-pacemaker.yaml
@@ -26,3 +26,4 @@ resource_registry:
OS::TripleO::Services::Loadbalancer: ../puppet/services/pacemaker/loadbalancer.yaml
OS::TripleO::Services::Memcached: ../puppet/services/pacemaker/memcached.yaml
OS::TripleO::Services::Redis: ../puppet/services/pacemaker/database/redis.yaml
+ OS::TripleO::Services::NovaConductor: ../puppet/services/pacemaker/nova-conductor.yaml
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 7682ad63..5b6ccbca 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -142,6 +142,7 @@ resource_registry:
OS::TripleO::Services::SaharaApi: puppet/services/sahara-api.yaml
OS::TripleO::Services::SaharaEngine: puppet/services/sahara-engine.yaml
OS::TripleO::Services::Redis: puppet/services/database/redis.yaml
+ OS::TripleO::Services::NovaConductor: puppet/services/nova-conductor.yaml
parameter_defaults:
EnablePackageInstall: false
diff --git a/overcloud.yaml b/overcloud.yaml
index cbab3953..e302299c 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -641,6 +641,7 @@ parameters:
- OS::TripleO::Services::Memcached
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::Redis
+ - OS::TripleO::Services::NovaConductor
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
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