Remove unsafe "unset" defaults
[apex-tripleo-heat-templates.git] / puppet / manifests / overcloud_controller_pacemaker.pp
index 58b5c80..6c8530f 100644 (file)
@@ -534,11 +534,12 @@ if hiera('step') >= 3 {
   $glance_store = concat($http_store, $backend_store)
 
   if $glance_backend == 'file' and hiera('glance_file_pcmk_manage', false) {
+    $secontext = 'context="system_u:object_r:glance_var_lib_t:s0"'
     pacemaker::resource::filesystem { 'glance-fs':
       device       => hiera('glance_file_pcmk_device'),
       directory    => hiera('glance_file_pcmk_directory'),
       fstype       => hiera('glance_file_pcmk_fstype'),
-      fsoptions    => hiera('glance_file_pcmk_options', ''),
+      fsoptions    => join([$secontext, hiera('glance_file_pcmk_options', '')],','),
       clone_params => '',
     }
   }
@@ -599,37 +600,47 @@ if hiera('step') >= 3 {
     enabled        => false,
   }
   include ::neutron::server::notifications
-  class { '::neutron::agents::dhcp' :
-    manage_service => false,
-    enabled        => false,
-  }
-  class { '::neutron::agents::l3' :
-    manage_service => false,
-    enabled        => false,
+  if  hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
+    include ::neutron::plugins::nuage
   }
-  class { '::neutron::agents::metadata':
-    manage_service => false,
-    enabled        => false,
+  if hiera('neutron::enable_dhcp_agent',true) {
+    class { '::neutron::agents::dhcp' :
+      manage_service => false,
+      enabled        => false,
+    }
+    file { '/etc/neutron/dnsmasq-neutron.conf':
+      content => hiera('neutron_dnsmasq_options'),
+      owner   => 'neutron',
+      group   => 'neutron',
+      notify  => Service['neutron-dhcp-service'],
+      require => Package['neutron'],
+    }
   }
-  file { '/etc/neutron/dnsmasq-neutron.conf':
-    content => hiera('neutron_dnsmasq_options'),
-    owner   => 'neutron',
-    group   => 'neutron',
-    notify  => Service['neutron-dhcp-service'],
-    require => Package['neutron'],
+  if hiera('neutron::enable_l3_agent',true) {
+    class { '::neutron::agents::l3' :
+      manage_service => false,
+      enabled        => false,
+    }
   }
-  class { '::neutron::plugins::ml2':
-    flat_networks        => split(hiera('neutron_flat_networks'), ','),
-    tenant_network_types => [hiera('neutron_tenant_network_type')],
-    mechanism_drivers    => [hiera('neutron_mechanism_drivers')],
+  if hiera('neutron::enable_metadata_agent',true) {
+    class { '::neutron::agents::metadata':
+      manage_service => false,
+      enabled        => false,
+    }
   }
-  class { '::neutron::agents::ml2::ovs':
-    manage_service  => false,
-    enabled         => false,
-    bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
-    tunnel_types    => split(hiera('neutron_tunnel_types'), ','),
+  if hiera('neutron::core_plugin') == 'ml2' {
+    class { '::neutron::plugins::ml2':
+      flat_networks        => split(hiera('neutron_flat_networks'), ','),
+      tenant_network_types => [hiera('neutron_tenant_network_type')],
+      mechanism_drivers    => [hiera('neutron_mechanism_drivers')],
+    }
+    class { '::neutron::agents::ml2::ovs':
+      manage_service  => false,
+      enabled         => false,
+      bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
+      tunnel_types    => split(hiera('neutron_tunnel_types'), ','),
+    }
   }
-
   if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
     include ::neutron::plugins::ml2::cisco::ucsm
   }
@@ -844,14 +855,6 @@ if hiera('step') >= 3 {
     manage_service => false,
     enabled        => false,
   }
-  class { '::ceilometer::alarm::notifier' :
-    manage_service => false,
-    enabled        => false,
-  }
-  class { '::ceilometer::alarm::evaluator' :
-    manage_service => false,
-    enabled        => false,
-  }
   class { '::ceilometer::collector' :
     manage_service => false,
     enabled        => false,
@@ -1067,59 +1070,69 @@ if hiera('step') >= 4 {
       clone_params => 'interleave=true',
       require      => Pacemaker::Resource::Service[$::keystone::params::service_name],
     }
-    pacemaker::resource::service { $::neutron::params::l3_agent_service:
-      clone_params => 'interleave=true',
-    }
-    pacemaker::resource::service { $::neutron::params::dhcp_agent_service:
-      clone_params => 'interleave=true',
-    }
-    pacemaker::resource::service { $::neutron::params::ovs_agent_service:
-      clone_params => 'interleave=true',
+    if hiera('neutron::enable_l3_agent', true) {
+      pacemaker::resource::service { $::neutron::params::l3_agent_service:
+        clone_params => 'interleave=true',
+      }
     }
-    pacemaker::resource::service { $::neutron::params::metadata_agent_service:
-      clone_params => 'interleave=true',
+    if hiera('neutron::enable_dhcp_agent', true) {
+      pacemaker::resource::service { $::neutron::params::dhcp_agent_service:
+        clone_params => 'interleave=true',
+      }
     }
-    pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
-      ocf_agent_name => 'neutron:OVSCleanup',
-      clone_params   => 'interleave=true',
+    if hiera('neutron::enable_ovs_agent', true) {
+      pacemaker::resource::service { $::neutron::params::ovs_agent_service:
+        clone_params => 'interleave=true',
+      }
     }
-    pacemaker::resource::ocf { 'neutron-netns-cleanup':
-      ocf_agent_name => 'neutron:NetnsCleanup',
-      clone_params   => 'interleave=true',
+    if hiera('neutron::enable_metadata_agent', true) {
+      pacemaker::resource::service { $::neutron::params::metadata_agent_service:
+        clone_params => 'interleave=true',
+      }
     }
+    if hiera('neutron::enable_ovs_agent', true) {
+      pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
+        ocf_agent_name => 'neutron:OVSCleanup',
+        clone_params   => 'interleave=true',
+      }
+      pacemaker::resource::ocf { 'neutron-netns-cleanup':
+        ocf_agent_name => 'neutron:NetnsCleanup',
+        clone_params   => 'interleave=true',
+      }
 
-    # neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent
-    pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::neutron::params::ovs_cleanup_service}-clone",
-      second_resource => 'neutron-netns-cleanup-clone',
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
-                          Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
-    }
-    pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation':
-      source  => 'neutron-netns-cleanup-clone',
-      target  => "${::neutron::params::ovs_cleanup_service}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
-                  Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
-    }
-    pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint':
-      constraint_type => 'order',
-      first_resource  => 'neutron-netns-cleanup-clone',
-      second_resource => "${::neutron::params::ovs_agent_service}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
-                          Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
-    }
-    pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation':
-      source  => "${::neutron::params::ovs_agent_service}-clone",
-      target  => 'neutron-netns-cleanup-clone',
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
-                  Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
+      # neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent
+      pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
+        constraint_type => 'order',
+        first_resource  => "${::neutron::params::ovs_cleanup_service}-clone",
+        second_resource => 'neutron-netns-cleanup-clone',
+        first_action    => 'start',
+        second_action   => 'start',
+        require         => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
+                            Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
+      }
+      pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation':
+        source  => 'neutron-netns-cleanup-clone',
+        target  => "${::neutron::params::ovs_cleanup_service}-clone",
+        score   => 'INFINITY',
+        require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
+                    Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
+      }
+      pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint':
+        constraint_type => 'order',
+        first_resource  => 'neutron-netns-cleanup-clone',
+        second_resource => "${::neutron::params::ovs_agent_service}-clone",
+        first_action    => 'start',
+        second_action   => 'start',
+        require         => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
+                            Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
+      }
+      pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation':
+        source  => "${::neutron::params::ovs_agent_service}-clone",
+        target  => 'neutron-netns-cleanup-clone',
+        score   => 'INFINITY',
+        require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
+                    Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
+      }
     }
 
     #another chain keystone-->neutron-server-->ovs-agent-->dhcp-->l3
