Merge "Pass the DOCKER_* env vars when running docker"
[apex-tripleo-heat-templates.git] / puppet / services / monitoring / sensu-client.yaml
index 3f37e75..aba2b1e 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: ocata
 
 description: Sensu client configured with Puppet
 
@@ -18,6 +18,13 @@ parameters:
       Mapping of service endpoint -> protocol. Typically set
       via parameter_defaults in the resource registry.
     type: json
+  AdminPassword:
+    description: Keystone admin user password
+    type: string
+  KeystoneRegion:
+    default: 'regionOne'
+    description: Keystone region for endpoint
+    type: string
   SensuClientCustomConfig:
     default: {}
     description: Hash containing custom sensu-client variables.
@@ -44,6 +51,34 @@ outputs:
           - sensu::api: false
             sensu::client: true
             sensu::server: false
-            sensu::client_custom: {get_param: SensuClientCustomConfig}
+            sensu::client_custom:
+              map_merge:
+                - {get_param: SensuClientCustomConfig}
+                - openstack:
+                    username: 'admin'
+                    password: {get_param: AdminPassword}
+                    auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
+                    tenant_name: 'admin'
+                    region: {get_param: KeystoneRegion}
       step_config: |
         include ::tripleo::profile::base::monitoring::sensu
+      upgrade_tasks:
+        - name: Check if sensu_client is deployed
+          command: systemctl is-enabled sensu-client
+          tags: common
+          ignore_errors: True
+          register: sensu_client_enabled
+        - name: Check status of sensu-client service
+          shell: >
+            /usr/bin/systemctl show sensu-client --property ActiveState |
+            grep '\bactive\b'
+          when: sensu_client_enabled.rc == 0
+          tags: step0,validation
+        - name: Stop sensu-client service
+          tags: step1
+          when: sensu_client_enabled.rc == 0
+          service: name=sensu-client state=stopped
+        - name: Install sensu package if it was disabled
+          tags: step3
+          yum: name=sensu state=latest
+          when: sensu_client.rc != 0