Add l2gw neutron agent support
[apex-tripleo-heat-templates.git] / puppet / services / neutron-ovs-dpdk-agent.yaml
index 5c77e35..6dcc59c 100644 (file)
@@ -13,11 +13,24 @@ parameters:
   DefaultPasswords:
     default: {}
     type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
                  via parameter_defaults in the resource registry.
     type: json
+  HostCpusList:
+    description: List of cores to be used for host process
+    type: string
+    constraints:
+      - allowed_pattern: "'[0-9,-]+'"
   NeutronDpdkCoreList:
     description: List of cores to be used for DPDK Poll Mode Driver
     type: string
@@ -56,6 +69,11 @@ resources:
       ServiceNetMap: {get_param: ServiceNetMap}
       DefaultPasswords: {get_param: DefaultPasswords}
       EndpointMap: {get_param: EndpointMap}
+      RoleName: {get_param: RoleName}
+      RoleParameters: {get_param: RoleParameters}
+
+  OpenVswitchUpgrade:
+    type: ./openvswitch-upgrade.yaml
 
 outputs:
   role_data:
@@ -64,12 +82,18 @@ outputs:
       service_name: neutron_ovs_dpdk_agent
       config_settings:
         map_merge:
-          - get_attr: [NeutronOvsAgent, role_data, config_settings]
+          - map_replace:
+            - get_attr: [NeutronOvsAgent, role_data, config_settings]
+            - keys:
+                tripleo.neutron_ovs_agent.firewall_rules: tripleo.neutron_ovs_dpdk_agent.firewall_rules
           - neutron::agents::ml2::ovs::enable_dpdk: true
             neutron::agents::ml2::ovs::datapath_type: {get_param: NeutronDatapathType}
             neutron::agents::ml2::ovs::vhostuser_socket_dir: {get_param: NeutronVhostuserSocketDir}
-            vswitch::dpdk::core_list: {get_param: NeutronDpdkCoreList}
+            vswitch::dpdk::host_core_list: {get_param: HostCpusList}
+            vswitch::dpdk::pmd_core_list: {get_param: NeutronDpdkCoreList}
             vswitch::dpdk::memory_channels: {get_param: NeutronDpdkMemoryChannels}
             vswitch::dpdk::socket_mem: {get_param: NeutronDpdkSocketMemory}
             vswitch::dpdk::driver_type: {get_param: NeutronDpdkDriverType}
       step_config: {get_attr: [NeutronOvsAgent, role_data, step_config]}
+      upgrade_tasks:
+        get_attr: [OpenVswitchUpgrade, role_data, upgrade_tasks]