Merge "Allow for specifying the output_dir"
[apex-tripleo-heat-templates.git] / puppet / services / cinder-api.yaml
index 3c624e3..b32c818 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-10-14
+heat_template_version: ocata
 
 description: >
   OpenStack Cinder API service configured with Puppet
@@ -42,7 +42,10 @@ parameters:
   CinderWorkers:
     type: string
     description: Set the number of workers for cinder::wsgi::apache
-    default: '"%{::os_workers}"'
+    default: '%{::os_workers}'
+  EnableInternalTLS:
+    type: boolean
+    default: false
 
 conditions:
   cinder_workers_zero: {equals : [{get_param: CinderWorkers}, 0]}
@@ -55,6 +58,7 @@ resources:
       ServiceNetMap: {get_param: ServiceNetMap}
       DefaultPasswords: {get_param: DefaultPasswords}
       EndpointMap: {get_param: EndpointMap}
+      EnableInternalTLS: {get_param: EnableInternalTLS}
 
   CinderBase:
     type: ./cinder-base.yaml
@@ -87,6 +91,8 @@ outputs:
             cinder::config:
               DEFAULT/swift_catalog_info:
                 value: 'object-store:swift:internalURL'
+            # TODO(emilien) remove the next line when https://review.openstack.org/422915
+            # is merged.
             cinder::glance::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
             tripleo::profile::base::cinder::cinder_enable_db_purge: {get_param: CinderEnableDBPurge}
             tripleo.cinder_api.firewall_rules:
@@ -94,20 +100,26 @@ outputs:
                 dport:
                   - 8776
                   - 13776
+            cinder::api::bind_host:
+              str_replace:
+                template:
+                  "%{hiera('fqdn_$NETWORK')}"
+                params:
+                  $NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]}
+            cinder::wsgi::apache::ssl: {get_param: EnableInternalTLS}
+            cinder::api::service_name: 'httpd'
             # 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
-            cinder::api::bind_host: {get_param: [ServiceNetMap, CinderApiNetwork]}
-            cinder::wsgi::apache::ssl: false
             cinder::wsgi::apache::bind_host: {get_param: [ServiceNetMap, CinderApiNetwork]}
             cinder::wsgi::apache::servername:
               str_replace:
                 template:
-                  '"%{::fqdn_$NETWORK}"'
+                  "%{hiera('fqdn_$NETWORK')}"
                 params:
-                  $NETWORK: {get_param: [ServiceNetMap, MysqlNetwork]}
+                  $NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]}
           -
             if:
             - cinder_workers_zero
@@ -137,3 +149,16 @@ outputs:
           cinder::db::mysql::allowed_hosts:
             - '%'
             - "%{hiera('mysql_bind_host')}"
+      upgrade_tasks:
+        - name: check for cinder running under apache (post upgrade)
+          tags: step2
+          shell: "apachectl -t -D DUMP_VHOSTS | grep -q cinder"
+          register: cinder_apache
+          ignore_errors: true
+        - name: Stop cinder_api service (running under httpd)
+          tags: step2
+          service: name=httpd state=stopped
+          when: "cinder_apache.rc == 0"
+        - name: Stop and disable cinder_api service (pre-upgrade not under httpd)
+          tags: step2
+          service: name=openstack-cinder-api state=stopped enabled=no