Merge "Remove deprecated hdp plugin and add ambari"
[apex-tripleo-heat-templates.git] / puppet / services / nova-base.yaml
index ddf39b6..ef7eaaf 100644 (file)
@@ -4,6 +4,19 @@ description: >
   OpenStack Nova base service. Shared for all Nova services.
 
 parameters:
+  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
   RabbitPassword:
     description: The password for RabbitMQ
     type: string
@@ -26,15 +39,80 @@ 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.
 
 outputs:
   role_data:
-    description: Role data for the Neutron base service.
+    description: Role data for the Nova base service.
     value:
-      service_name: nova-base
+      service_name: nova_base
       config_settings:
         nova::rabbit_password: {get_param: RabbitPassword}
         nova::rabbit_user: {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::db::mysql::password: {get_input: nova_password}
+        nova::db::mysql::user: nova
+        nova::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
+        nova::db::mysql::dbname: nova
+        nova::db::mysql::allowed_hosts:
+          - '%'
+          - "%{hiera('mysql_bind_host')}"
+        nova::db::mysql_api::password: {get_input: nova_password}
+        nova::db::mysql_api::user: nova_api
+        nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
+        nova::db::mysql_api::dbname: nova_api
+        nova::db::mysql_api::allowed_hosts:
+          - '%'
+          - "%{hiera('mysql_bind_host')}"
         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::mysql::user: nova
+        nova::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
+        nova::db::mysql::dbname: nova
+        nova::db::mysql::allowed_hosts:
+          - '%'
+          - "%{hiera('mysql_bind_host')}"
+        nova::db::mysql_api::user: nova_api
+        nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
+        nova::db::mysql_api::dbname: nova_api
+        nova::db::mysql_api::allowed_hosts:
+          - '%'
+          - "%{hiera('mysql_bind_host')}"
+        nova::db::database_db_max_retries: -1
+        nova::db::database_max_retries: -1