Prefill Sensu client custom config
authorMartin Mágr <mmagr@redhat.com>
Fri, 7 Oct 2016 13:30:35 +0000 (15:30 +0200)
committerMartin Mágr <mmagr@redhat.com>
Thu, 13 Oct 2016 09:53:58 +0000 (11:53 +0200)
- Custom config has to contain OpenStack auth information,
  so it has to be generated for user during deployment.
  This patch maintains the ability to provide a custom
  configuration for the Sensu client.

Change-Id: If449642c4bbad683421e1f461b8721e655db0c45

environments/monitoring-environment.yaml
puppet/services/monitoring/sensu-client.yaml

index 62ab06d..f4aa67a 100644 (file)
@@ -1,30 +1,16 @@
-## A Heat environment file which can be used to set up monitoring
-## and logging agents
+## A Heat environment file which can be used to set up monitoring agents
 
 resource_registry:
   OS::TripleO::Services::SensuClient: ../puppet/services/monitoring/sensu-client.yaml
 
 #parameter_defaults:
-  #### Sensu settings ####
-  ##MonitoringRabbitHost: 10.10.10.10
-  ##MonitoringRabbitPort: 5672
-  ##MonitoringRabbitUserName: sensu
-  ##MonitoringRabbitPassword: sensu
-  ##MonitoringRabbitUseSSL: false
-  ##MonitoringRabbitVhost: "/sensu"
-  ##SensuClientCustomConfig:
-  ##  - api:
-  ##    - warning: 10
-  ##      critical: 20
-  ##    openstack:
-  ##    - username: admin
-  ##      password: changeme
-  ##      project_name: admin
-  ##      auth_url: http://controller:5000/v2.0
-  ##      region_name: RegionOne
-
-  #### EFK settings ####
-  ## TBD
-
-  #### Grafana/Graphite settings ####
-  ## TBD
+#  MonitoringRabbitHost: 10.10.10.10
+#  MonitoringRabbitPort: 5672
+#  MonitoringRabbitUserName: sensu
+#  MonitoringRabbitPassword: sensu
+#  MonitoringRabbitUseSSL: false
+#  MonitoringRabbitVhost: "/sensu"
+#  SensuClientCustomConfig:
+#    api:
+#      warning: 10
+#      critical: 20
index 3f37e75..a26c745 100644 (file)
@@ -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,14 @@ 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