Merge "Fixing resources path in OpenDaylight"
[apex-tripleo-heat-templates.git] / puppet / services / nova-base.yaml
index 7de14f6..8db00d8 100644 (file)
@@ -4,6 +4,32 @@ description: >
   OpenStack Nova base service. Shared for all Nova services.
 
 parameters:
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  NovaPassword:
+    description: The password for the nova service and db account, used by nova-api.
+    type: string
+    hidden: true
+  NeutronPassword:
+    description: The password for the neutron service and db account, used by neutron agents.
+    type: string
+    hidden: true
+  NovaOVSBridge:
+    default: 'br-int'
+    description: Name of integration bridge used by Open vSwitch
+    type: string
   RabbitPassword:
     description: The password for RabbitMQ
     type: string
@@ -26,14 +52,66 @@ parameters:
     type: string
     default: ''
     description: Set to True to enable debugging on all services.
+  EnableConfigPurge:
+    type: boolean
+    default: true
+    description: >
+        Remove configuration that is not generated by TripleO. Setting
+        to false may result in configuration remnants after updates/upgrades.
+  NovaIPv6:
+    default: false
+    description: Enable IPv6 features in Nova
+    type: boolean
+  UpgradeLevelNovaCompute:
+    type: string
+    description: Nova Compute upgrade level
+    default: ''
 
 outputs:
   role_data:
-    description: Role data for the Neutron base service.
+    description: Role data for the Nova base service.
     value:
+      service_name: nova_base
       config_settings:
         nova::rabbit_password: {get_param: RabbitPassword}
-        nova::rabbit_user: {get_param: RabbitUserName}
+        nova::rabbit_userid: {get_param: RabbitUserName}
         nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
         nova::rabbit_port: {get_param: RabbitClientPort}
+        nova::database_connection:
+          list_join:
+            - ''
+            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
+              - '://nova:'
+              - {get_param: NovaPassword}
+              - '@'
+              - {get_param: [EndpointMap, MysqlInternal, host]}
+              - '/nova'
+        nova::api_database_connection:
+          list_join:
+            - ''
+            - - {get_param: [EndpointMap, MysqlInternal, protocol]}
+              - '://nova_api:'
+              - {get_param: NovaPassword}
+              - '@'
+              - {get_param: [EndpointMap, MysqlInternal, host]}
+              - '/nova_api'
         nova::debug: {get_param: Debug}
+        nova::purge_config: {get_param: EnableConfigPurge}
+        nova::network::neutron::neutron_project_name: 'service'
+        nova::network::neutron::neutron_username: 'neutron'
+        nova::network::neutron::dhcp_domain: ''
+        nova::network::neutron::neutron_password: {get_param: NeutronPassword}
+        nova::network::neutron::neutron_url: {get_param: [EndpointMap, NeutronInternal, uri]}
+        nova::network::neutron::neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
+        nova::rabbit_heartbeat_timeout_threshold: 60
+        nova::cinder_catalog_info: 'volumev2:cinderv2:internalURL'
+        nova::host: '"%{::fqdn}"'    # NOTE: extra quoting is needed.
+        nova::notify_on_state_change: 'vm_and_task_state'
+        nova::notification_driver: messagingv2
+        nova::network::neutron::neutron_auth_type: 'v3password'
+        nova::db::database_db_max_retries: -1
+        nova::db::database_max_retries: -1
+        nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
+        nova::use_ipv6: {get_param: NovaIPv6}
+        nova::upgrade_level_compute: {get_param: UpgradeLevelNovaCompute}
+        nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge}