Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / nova-base.yaml
index ceacb0b..5539208 100644 (file)
@@ -1,9 +1,13 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   OpenStack Nova base service. Shared for all Nova services.
 
 parameters:
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
   ServiceNetMap:
     default: {}
     description: Mapping of service_name -> network name. Typically set
@@ -13,6 +17,14 @@ 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
@@ -22,8 +34,14 @@ parameters:
     type: string
     default: 'regionOne'
     description: Keystone region for endpoint
+  NotificationDriver:
+    type: string
+    default: 'messagingv2'
+    description: Driver or drivers to handle sending notifications.
+    constraints:
+      - allowed_values: [ 'messagingv2', 'noop' ]
   NovaPassword:
-    description: The password for the nova service and db account, used by nova-api.
+    description: The password for the nova service and db account
     type: string
     hidden: true
   NeutronPassword:
@@ -52,16 +70,24 @@ 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
   Debug:
     type: string
     default: ''
     description: Set to True to enable debugging on all services.
+  NovaDebug:
+    default: ''
+    description: Set to True to enable debugging Nova services.
+    type: string
   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.
   NovaIPv6:
     default: false
     description: Enable IPv6 features in Nova
@@ -124,6 +150,7 @@ parameters:
 conditions:
 
   compute_upgrade_level_empty: {equals : [{get_param: UpgradeLevelNovaCompute}, '']}
+  service_debug_unset: {equals : [{get_param: NovaDebug}, '']}
 
 outputs:
   role_data:
@@ -132,7 +159,8 @@ outputs:
       service_name: nova_base
       config_settings:
         map_merge:
-        - nova::rabbit_password: {get_param: RabbitPassword}
+        - nova::my_ip: {get_param: [ServiceNetMap, NovaApiNetwork]}
+          nova::rabbit_password: {get_param: RabbitPassword}
           nova::rabbit_userid: {get_param: RabbitUserName}
           nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
           nova::rabbit_port: {get_param: RabbitClientPort}
@@ -142,36 +170,50 @@ outputs:
           nova::placement::os_region_name: {get_param: KeystoneRegion}
           nova::placement::os_interface: {get_param: NovaPlacementAPIInterface}
           nova::database_connection:
-            list_join:
-              - ''
-              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-                - '://nova:'
-                - {get_param: NovaPassword}
-                - '@'
-                - {get_param: [EndpointMap, MysqlInternal, host]}
-                - '/nova'
-                - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
+            make_url:
+              scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
+              username: nova
+              password: {get_param: NovaPassword}
+              host: {get_param: [EndpointMap, MysqlInternal, host]}
+              path: /nova
+              query:
+                read_default_file: /etc/my.cnf.d/tripleo.cnf
+                read_default_group: tripleo
+          nova::cell0_database_connection:
+            make_url:
+              scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
+              username: nova
+              password: {get_param: NovaPassword}
+              host: {get_param: [EndpointMap, MysqlInternal, host]}
+              path: /nova_cell0
+              query:
+                read_default_file: /etc/my.cnf.d/tripleo.cnf
+                read_default_group: tripleo
           nova::api_database_connection:
-            list_join:
-              - ''
-              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-                - '://nova_api:'
-                - {get_param: NovaPassword}
-                - '@'
-                - {get_param: [EndpointMap, MysqlInternal, host]}
-                - '/nova_api'
-                - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
+            make_url:
+              scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
+              username: nova_api
+              password: {get_param: NovaPassword}
+              host: {get_param: [EndpointMap, MysqlInternal, host]}
+              path: /nova_api
+              query:
+                read_default_file: /etc/my.cnf.d/tripleo.cnf
+                read_default_group: tripleo
           nova::placement_database_connection:
-            list_join:
-              - ''
-              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
-                - '://nova_placement:'
-                - {get_param: NovaPassword}
-                - '@'
-                - {get_param: [EndpointMap, MysqlInternal, host]}
-                - '/nova_placement'
-                - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
-          nova::debug: {get_param: Debug}
+            make_url:
+              scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
+              username: nova_placement
+              password: {get_param: NovaPassword}
+              host: {get_param: [EndpointMap, MysqlInternal, host]}
+              path: /nova_placement
+              query:
+                read_default_file: /etc/my.cnf.d/tripleo.cnf
+                read_default_group: tripleo
+          nova::debug:
+            if:
+            - service_debug_unset
+            - {get_param: Debug }
+            - {get_param: NovaDebug }
           nova::purge_config: {get_param: EnableConfigPurge}
           nova::network::neutron::neutron_project_name: 'service'
           nova::network::neutron::neutron_username: 'neutron'
@@ -184,10 +226,12 @@ outputs:
           nova::cinder_catalog_info: 'volumev2:cinderv2:internalURL'
           nova::host: '%{::fqdn}'
           nova::notify_on_state_change: 'vm_and_task_state'
-          nova::notification_driver: messagingv2
+          nova::notification_driver: {get_param: NotificationDriver}
           nova::network::neutron::neutron_auth_type: 'v3password'
           nova::db::database_db_max_retries: -1
           nova::db::database_max_retries: -1
+          nova::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
+          nova::db::sync_api::db_sync_timeout: {get_param: DatabaseSyncTimeout}
           nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
           nova::use_ipv6: {get_param: NovaIPv6}
           nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge}