Merge "ovn: Add missing configurations required"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-base.yaml
index 6bb4ba0..9f60506 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: ocata
 
 description: >
   OpenStack Neutron base service. Shared for all Neutron agents.
@@ -22,9 +22,13 @@ parameters:
     default: 5672
     description: Set rabbit subscriber port, change this if using SSL
     type: number
+  DatabaseSyncTimeout:
+    default: 300
+    description: DB Sync Timeout default
+    type: number
   NeutronDhcpAgentsPerNetwork:
     type: number
-    default: 3
+    default: 0
     description: The number of neutron dhcp agents to schedule per network
   NeutronCorePlugin:
     default: 'ml2'
@@ -44,22 +48,19 @@ parameters:
     description: Set to True to enable debugging on all services.
   EnableConfigPurge:
     type: boolean
-    default: true
+    default: false
     description: >
-        Remove configuration that is not generated by TripleO. Setting
-        to false may result in configuration remnants after updates/upgrades.
+        Remove configuration that is not generated by TripleO. Used to avoid
+        configuration remnants after upgrades.
   NeutronGlobalPhysnetMtu:
     type: number
-    default: 1496
+    default: 1500
     description: |
         MTU of the underlying physical network. Neutron uses this value to
         calculate MTU for all virtual network components. For flat and VLAN
         networks, neutron uses this value without modification. For overlay
         networks such as VXLAN, neutron automatically subtracts the overlay
-        protocol overhead from this value. The default value of 1496 is
-        currently in effect to compensate for some additional overhead when
-        deploying with some network configurations (e.g. network isolation over
-        single network interfaces)
+        protocol overhead from this value.
   ServiceNetMap:
     default: {}
     description: Mapping of service_name -> network name. Typically set
@@ -75,28 +76,32 @@ parameters:
                  via parameter_defaults in the resource registry.
     type: json
 
+conditions:
+  dhcp_agents_zero: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
+
 outputs:
   role_data:
     description: Role data for the Neutron base service.
     value:
       service_name: neutron_base
       config_settings:
-        neutron::rabbit_password: {get_param: RabbitPassword}
-        neutron::rabbit_user: {get_param: RabbitUserName}
-        neutron::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
-        neutron::rabbit_port: {get_param: RabbitClientPort}
-        neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
-        neutron::core_plugin: {get_param: NeutronCorePlugin}
-        neutron::service_plugins:
-          str_replace:
-            template: PLUGINS
-            params:
-              PLUGINS: {get_param: NeutronServicePlugins}
-        neutron::debug: {get_param: Debug}
-        neutron::purge_config: {get_param: EnableConfigPurge}
-        neutron::allow_overlapping_ips: true
-        neutron::rabbit_heartbeat_timeout_threshold: 60
-        neutron::host: '"%{::fqdn}"'    #NOTE: extra quoting is needed
-        neutron::db::database_db_max_retries: -1
-        neutron::db::database_max_retries: -1
-        neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu}
+        map_merge:
+          - neutron::rabbit_password: {get_param: RabbitPassword}
+            neutron::rabbit_user: {get_param: RabbitUserName}
+            neutron::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
+            neutron::rabbit_port: {get_param: RabbitClientPort}
+            neutron::core_plugin: {get_param: NeutronCorePlugin}
+            neutron::service_plugins: {get_param: NeutronServicePlugins}
+            neutron::debug: {get_param: Debug}
+            neutron::purge_config: {get_param: EnableConfigPurge}
+            neutron::allow_overlapping_ips: true
+            neutron::rabbit_heartbeat_timeout_threshold: 60
+            neutron::host: '%{::fqdn}'
+            neutron::db::database_db_max_retries: -1
+            neutron::db::database_max_retries: -1
+            neutron::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
+            neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu}
+          - if:
+            - dhcp_agents_zero
+            - {}
+            - tripleo::profile::base::neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}