Merge "Deploy versionless keystone endpoints (for keystone only)"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-ovs-agent.yaml
index cca0dee..c27bb90 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: ocata
 
 description: >
   OpenStack Neutron OVS agent configured with Puppet
@@ -70,6 +70,9 @@ parameters:
       tag: openstack.neutron.agent.openvswitch
       path: /var/log/neutron/openvswitch-agent.log
 
+conditions:
+  no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']}
+
 resources:
 
   NeutronBase:
@@ -94,21 +97,9 @@ outputs:
           - neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
             neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR}
             neutron::agents::ml2::ovs::arp_responder: {get_param: NeutronEnableARPResponder}
-            neutron::agents::ml2::ovs::bridge_mappings:
-              str_replace:
-                template: MAPPINGS
-                params:
-                  MAPPINGS: {get_param: NeutronBridgeMappings}
-            neutron::agents::ml2::ovs::tunnel_types:
-              str_replace:
-                template: TYPES
-                params:
-                  TYPES: {get_param: NeutronTunnelTypes}
-            neutron::agents::ml2::ovs::extensions:
-              str_replace:
-                template: AGENT_EXTENSIONS
-                params:
-                  AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
+            neutron::agents::ml2::ovs::bridge_mappings: {get_param: NeutronBridgeMappings}
+            neutron::agents::ml2::ovs::tunnel_types: {get_param: NeutronTunnelTypes}
+            neutron::agents::ml2::ovs::extensions: {get_param: NeutronAgentExtensions}
             # NOTE: bind IP is found in Heat replacing the network name with the
             # local node IP for the given network; replacement examples
             # (eg. for internal_api):
@@ -116,12 +107,23 @@ outputs:
             # internal_api_uri -> [IP]
             # internal_api_subnet - > IP/CIDR
             neutron::agents::ml2::ovs::local_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
-            neutron::agents::ml2::ovs::firewall_driver: {get_param: NeutronOVSFirewallDriver}
             tripleo.neutron_ovs_agent.firewall_rules:
               '118 neutron vxlan networks':
                 proto: 'udp'
                 dport: 4789
               '136 neutron gre networks':
                 proto: 'gre'
+          -
+            if:
+            - no_firewall_driver
+            - {}
+            - neutron::agents::ml2::ovs::firewall_driver: {get_param: NeutronOVSFirewallDriver}
       step_config: |
         include ::tripleo::profile::base::neutron::ovs
+      upgrade_tasks:
+        - name: "PreUpgrade step0,validation: Check service neutron-openvswitch-agent is running"
+          shell: /usr/bin/systemctl show 'neutron-openvswitch-agent' --property ActiveState | grep '\bactive\b'
+          tags: step0,validation
+        - name: Stop neutron_ovs_agent service
+          tags: step2
+          service: name=neutron-openvswitch-agent state=stopped