@@ -1132,63 +1145,71 @@ if hiera('step') >= 4 {
       require         => [Pacemaker::Resource::Service[$::keystone::params::service_name],
                           Pacemaker::Resource::Service[$::neutron::params::server_service]],
     }
-    pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::neutron::params::server_service}-clone",
-      second_resource => "${::neutron::params::ovs_agent_service}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::neutron::params::server_service],
-                          Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
+    if hiera('neutron::enable_ovs_agent',true) {
+      pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint':
+        constraint_type => 'order',
+        first_resource  => "${::neutron::params::server_service}-clone",
+        second_resource => "${::neutron::params::ovs_agent_service}-clone",
+        first_action    => 'start',
+        second_action   => 'start',
+        require         => [Pacemaker::Resource::Service[$::neutron::params::server_service],
+                            Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
+      }
     }
-    pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::neutron::params::ovs_agent_service}-clone",
-      second_resource => "${::neutron::params::dhcp_agent_service}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
-                          Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
+    if hiera('neutron::enable_dhcp_agent',true) and hiera('neutron::enable_ovs_agent',true) {
+      pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint':
+        constraint_type => 'order',
+        first_resource  => "${::neutron::params::ovs_agent_service}-clone",
+        second_resource => "${::neutron::params::dhcp_agent_service}-clone",
+        first_action    => 'start',
+        second_action   => 'start',
+        require         => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
+                            Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
 
+      }
+      pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation':
+        source  => "${::neutron::params::dhcp_agent_service}-clone",
+        target  => "${::neutron::params::ovs_agent_service}-clone",
+        score   => 'INFINITY',
+        require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
+                    Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
+      }
     }
