Blame 0007-Add-manage_service-parameter-to-all-agents-ml2-class.patch

Lukas Bezdicka c3b5127
From 7115b154642a0392fac47195e7b9b4a2e2311fe9 Mon Sep 17 00:00:00 2001
Lukas Bezdicka c3b5127
From: Jason Guiditta <jguiditt@redhat.com>
Lukas Bezdicka c3b5127
Date: Mon, 22 Jun 2015 10:49:01 -0400
Lukas Bezdicka c3b5127
Subject: [PATCH] Add manage_service parameter to all agents::ml2 classes that
Lukas Bezdicka c3b5127
 did not yet have it.
Lukas Bezdicka c3b5127
Lukas Bezdicka c3b5127
This existed in the older agents::ovs and agents::linuxbridge classes
Lukas Bezdicka c3b5127
which were recently removed, adding here for consistency.
Lukas Bezdicka c3b5127
Lukas Bezdicka c3b5127
When set to false, enables puppet to configure a service without
Lukas Bezdicka c3b5127
starting/stopping it on each run.  This may be necessary when
Lukas Bezdicka c3b5127
using an external clustering system (Corosync/Pacemaker, for
Lukas Bezdicka c3b5127
example).  Defaults to true.
Lukas Bezdicka c3b5127
Lukas Bezdicka c3b5127
Change-Id: I3242f790e7d3231a81b447c10aa2d741b7b68a3e
Lukas Bezdicka c3b5127
---
Lukas Bezdicka c3b5127
 neutron/manifests/agents/ml2/linuxbridge.pp               | 15 +++++++++++----
Lukas Bezdicka c3b5127
 neutron/manifests/agents/ml2/ovs.pp                       | 15 +++++++++++----
Lukas Bezdicka c3b5127
 neutron/manifests/agents/ml2/sriov.pp                     | 15 +++++++++++----
Lukas Bezdicka c3b5127
 .../spec/classes/neutron_agents_ml2_linuxbridge_spec.rb   | 10 ++++++++++
Lukas Bezdicka c3b5127
 neutron/spec/classes/neutron_agents_ml2_ovs_spec.rb       |  9 +++++++++
Lukas Bezdicka c3b5127
 neutron/spec/classes/neutron_agents_ml2_sriov_spec.rb     | 12 +++++++++++-
Lukas Bezdicka c3b5127
 6 files changed, 63 insertions(+), 13 deletions(-)
Lukas Bezdicka c3b5127
Lukas Bezdicka c3b5127
diff --git a/neutron/manifests/agents/ml2/linuxbridge.pp b/neutron/manifests/agents/ml2/linuxbridge.pp
Lukas Bezdicka c3b5127
index e6cc118..a9bef40 100644
Lukas Bezdicka c3b5127
--- a/neutron/manifests/agents/ml2/linuxbridge.pp
Lukas Bezdicka c3b5127
+++ b/neutron/manifests/agents/ml2/linuxbridge.pp
Lukas Bezdicka c3b5127
@@ -12,6 +12,10 @@
Lukas Bezdicka c3b5127
 #   (required) Whether or not to enable the agent.
Lukas Bezdicka c3b5127
 #   Defaults to true.
Lukas Bezdicka c3b5127
 #
Lukas Bezdicka c3b5127
+# [*manage_service*]
Lukas Bezdicka c3b5127
+#   (optional) Whether to start/stop the service
Lukas Bezdicka c3b5127
+#   Defaults to true
Lukas Bezdicka c3b5127
+#
Lukas Bezdicka c3b5127
 # [*tunnel_types*]
Lukas Bezdicka c3b5127
 #   (optional) List of types of tunnels to use when utilizing tunnels.
Lukas Bezdicka c3b5127
 #   Supported tunnel types are: vxlan.
