heat_template_version: pike description: Sensu client configured with Puppet parameters: ServiceData: default: {} description: Dictionary packing service data type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. type: json DefaultPasswords: default: {} type: json RoleName: default: '' description: Role name on which the service is applied type: string RoleParameters: default: {} description: Parameters specific to the role type: json EndpointMap: default: {} description: > Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json AdminPassword: description: The password for the keystone admin account, used for monitoring, querying neutron etc. type: string hidden: true KeystoneRegion: default: 'regionOne' description: Keystone region for endpoint type: string SensuClientCustomConfig: default: {} description: Hash containing custom sensu-client variables. type: json label: Custom configuration for Sensu Client variables resources: SensuBase: type: ./sensu-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} outputs: role_data: description: Role data for the Sensu client role. value: service_name: sensu_client monitoring_subscription: all config_settings: map_merge: - get_attr: [SensuBase, role_data, config_settings] - sensu::api: false sensu::client: true sensu::server: false 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_enabled.rc != 0