Merge "Add params to manage and configure pipeline publisher"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-base.yaml
index 43657bd..764d548 100644 (file)
@@ -22,10 +22,18 @@ 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
+  NeutronDnsDomain:
+    type: string
+    default: openstacklocal
+    description: Domain to use for building the hostnames.
   NeutronCorePlugin:
     default: 'ml2'
     description: |
@@ -44,10 +52,10 @@ 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: 1500
@@ -66,30 +74,47 @@ 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
 
+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: {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::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::dns_domain: {get_param: NeutronDnsDomain}
+            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}