Merge "Describe use of Manila/CephFS in capabilites_map"
[apex-tripleo-heat-templates.git] / puppet / services / nova-api.yaml
index 50e4c99..18c790e 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-10-14
+heat_template_version: ocata
 
 description: >
   OpenStack Nova API service configured with Puppet
@@ -54,18 +54,24 @@ parameters:
   EnableInternalTLS:
     type: boolean
     default: false
+  NovaDefaultFloatingPool:
+    default: 'public'
+    description: Default pool for floating IP addresses
+    type: string
 
 conditions:
   nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]}
 
 resources:
-  ApacheServiceBase:
-    type: ./apache.yaml
-    properties:
-      ServiceNetMap: {get_param: ServiceNetMap}
-      DefaultPasswords: {get_param: DefaultPasswords}
-      EndpointMap: {get_param: EndpointMap}
-      EnableInternalTLS: {get_param: EnableInternalTLS}
+  # Temporarily disable Nova API deployed in WSGI
+  # https://bugs.launchpad.net/nova/+bug/1661360
+  # ApacheServiceBase:
+  #   type: ./apache.yaml
+  #   properties:
+  #     ServiceNetMap: {get_param: ServiceNetMap}
+  #     DefaultPasswords: {get_param: DefaultPasswords}
+  #     EndpointMap: {get_param: EndpointMap}
+  #     EnableInternalTLS: {get_param: EnableInternalTLS}
 
   NovaBase:
     type: ./nova-base.yaml
@@ -86,7 +92,9 @@ outputs:
       config_settings:
         map_merge:
         - get_attr: [NovaBase, role_data, config_settings]
-        - get_attr: [ApacheServiceBase, role_data, config_settings]
+        # Temporarily disable Nova API deployed in WSGI
+        # https://bugs.launchpad.net/nova/+bug/1661360
+        # - get_attr: [ApacheServiceBase, role_data, config_settings]
         - nova::cron::archive_deleted_rows::hour: '*/12'
           nova::cron::archive_deleted_rows::destination: '/dev/null'
           tripleo.nova_api.firewall_rules:
@@ -100,9 +108,9 @@ outputs:
           nova::keystone::authtoken::project_name: 'service'
           nova::keystone::authtoken::password: {get_param: NovaPassword}
           nova::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
-          nova::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
+          nova::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
           nova::api::enabled: true
-          nova::api::default_floating_pool: 'public'
+          nova::api::default_floating_pool: {get_param: NovaDefaultFloatingPool}
           nova::api::sync_db_api: true
           nova::api::enable_proxy_headers_parsing: true
           nova::api::api_bind_address:
@@ -111,20 +119,23 @@ outputs:
                 "%{hiera('fqdn_$NETWORK')}"
               params:
                 $NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
-          nova::api::service_name: 'httpd'
-          nova::wsgi::apache::ssl: {get_param: EnableInternalTLS}
+          # Temporarily disable Nova API deployed in WSGI
+          # https://bugs.launchpad.net/nova/+bug/1661360
+          nova_wsgi_enabled: false
+          # nova::api::service_name: 'httpd'
+          # nova::wsgi::apache_api::ssl: {get_param: EnableInternalTLS}
           # NOTE: bind IP is found in Heat replacing the network name with the local node IP
           # for the given network; replacement examples (eg. for internal_api):
           # internal_api -> IP
           # internal_api_uri -> [IP]
           # internal_api_subnet - > IP/CIDR
-          nova::wsgi::apache::bind_host: {get_param: [ServiceNetMap, NovaApiNetwork]}
-          nova::wsgi::apache::servername:
-            str_replace:
-              template:
-                "%{hiera('fqdn_$NETWORK')}"
-              params:
-                $NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
+          # nova::wsgi::apache_api::bind_host: {get_param: [ServiceNetMap, NovaApiNetwork]}
+          # nova::wsgi::apache_api::servername:
+            str_replace:
+              template:
+                "%{hiera('fqdn_$NETWORK')}"
+              params:
+                $NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
           nova::api::neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
           nova::api::instance_name_template: {get_param: InstanceNameTemplate}
           nova_enable_db_purge: {get_param: NovaEnableDBPurge}
@@ -133,10 +144,29 @@ outputs:
           - nova_workers_zero
           - {}
           - nova::api::osapi_compute_workers: {get_param: NovaWorkers}
-            nova::wsgi::apache::workers: {get_param: NovaWorkers}
+          # Temporarily disable Nova API deployed in WSGI
+          # https://bugs.launchpad.net/nova/+bug/1661360
+          # nova::wsgi::apache_api::workers: {get_param: NovaWorkers}
       step_config: |
         include tripleo::profile::base::nova::api
       service_config_settings:
+        mysql:
+          map_merge:
+          - {get_attr: [NovaBase, role_data, service_config_settings, mysql]}
+          - nova::db::mysql::password: {get_param: NovaPassword}
+            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_param: NovaPassword}
+            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')}"
         keystone:
           nova::keystone::auth::tenant: 'service'
           nova::keystone::auth::public_url: {get_param: [EndpointMap, NovaPublic, uri]}
@@ -144,18 +174,7 @@ outputs:
           nova::keystone::auth::admin_url: {get_param: [EndpointMap, NovaAdmin, uri]}
           nova::keystone::auth::password: {get_param: NovaPassword}
           nova::keystone::auth::region: {get_param: KeystoneRegion}
-        mysql:
-          nova::db::mysql::password: {get_param: NovaPassword}
-          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_param: NovaPassword}
-          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')}"
+      # Temporarily disable Nova API deployed in WSGI
+      # https://bugs.launchpad.net/nova/+bug/1661360
+      # metadata_settings:
+      #   get_attr: [ApacheServiceBase, role_data, metadata_settings]