aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorEmilien Macchi <emilien@redhat.com>2016-06-06 14:56:43 -0400
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>2016-06-14 12:00:56 +0300
commit94bf2d5a0cfa2eacf93f5c7c9604f12064e6afd5 (patch)
treef7a2f17e688242bea752040f5ce20f32558eea60 /puppet
parent27ee21d9bdf3a60d1f5e46ef9a80a9a2e6fe5992 (diff)
Enable nova-scheduler as a composable service
Implement NovaScheduler service using nova-base for common parameters. Depends-On: I5e1c90e3c6dc556f872ced73744c5c74caaa3635 Change-Id: Ie50716a09c53d656835b16991128c94b35cf1ed2 Implements: blueprint composable-services-within-roles
Diffstat (limited to 'puppet')
-rw-r--r--puppet/hieradata/controller.yaml2
-rw-r--r--puppet/manifests/overcloud_controller.pp2
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp8
-rw-r--r--puppet/services/nova-scheduler.yaml26
-rw-r--r--puppet/services/pacemaker/nova-scheduler.yaml30
5 files changed, 56 insertions, 12 deletions
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index 3ad0748e..7724f17c 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -3,7 +3,6 @@
nova::api::enabled: true
nova::consoleauth::enabled: true
nova::vncproxy::enabled: true
-nova::scheduler::enabled: true
# gnocchi
gnocchi::db::sync::extra_opts: '--skip-storage'
@@ -115,7 +114,6 @@ nova::notify_on_state_change: 'vm_and_task_state'
nova::api::default_floating_pool: 'public'
nova::api::sync_db_api: true
nova::api::enable_proxy_headers_parsing: true
-nova::scheduler::filter::ram_allocation_ratio: '1.0'
nova::cron::archive_deleted_rows::hour: '*/12'
nova::cron::archive_deleted_rows::destination: '/dev/null'
nova::notification_driver: messaging
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 7bd94225..366f98cf 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -154,8 +154,6 @@ if hiera('step') >= 4 {
include ::nova::consoleauth
include ::nova::network::neutron
include ::nova::vncproxy
- include ::nova::scheduler
- include ::nova::scheduler::filter
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 5510b4fb..9162f937 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -358,11 +358,6 @@ MYSQL_HOST=localhost\n",
manage_service => false,
enabled => false,
}
- include ::nova::scheduler::filter
- class { '::nova::scheduler' :
- manage_service => false,
- enabled => false,
- }
include ::nova::network::neutron
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
@@ -716,9 +711,6 @@ password=\"${mysql_root_password}\"",
pacemaker::resource::service { $::nova::params::vncproxy_service_name :
clone_params => 'interleave=true',
}
- pacemaker::resource::service { $::nova::params::scheduler_service_name :
- clone_params => 'interleave=true',
- }
pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
constraint_type => 'order',
diff --git a/puppet/services/nova-scheduler.yaml b/puppet/services/nova-scheduler.yaml
new file mode 100644
index 00000000..65ed6643
--- /dev/null
+++ b/puppet/services/nova-scheduler.yaml
@@ -0,0 +1,26 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Scheduler service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova Scheduler service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaBase, role_data, config_settings]
+ - nova::scheduler::filter::ram_allocation_ratio: '1.0'
+ step_config: |
+ include tripleo::profile::base::nova::scheduler
diff --git a/puppet/services/pacemaker/nova-scheduler.yaml b/puppet/services/pacemaker/nova-scheduler.yaml
new file mode 100644
index 00000000..0032cbe6
--- /dev/null
+++ b/puppet/services/pacemaker/nova-scheduler.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Scheduler 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:
+
+ NovaSchedulerBase:
+ type: ../nova-scheduler.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Nova Scheduler role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaSchedulerBase, role_data, config_settings]
+ - nova::scheduler::manage_service: false
+ nova::scheduler::enabled: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::nova::scheduler