Merge "Improve the README for the _setting keys"
[apex-tripleo-heat-templates.git] / puppet / services / nova-conductor.yaml
index 39c3541..7b08653 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: ocata
 
 description: >
   OpenStack Nova Conductor service configured with Puppet
@@ -10,6 +10,9 @@ parameters:
                  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
@@ -19,12 +22,28 @@ parameters:
     default: 0
     description: Number of workers for Nova Conductor service.
     type: number
+  MonitoringSubscriptionNovaConductor:
+    default: 'overcloud-nova-conductor'
+    type: string
+  NovaSchedulerLoggingSource:
+    type: json
+    default:
+      tag: openstack.nova.scheduler
+      path: /var/log/nova/nova-scheduler.log
+  UpgradeLevelNovaCompute:
+    type: string
+    description: Nova Compute upgrade level
+    default: auto
+
+conditions:
+  nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]}
 
 resources:
   NovaBase:
     type: ./nova-base.yaml
     properties:
       ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
       EndpointMap: {get_param: EndpointMap}
 
 outputs:
@@ -32,9 +51,33 @@ outputs:
     description: Role data for the Nova Conductor service.
     value:
       service_name: nova_conductor
+      monitoring_subscription: {get_param: MonitoringSubscriptionNovaConductor}
+      logging_source: {get_param: NovaSchedulerLoggingSource}
+      logging_groups:
+        - nova
       config_settings:
         map_merge:
-          - get_attr: [NovaBase, role_data, config_settings]
+        - get_attr: [NovaBase, role_data, config_settings]
+        -
+          if:
+          - nova_workers_zero
+          - {}
           - nova::conductor::workers: {get_param: NovaWorkers}
       step_config: |
         include tripleo::profile::base::nova::conductor
+      upgrade_tasks:
+        - name: Stop nova_conductor service
+          tags: step2
+          service: name=openstack-nova-conductor state=stopped
+        - name: update nova conductor
+          tags: step2
+          yum: name=openstack-nova-conductor state=latest
+        # If not already set by puppet (e.g a pre-ocata version), set the
+        # upgrade_level for compute to "auto"
+        - name: Set compute upgrade level to auto
+          tags: step3
+          ini_file:
+            str_replace:
+              template: "dest=/etc/nova/nova.conf section=upgrade_levels option=compute value=LEVEL"
+              params:
+                LEVEL: {get_param: UpgradeLevelNovaCompute}