-    pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation':
-      source  => "${::neutron::params::dhcp_agent_service}-clone",
-      target  => "${::neutron::params::ovs_agent_service}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
-                  Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
-    }
-    pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::neutron::params::dhcp_agent_service}-clone",
-      second_resource => "${::neutron::params::l3_agent_service}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
-                          Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]],
-    }
-    pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation':
-      source  => "${::neutron::params::l3_agent_service}-clone",
-      target  => "${::neutron::params::dhcp_agent_service}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
-                  Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]],
-    }
-    pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::neutron::params::l3_agent_service}-clone",
-      second_resource => "${::neutron::params::metadata_agent_service}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
-                          Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
+    if hiera('neutron::enable_dhcp_agent',true) and hiera('l3_agent_service',true) {
+      pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint':
+        constraint_type => 'order',
+        first_resource  => "${::neutron::params::dhcp_agent_service}-clone",
+        second_resource => "${::neutron::params::l3_agent_service}-clone",
+        first_action    => 'start',
+        second_action   => 'start',
+        require         => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
+                            Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]]
+      }
+      pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation':
+        source  => "${::neutron::params::l3_agent_service}-clone",
+        target  => "${::neutron::params::dhcp_agent_service}-clone",
+        score   => 'INFINITY',
+        require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
+                    Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]]
+      }
     }
-    pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation':
-      source  => "${::neutron::params::metadata_agent_service}-clone",
-      target  => "${::neutron::params::l3_agent_service}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
-                  Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
+    if hiera('neutron::enable_l3_agent',true) and hiera('neutron::enable_metadata_agent',true) {
+      pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint':
+        constraint_type => 'order',
+        first_resource  => "${::neutron::params::l3_agent_service}-clone",
+        second_resource => "${::neutron::params::metadata_agent_service}-clone",
+        first_action    => 'start',
+        second_action   => 'start',
+        require         => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
+                            Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]]
+      }
+      pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation':
+        source  => "${::neutron::params::metadata_agent_service}-clone",
+        target  => "${::neutron::params::l3_agent_service}-clone",
+        score   => 'INFINITY',
+        require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
+                    Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]]
+      }
     }
 
     # Nova
@@ -1310,12 +1331,6 @@ if hiera('step') >= 4 {
     pacemaker::resource::service { $::ceilometer::params::api_service_name :
       clone_params => 'interleave=true',
     }
-    pacemaker::resource::service { $::ceilometer::params::alarm_evaluator_service_name :
-      clone_params => 'interleave=true',
-    }
-    pacemaker::resource::service { $::ceilometer::params::alarm_notifier_service_name :
-      clone_params => 'interleave=true',
-    }
     pacemaker::resource::service { $::ceilometer::params::agent_notification_service_name :
       clone_params => 'interleave=true',
     }
@@ -1390,54 +1405,6 @@ if hiera('step') >= 4 {
       require => [Pacemaker::Resource::Service[$::ceilometer::params::api_service_name],
                   Pacemaker::Resource::Ocf['delay']],
     }
-    pacemaker::constraint::base { 'ceilometer-delay-then-ceilometer-alarm-evaluator-constraint':
-      constraint_type => 'order',
-      first_resource  => 'delay-clone',
-      second_resource => "${::ceilometer::params::alarm_evaluator_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::alarm_evaluator_service_name],
-                          Pacemaker::Resource::Ocf['delay']],
-    }
-    pacemaker::constraint::colocation { 'ceilometer-alarm-evaluator-with-ceilometer-delay-colocation':
-      source  => "${::ceilometer::params::alarm_evaluator_service_name}-clone",
-      target  => 'delay-clone',
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::ceilometer::params::api_service_name],
-                  Pacemaker::Resource::Ocf['delay']],
-    }
-    pacemaker::constraint::base { 'ceilometer-alarm-evaluator-then-ceilometer-alarm-notifier-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::ceilometer::params::alarm_evaluator_service_name}-clone",
-      second_resource => "${::ceilometer::params::alarm_notifier_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::alarm_evaluator_service_name],
-                          Pacemaker::Resource::Service[$::ceilometer::params::alarm_notifier_service_name]],
-    }
-    pacemaker::constraint::colocation { 'ceilometer-alarm-notifier-with-ceilometer-alarm-evaluator-colocation':
-      source  => "${::ceilometer::params::alarm_notifier_service_name}-clone",
-      target  => "${::ceilometer::params::alarm_evaluator_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::ceilometer::params::alarm_evaluator_service_name],
-                  Pacemaker::Resource::Service[$::ceilometer::params::alarm_notifier_service_name]],
-    }
-    pacemaker::constraint::base { 'ceilometer-alarm-notifier-then-ceilometer-notification-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::ceilometer::params::alarm_notifier_service_name}-clone",
-      second_resource => "${::ceilometer::params::agent_notification_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::agent_notification_service_name],
-                          Pacemaker::Resource::Service[$::ceilometer::params::alarm_notifier_service_name]],
-    }
-    pacemaker::constraint::colocation { 'ceilometer-notification-with-ceilometer-alarm-notifier-colocation':
-      source  => "${::ceilometer::params::agent_notification_service_name}-clone",
-      target  => "${::ceilometer::params::alarm_notifier_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_notification_service_name],
-                  Pacemaker::Resource::Service[$::ceilometer::params::alarm_notifier_service_name]],
-    }
     if downcase(hiera('ceilometer_backend')) == 'mongodb' {
       pacemaker::constraint::base { 'mongodb-then-ceilometer-central-constraint':
         constraint_type => 'order',