Lukas Bezdicka c3b5127
@@ -57,6 +61,7 @@
Lukas Bezdicka c3b5127
 class neutron::agents::ml2::linuxbridge (
Lukas Bezdicka c3b5127
   $package_ensure   = 'present',
Lukas Bezdicka c3b5127
   $enabled          = true,
Lukas Bezdicka c3b5127
+  $manage_service   = true,
Lukas Bezdicka c3b5127
   $tunnel_types     = [],
Lukas Bezdicka c3b5127
   $local_ip         = false,
Lukas Bezdicka c3b5127
   $vxlan_group      = '224.0.0.1',
Lukas Bezdicka c3b5127
@@ -143,10 +148,12 @@ class neutron::agents::ml2::linuxbridge (
Lukas Bezdicka c3b5127
     }
Lukas Bezdicka c3b5127
   }
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
-  if $enabled {
Lukas Bezdicka c3b5127
-    $service_ensure = 'running'
Lukas Bezdicka c3b5127
-  } else {
Lukas Bezdicka c3b5127
-    $service_ensure = 'stopped'
Lukas Bezdicka c3b5127
+  if $manage_service {
Lukas Bezdicka c3b5127
+    if $enabled {
Lukas Bezdicka c3b5127
+      $service_ensure = 'running'
Lukas Bezdicka c3b5127
+    } else {
Lukas Bezdicka c3b5127
+      $service_ensure = 'stopped'
Lukas Bezdicka c3b5127
+    }
Lukas Bezdicka c3b5127
   }
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
   service { 'neutron-plugin-linuxbridge-agent':
Lukas Bezdicka c3b5127
diff --git a/neutron/manifests/agents/ml2/ovs.pp b/neutron/manifests/agents/ml2/ovs.pp
Lukas Bezdicka c3b5127
index 299ca1a..8b97903 100644
Lukas Bezdicka c3b5127
--- a/neutron/manifests/agents/ml2/ovs.pp
Lukas Bezdicka c3b5127
+++ b/neutron/manifests/agents/ml2/ovs.pp
Lukas Bezdicka c3b5127
@@ -29,6 +29,10 @@
Lukas Bezdicka c3b5127
 #   (required) Whether or not to enable the OVS Agent
Lukas Bezdicka c3b5127
 #   Defaults to true
Lukas Bezdicka c3b5127
 #
Lukas Bezdicka c3b5127
+# [*manage_service*]
Lukas Bezdicka c3b5127
+#   (optional) Whether to start/stop the service
Lukas Bezdicka c3b5127
+#   Defaults to true
Lukas Bezdicka c3b5127
+#
Lukas Bezdicka c3b5127
 # [*bridge_uplinks*]
Lukas Bezdicka c3b5127
 #   (optional) List of interfaces to connect to the bridge when doing
Lukas Bezdicka c3b5127
 #   bridge mapping.
Lukas Bezdicka c3b5127
@@ -91,6 +95,7 @@
Lukas Bezdicka c3b5127
 class neutron::agents::ml2::ovs (
Lukas Bezdicka c3b5127
   $package_ensure             = 'present',
Lukas Bezdicka c3b5127
   $enabled                    = true,
Lukas Bezdicka c3b5127
+  $manage_service             = true,
Lukas Bezdicka c3b5127
   $bridge_uplinks             = [],
Lukas Bezdicka c3b5127
   $bridge_mappings            = [],
Lukas Bezdicka c3b5127
   $integration_bridge         = 'br-int',
Lukas Bezdicka c3b5127
@@ -216,10 +221,12 @@ class neutron::agents::ml2::ovs (
Lukas Bezdicka c3b5127
     }
Lukas Bezdicka c3b5127
   }
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
-  if $enabled {
Lukas Bezdicka c3b5127
-    $service_ensure = 'running'
Lukas Bezdicka c3b5127
-  } else {
Lukas Bezdicka c3b5127
-    $service_ensure = 'stopped'
Lukas Bezdicka c3b5127
+  if $manage_service {
Lukas Bezdicka c3b5127
+    if $enabled {
Lukas Bezdicka c3b5127
+      $service_ensure = 'running'
Lukas Bezdicka c3b5127
+    } else {
Lukas Bezdicka c3b5127
+      $service_ensure = 'stopped'
Lukas Bezdicka c3b5127
+    }
Lukas Bezdicka c3b5127
   }
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
   service { 'neutron-ovs-agent-service':
Lukas Bezdicka c3b5127
diff --git a/neutron/manifests/agents/ml2/sriov.pp b/neutron/manifests/agents/ml2/sriov.pp
Lukas Bezdicka c3b5127
index a8b22c5..dfb1cc8 100644
Lukas Bezdicka c3b5127
--- a/neutron/manifests/agents/ml2/sriov.pp
Lukas Bezdicka c3b5127
+++ b/neutron/manifests/agents/ml2/sriov.pp
Lukas Bezdicka c3b5127
@@ -29,6 +29,10 @@
Lukas Bezdicka c3b5127
 #   (required) Whether or not to enable the OVS Agent
Lukas Bezdicka c3b5127
 #   Defaults to true
Lukas Bezdicka c3b5127
 #
Lukas Bezdicka c3b5127
+# [*manage_service*]
Lukas Bezdicka c3b5127
+#   (optional) Whether to start/stop the service
Lukas Bezdicka c3b5127
+#   Defaults to true
Lukas Bezdicka c3b5127
+#
Lukas Bezdicka c3b5127
 # [*physical_device_mappings*]
Lukas Bezdicka c3b5127
 #   (optional) List of <physical_network>:<physical device>
Lukas Bezdicka c3b5127
 #   All physical networks listed in network_vlan_ranges
Lukas Bezdicka c3b5127
@@ -50,6 +54,7 @@
Lukas Bezdicka c3b5127
 class neutron::agents::ml2::sriov (
Lukas Bezdicka c3b5127
   $package_ensure             = 'present',
Lukas Bezdicka c3b5127
   $enabled                    = true,
Lukas Bezdicka c3b5127
+  $manage_service             = true,
Lukas Bezdicka c3b5127
   $physical_device_mappings   = [],
Lukas Bezdicka c3b5127
   $polling_interval           = 2,
Lukas Bezdicka c3b5127
   $exclude_devices            = [],
Lukas Bezdicka c3b5127
@@ -73,10 +78,12 @@ class neutron::agents::ml2::sriov (
Lukas Bezdicka c3b5127
     tag    => 'openstack',
Lukas Bezdicka c3b5127
   }
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
-  if $enabled {
Lukas Bezdicka c3b5127
-    $service_ensure = 'running'
Lukas Bezdicka c3b5127
-  } else {
Lukas Bezdicka c3b5127
-    $service_ensure = 'stopped'
Lukas Bezdicka c3b5127
+  if $manage_service {
Lukas Bezdicka c3b5127
+    if $enabled {
Lukas Bezdicka c3b5127
+      $service_ensure = 'running'
Lukas Bezdicka c3b5127
+    } else {
Lukas Bezdicka c3b5127
+      $service_ensure = 'stopped'
Lukas Bezdicka c3b5127
+    }
Lukas Bezdicka c3b5127
   }
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
   service { 'neutron-sriov-nic-agent-service':
Lukas Bezdicka c3b5127
diff --git a/neutron/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb b/neutron/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb
Lukas Bezdicka c3b5127
index 40223b5..308fca2 100644
Lukas Bezdicka c3b5127
--- a/neutron/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb
Lukas Bezdicka c3b5127
+++ b/neutron/spec/classes/neutron_agents_ml2_linuxbridge_spec.rb
Lukas Bezdicka c3b5127
@@ -9,6 +9,7 @@ describe 'neutron::agents::ml2::linuxbridge' do
Lukas Bezdicka c3b5127
   let :default_params do
Lukas Bezdicka c3b5127
     { :package_ensure   => 'present',
Lukas Bezdicka c3b5127
       :enabled          => true,
Lukas Bezdicka c3b5127
+      :manage_service   => true,
Lukas Bezdicka c3b5127
       :tunnel_types     => [],
Lukas Bezdicka c3b5127
       :local_ip         => false,
Lukas Bezdicka c3b5127
       :vxlan_group      => '224.0.0.1',
Lukas Bezdicka c3b5127
@@ -66,6 +67,15 @@ describe 'neutron::agents::ml2::linuxbridge' do
Lukas Bezdicka c3b5127
         )
Lukas Bezdicka c3b5127
       end
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
+      context 'with manage_service as false' do
Lukas Bezdicka c3b5127
+        before :each do
Lukas Bezdicka c3b5127
+          params.merge!(:manage_service => false)
Lukas Bezdicka c3b5127
+        end
Lukas Bezdicka c3b5127
+        it 'should not start/stop service' do
Lukas Bezdicka c3b5127
+          is_expected.to contain_service('neutron-plugin-linuxbridge-agent').without_ensure
Lukas Bezdicka c3b5127
+        end
Lukas Bezdicka c3b5127
+      end
Lukas Bezdicka c3b5127
+
Lukas Bezdicka c3b5127
       it 'does not configre VXLAN tunneling' do
Lukas Bezdicka c3b5127
         is_expected.to contain_neutron_agent_linuxbridge('vxlan/enable_vxlan').with_value(false)
Lukas Bezdicka c3b5127
         is_expected.to contain_neutron_agent_linuxbridge('vxlan/local_ip').with_ensure('absent')
Lukas Bezdicka c3b5127
diff --git a/neutron/spec/classes/neutron_agents_ml2_ovs_spec.rb b/neutron/spec/classes/neutron_agents_ml2_ovs_spec.rb
Lukas Bezdicka c3b5127
index edd0b55..cb0ccfe 100644
Lukas Bezdicka c3b5127
--- a/neutron/spec/classes/neutron_agents_ml2_ovs_spec.rb
Lukas Bezdicka c3b5127
+++ b/neutron/spec/classes/neutron_agents_ml2_ovs_spec.rb
Lukas Bezdicka c3b5127
@@ -80,6 +80,15 @@ describe 'neutron::agents::ml2::ovs' do
Lukas Bezdicka c3b5127
       )
Lukas Bezdicka c3b5127
     end
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
+    context 'with manage_service as false' do
Lukas Bezdicka c3b5127
+      before :each do
Lukas Bezdicka c3b5127
+        params.merge!(:manage_service => false)
Lukas Bezdicka c3b5127
+      end
Lukas Bezdicka c3b5127
+      it 'should not start/stop service' do
Lukas Bezdicka c3b5127
+        is_expected.to contain_service('neutron-ovs-agent-service').without_ensure
Lukas Bezdicka c3b5127
+      end
Lukas Bezdicka c3b5127
+    end
Lukas Bezdicka c3b5127
+
Lukas Bezdicka c3b5127
     context 'when supplying a firewall driver' do
Lukas Bezdicka c3b5127
       before :each do
Lukas Bezdicka c3b5127
         params.merge!(:firewall_driver => false)
Lukas Bezdicka c3b5127
diff --git a/neutron/spec/classes/neutron_agents_ml2_sriov_spec.rb b/neutron/spec/classes/neutron_agents_ml2_sriov_spec.rb
Lukas Bezdicka c3b5127
index 7df1408..c28163a 100644
Lukas Bezdicka c3b5127
--- a/neutron/spec/classes/neutron_agents_ml2_sriov_spec.rb
Lukas Bezdicka c3b5127
+++ b/neutron/spec/classes/neutron_agents_ml2_sriov_spec.rb
Lukas Bezdicka c3b5127
@@ -9,6 +9,7 @@ describe 'neutron::agents::ml2::sriov' do
Lukas Bezdicka c3b5127
   let :default_params do
Lukas Bezdicka c3b5127
     { :package_ensure             => 'present',
Lukas Bezdicka c3b5127
       :enabled                    => true,
Lukas Bezdicka c3b5127
+      :manage_service             => true,
Lukas Bezdicka c3b5127
       :physical_device_mappings   => [],
Lukas Bezdicka c3b5127
       :exclude_devices            => [],
Lukas Bezdicka c3b5127
       :polling_interval           => 2,
Lukas Bezdicka c3b5127
@@ -47,7 +48,7 @@ describe 'neutron::agents::ml2::sriov' do
Lukas Bezdicka c3b5127
       is_expected.to contain_package('neutron-sriov-nic-agent').with_before(/Neutron_plugin_ml2\[.+\]/)
Lukas Bezdicka c3b5127
     end
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
-    it 'configures neutron ovs agent service' do
Lukas Bezdicka c3b5127
+    it 'configures neutron sriov agent service' do
Lukas Bezdicka c3b5127
       is_expected.to contain_service('neutron-sriov-nic-agent-service').with(
Lukas Bezdicka c3b5127
         :name    => platform_params[:sriov_nic_agent_service],
Lukas Bezdicka c3b5127
         :enable  => true,
Lukas Bezdicka c3b5127
@@ -56,6 +57,15 @@ describe 'neutron::agents::ml2::sriov' do
Lukas Bezdicka c3b5127
       )
Lukas Bezdicka c3b5127
     end
Lukas Bezdicka c3b5127
 
Lukas Bezdicka c3b5127
+    context 'with manage_service as false' do
Lukas Bezdicka c3b5127
+      before :each do
Lukas Bezdicka c3b5127
+        params.merge!(:manage_service => false)
Lukas Bezdicka c3b5127
+      end
Lukas Bezdicka c3b5127
+      it 'should not start/stop service' do
Lukas Bezdicka c3b5127
+        is_expected.to contain_service('neutron-sriov-nic-agent-service').without_ensure
Lukas Bezdicka c3b5127
+      end
Lukas Bezdicka c3b5127
+    end
Lukas Bezdicka c3b5127
+
Lukas Bezdicka c3b5127
     context 'when supplying device mapping' do
Lukas Bezdicka c3b5127
       before :each do
Lukas Bezdicka c3b5127
         params.merge!(:physical_device_mappings => ['physnet1:eth1'],