Browse Source

Availability monitoring agents support

- adds possibility to install sensu-client on all nodes
- each composable service has it's own subscription

Co-Authored-By: Emilien Macchi <emilien@redhat.com>
Co-Authored-By: Michele Baldessari <michele@redhat.com>
Implements: blueprint tripleo-opstools-availability-monitoring
Change-Id: I6a215763fd0f0015285b3573305d18d0f56c7770
changes/88/254788/51
Martin Mágr 5 years ago
committed by Lars Kellogg-Stedman
parent
commit
25ad7b8e1e
  1. 12
      capabilities-map.yaml
  2. 30
      environments/monitoring-environment.yaml
  3. 1
      overcloud-resource-registry-puppet.yaml
  4. 1
      overcloud-without-mergepy.yaml
  5. 1038
      overcloud-without-mergepy.yaml
  6. 13
      overcloud.yaml
  7. 4
      puppet/ceph-storage.yaml
  8. 4
      puppet/cinder-storage.yaml
  9. 4
      puppet/compute.yaml
  10. 4
      puppet/controller.yaml
  11. 4
      puppet/services/aodh-api.yaml
  12. 4
      puppet/services/aodh-evaluator.yaml
  13. 4
      puppet/services/aodh-listener.yaml
  14. 4
      puppet/services/aodh-notifier.yaml
  15. 4
      puppet/services/ceilometer-agent-central.yaml
  16. 4
      puppet/services/ceilometer-agent-compute.yaml
  17. 4
      puppet/services/ceilometer-agent-notification.yaml
  18. 4
      puppet/services/ceilometer-api.yaml
  19. 4
      puppet/services/ceilometer-collector.yaml
  20. 5
      puppet/services/ceilometer-expirer.yaml
  21. 4
      puppet/services/ceph-client.yaml
  22. 4
      puppet/services/ceph-external.yaml
  23. 4
      puppet/services/ceph-mon.yaml
  24. 4
      puppet/services/ceph-osd.yaml
  25. 4
      puppet/services/cinder-api.yaml
  26. 4
      puppet/services/cinder-backup.yaml
  27. 4
      puppet/services/cinder-scheduler.yaml
  28. 4
      puppet/services/cinder-volume.yaml
  29. 4
      puppet/services/glance-api.yaml
  30. 5
      puppet/services/glance-registry.yaml
  31. 4
      puppet/services/gnocchi-api.yaml
  32. 4
      puppet/services/gnocchi-metricd.yaml
  33. 4
      puppet/services/gnocchi-statsd.yaml
  34. 4
      puppet/services/haproxy.yaml
  35. 4
      puppet/services/heat-api-cfn.yaml
  36. 4
      puppet/services/heat-api-cloudwatch.yaml
  37. 4
      puppet/services/heat-api.yaml
  38. 4
      puppet/services/heat-engine.yaml
  39. 4
      puppet/services/horizon.yaml
  40. 4
      puppet/services/ironic-api.yaml
  41. 4
      puppet/services/ironic-conductor.yaml
  42. 4
      puppet/services/keepalived.yaml
  43. 4
      puppet/services/keystone.yaml
  44. 4
      puppet/services/manila-api.yaml
  45. 5
      puppet/services/manila-scheduler.yaml
  46. 4
      puppet/services/manila-share.yaml
  47. 4
      puppet/services/memcached.yaml
  48. 68
      puppet/services/monitoring/sensu-base.yaml
  49. 49
      puppet/services/monitoring/sensu-client.yaml
  50. 4
      puppet/services/neutron-api.yaml
  51. 4
      puppet/services/neutron-dhcp.yaml
  52. 4
      puppet/services/neutron-l3-compute-dvr.yaml
  53. 4
      puppet/services/neutron-l3.yaml
  54. 4
      puppet/services/neutron-metadata.yaml
  55. 4
      puppet/services/neutron-midonet.yaml
  56. 4
      puppet/services/neutron-ovs-agent.yaml
  57. 4
      puppet/services/nova-api.yaml
  58. 4
      puppet/services/nova-compute.yaml
  59. 4
      puppet/services/nova-conductor.yaml
  60. 4
      puppet/services/nova-consoleauth.yaml
  61. 4
      puppet/services/nova-libvirt.yaml
  62. 4
      puppet/services/nova-scheduler.yaml
  63. 4
      puppet/services/nova-vncproxy.yaml
  64. 4
      puppet/services/pacemaker.yaml
  65. 4
      puppet/services/pacemaker/ceilometer-agent-central.yaml
  66. 4
      puppet/services/pacemaker/ceilometer-agent-notification.yaml
  67. 4
      puppet/services/pacemaker/ceilometer-api.yaml
  68. 4
      puppet/services/pacemaker/ceilometer-collector.yaml
  69. 1
      puppet/services/pacemaker/cinder-api.yaml
  70. 1
      puppet/services/pacemaker/cinder-backup.yaml
  71. 1
      puppet/services/pacemaker/cinder-scheduler.yaml
  72. 1
      puppet/services/pacemaker/cinder-volume.yaml
  73. 1
      puppet/services/pacemaker/glance-api.yaml
  74. 1
      puppet/services/pacemaker/glance-registry.yaml
  75. 4
      puppet/services/pacemaker/gnocchi-api.yaml
  76. 4
      puppet/services/pacemaker/gnocchi-metricd.yaml
  77. 4
      puppet/services/pacemaker/gnocchi-statsd.yaml
  78. 1
      puppet/services/pacemaker/haproxy.yaml
  79. 1
      puppet/services/pacemaker/heat-api-cfn.yaml
  80. 1
      puppet/services/pacemaker/heat-api-cloudwatch.yaml
  81. 1
      puppet/services/pacemaker/heat-api.yaml
  82. 1
      puppet/services/pacemaker/heat-engine.yaml
  83. 1
      puppet/services/pacemaker/horizon.yaml
  84. 1
      puppet/services/pacemaker/keystone.yaml
  85. 1
      puppet/services/pacemaker/manila-share.yaml
  86. 1
      puppet/services/pacemaker/memcached.yaml
  87. 1
      puppet/services/pacemaker/neutron-dhcp.yaml
  88. 1
      puppet/services/pacemaker/neutron-l3.yaml
  89. 1
      puppet/services/pacemaker/neutron-metadata.yaml
  90. 1
      puppet/services/pacemaker/neutron-midonet.yaml
  91. 1
      puppet/services/pacemaker/neutron-ovs-agent.yaml
  92. 1
      puppet/services/pacemaker/neutron-server.yaml
  93. 1
      puppet/services/pacemaker/nova-api.yaml
  94. 1
      puppet/services/pacemaker/nova-conductor.yaml
  95. 1
      puppet/services/pacemaker/nova-consoleauth.yaml
  96. 1
      puppet/services/pacemaker/nova-scheduler.yaml
  97. 1
      puppet/services/pacemaker/nova-vncproxy.yaml
  98. 1
      puppet/services/pacemaker/rabbitmq.yaml
  99. 1
      puppet/services/pacemaker/sahara-api.yaml
  100. 1
      puppet/services/pacemaker/sahara-engine.yaml

12
capabilities-map.yaml

@ -224,3 +224,15 @@ topics:
description:
requires:
- overcloud-resource-registry-puppet.yaml
- title: Operational Tools
description:
environment_groups:
- title: Monitoring agents
description: Enable monitoring agents
environments:
- file: environments/monitoring-environment.yaml
title: enable monitoring agents
description:
requires:
- overcloud-resource-registry-puppet.yaml

30
environments/monitoring-environment.yaml

@ -0,0 +1,30 @@
## A Heat environment file which can be used to set up monitoring
## and logging 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

1
overcloud-resource-registry-puppet.yaml

@ -222,6 +222,7 @@ resource_registry:
OS::TripleO::Services::TripleoFirewall: puppet/services/tripleo-firewall.yaml
OS::TripleO::Services::OpenDaylight: OS::Heat::None
OS::TripleO::Services::OpenDaylightOvs: OS::Heat::None
OS::TripleO::Services::SensuClient: OS::Heat::None
parameter_defaults:
EnablePackageInstall: false

1
overcloud-without-mergepy.yaml

@ -1 +0,0 @@
overcloud.yaml

1038
overcloud-without-mergepy.yaml
File diff suppressed because it is too large
View File

13
overcloud.yaml

@ -2,7 +2,7 @@ heat_template_version: 2016-04-08
description: >
Deploy an OpenStack environment, consisting of several node types (roles),
Controller, Compute, BlockStorage, SwiftStorage and CephStorage. The Storage
Controller, Compute, BlockStorage, SwiftStorage and CephStorage. The Storage
roles enable independent scaling of the storage components, but the minimal
deployment is one Controller and one Compute node.
@ -199,6 +199,7 @@ parameters:
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::OpenDaylight
- OS::TripleO::Services::SensuClient
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
@ -224,6 +225,7 @@ parameters:
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::SensuClient
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Compute Nodes.
@ -249,6 +251,7 @@ parameters:
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the BlockStorage nodes.
@ -275,6 +278,7 @@ parameters:
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the ObjectStorage nodes.
@ -301,6 +305,7 @@ parameters:
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the CephStorage nodes.
@ -448,6 +453,7 @@ resources:
NodeIndex: '%index%'
ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
MonitoringSubscriptions: {get_attr: [ControllerServiceChain, role_data, monitoring_subscriptions]}
ComputeServiceChain:
type: OS::TripleO::Services
@ -479,6 +485,7 @@ resources:
NodeIndex: '%index%'
ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
MonitoringSubscriptions: {get_attr: [ComputeServiceChain, role_data, monitoring_subscriptions]}
BlockStorageServiceChain:
type: OS::TripleO::Services
@ -511,6 +518,7 @@ resources:
NodeIndex: '%index%'
ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
MonitoringSubscriptions: {get_attr: [BlockStorageServiceChain, role_data, monitoring_subscriptions]}
ObjectStorageServiceChain:
type: OS::TripleO::Services
@ -543,6 +551,7 @@ resources:
NodeIndex: '%index%'
ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
MonitoringSubscriptions: {get_attr: [ObjectStorageServiceChain, role_data, monitoring_subscriptions]}
CephStorageServiceChain:
type: OS::TripleO::Services
@ -575,6 +584,7 @@ resources:
NodeIndex: '%index%'
ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
MonitoringSubscriptions: {get_attr: [CephStorageServiceChain, role_data, monitoring_subscriptions]}
ControllerIpListMap:
type: OS::TripleO::Network::Ports::NetIpListMap
@ -950,6 +960,7 @@ resources:
servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
RoleData: {get_attr: [CephStorageServiceChain, role_data]}
outputs:
ManagedEndpoints:
description: Asserts that the keystone endpoints have been provisioned.

4
puppet/ceph-storage.yaml

@ -90,6 +90,9 @@ parameters:
ServiceNames:
type: comma_delimited_list
default: []
MonitoringSubscriptions:
type: comma_delimited_list
default: []
ConfigCommand:
type: string
description: Command which will be run whenever configuration data changes
@ -252,6 +255,7 @@ resources:
service_names:
mapped_data:
service_names: {get_param: ServiceNames}
sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_configs:
mapped_data:
map_replace:

4
puppet/cinder-storage.yaml

@ -92,6 +92,9 @@ parameters:
ServiceNames:
type: comma_delimited_list
default: []
MonitoringSubscriptions:
type: comma_delimited_list
default: []
ConfigCommand:
type: string
description: Command which will be run whenever configuration data changes
@ -258,6 +261,7 @@ resources:
service_names:
mapped_data:
service_names: {get_param: ServiceNames}
sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_configs:
mapped_data:
map_replace:

4
puppet/compute.yaml

@ -107,6 +107,9 @@ parameters:
ServiceNames:
type: comma_delimited_list
default: []
MonitoringSubscriptions:
type: comma_delimited_list
default: []
ConfigCommand:
type: string
description: Command which will be run whenever configuration data changes
@ -271,6 +274,7 @@ resources:
service_names:
mapped_data:
service_names: {get_param: ServiceNames}
sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_configs:
mapped_data:
map_replace:

4
puppet/controller.yaml

@ -188,6 +188,9 @@ parameters:
ServiceNames:
type: comma_delimited_list
default: []
MonitoringSubscriptions:
type: comma_delimited_list
default: []
ConfigCommand:
type: string
description: Command which will be run whenever configuration data changes
@ -400,6 +403,7 @@ resources:
service_names:
mapped_data:
service_names: {get_param: ServiceNames}
sensu::subscriptions: {get_param: MonitoringSubscriptions}
service_configs:
mapped_data:
map_replace:

4
puppet/services/aodh-api.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionAodhApi:
default: 'overcloud-ceilometer-aodh-api'
type: string
resources:
AodhBase:
@ -39,6 +42,7 @@ outputs:
description: Role data for the Aodh API service.
value:
service_name: aodh_api
monitoring_subscription: {get_param: MonitoringSubscriptionAodhApi}
config_settings:
map_merge:
- get_attr: [AodhBase, role_data, config_settings]

4
puppet/services/aodh-evaluator.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionAodhEvaluator:
default: 'overcloud-ceilometer-aodh-evaluator'
type: string
resources:
AodhBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Aodh Evaluator service.
value:
service_name: aodh_evaluator
monitoring_subscription: {get_param: MonitoringSubscriptionAodhEvaluator}
config_settings:
get_attr: [AodhBase, role_data, config_settings]
step_config: |

4
puppet/services/aodh-listener.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionAodhListener:
default: 'overcloud-ceilometer-aodh-listener'
type: string
resources:
AodhBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Aodh Listener service.
value:
service_name: aodh_listener
monitoring_subscription: {get_param: MonitoringSubscriptionAodhListener}
config_settings:
get_attr: [AodhBase, role_data, config_settings]
step_config: |

4
puppet/services/aodh-notifier.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionAodhNotifier:
default: 'overcloud-ceilometer-aodh-notifier'
type: string
resources:
AodhBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Aodh Notifier service.
value:
service_name: aodh_notifier
monitoring_subscription: {get_param: MonitoringSubscriptionAodhNotifier}
config_settings:
get_attr: [AodhBase, role_data, config_settings]
step_config: |

4
puppet/services/ceilometer-agent-central.yaml

@ -22,6 +22,9 @@ parameters:
description: The password for the redis service account.
type: string
hidden: true
MonitoringSubscriptionCeilometerCentral:
default: 'overcloud-ceilometer-agent-central'
type: string
resources:
CeilometerServiceBase:
@ -36,6 +39,7 @@ outputs:
description: Role data for the Ceilometer Central Agent role.
value:
service_name: ceilometer_agent_central
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCentral}
config_settings:
map_merge:
- get_attr: [CeilometerServiceBase, role_data, config_settings]

4
puppet/services/ceilometer-agent-compute.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCeilometerCompute:
default: 'overcloud-ceilometer-agent-compute'
type: string
resources:
CeilometerServiceBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Ceilometer Compute Agent role.
value:
service_name: ceilometer_agent_compute
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCompute}
config_settings:
get_attr: [CeilometerServiceBase, role_data, config_settings]
step_config: |

4
puppet/services/ceilometer-agent-notification.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCeilometerNotification:
default: 'overcloud-ceilometer-agent-notification'
type: string
resources:
@ -33,6 +36,7 @@ outputs:
description: Role data for the Ceilometer Notification Agent role.
value:
service_name: ceilometer_agent_notification
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerNotification}
config_settings:
get_attr: [CeilometerServiceBase, role_data, config_settings]
step_config: |

4
puppet/services/ceilometer-api.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCeilometerApi:
default: 'overcloud-ceilometer-api'
type: string
resources:
@ -40,6 +43,7 @@ outputs:
description: Role data for the Ceilometer API role.
value:
service_name: ceilometer_api
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerApi}
config_settings:
map_merge:
- get_attr: [ApacheServiceBase, role_data, config_settings]

4
puppet/services/ceilometer-collector.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCeilometerCollector:
default: 'overcloud-ceilometer-collector'
type: string
resources:
CeilometerServiceBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Ceilometer Collector role.
value:
service_name: ceilometer_collector
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCollector}
config_settings:
get_attr: [CeilometerServiceBase, role_data, config_settings]
step_config: |

5
puppet/services/ceilometer-expirer.yaml

@ -18,7 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCeilometerExpirer:
default: 'overcloud-ceilometer-expirer'
type: string
resources:
CeilometerServiceBase:
@ -33,6 +35,7 @@ outputs:
description: Role data for the Ceilometer Expirer role.
value:
service_name: ceilometer_expirer
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerExpirer}
config_settings:
get_attr: [CeilometerServiceBase, role_data, config_settings]
step_config: |

4
puppet/services/ceph-client.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCephClient:
default: 'overcloud-ceph-client'
type: string
resources:
CephBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Cinder OSD service.
value:
service_name: ceph_client
monitoring_subscription: {get_param: MonitoringSubscriptionCephClient}
config_settings:
get_attr: [CephBase, role_data, config_settings]
step_config: |

4
puppet/services/ceph-external.yaml

@ -47,12 +47,16 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCephExternal:
default: 'overcloud-ceph-external'
type: string
outputs:
role_data:
description: Role data for the Ceph External service.
value:
service_name: ceph_external
monitoring_subscription: {get_param: MonitoringSubscriptionCephExternal}
config_settings:
tripleo::profile::base::ceph::ceph_mon_host: {get_param: CephExternalMonHost}
ceph::profile::params::fsid: {get_param: CephClusterFSID}

4
puppet/services/ceph-mon.yaml

@ -53,6 +53,9 @@ parameters:
}
default: {}
type: json
MonitoringSubscriptionCephMon:
default: 'overcloud-ceph-mon'
type: string
resources:
CephBase:
@ -67,6 +70,7 @@ outputs:
description: Role data for the Ceph Monitor service.
value:
service_name: ceph_mon
monitoring_subscription: {get_param: MonitoringSubscriptionCephMon}
config_settings:
map_merge:
- get_attr: [CephBase, role_data, config_settings]

4
puppet/services/ceph-osd.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCephOsd:
default: 'overcloud-ceph-osd'
type: string
resources:
CephBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Cinder OSD service.
value:
service_name: ceph_osd
monitoring_subscription: {get_param: MonitoringSubscriptionCephOsd}
config_settings:
map_merge:
- get_attr: [CephBase, role_data, config_settings]

4
puppet/services/cinder-api.yaml

@ -31,6 +31,9 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionCinderApi:
default: 'overcloud-cinder-api'
type: string
resources:
@ -46,6 +49,7 @@ outputs:
description: Role data for the Cinder API role.
value:
service_name: cinder_api
monitoring_subscription: {get_param: MonitoringSubscriptionCinderApi}
config_settings:
map_merge:
- get_attr: [CinderBase, role_data, config_settings]

4
puppet/services/cinder-backup.yaml

@ -30,6 +30,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCinderBackup:
default: 'overcloud-cinder-backup'
type: string
resources:
@ -45,6 +48,7 @@ outputs:
description: Role data for the Cinder Backup role.
value:
service_name: cinder_backup
monitoring_subscription: {get_param: MonitoringSubscriptionCinderBackup}
config_settings:
map_merge:
- get_attr: [CinderBase, role_data, config_settings]

4
puppet/services/cinder-scheduler.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCinderScheduler:
default: 'overcloud-cinder-scheduler'
type: string
resources:
@ -33,6 +36,7 @@ outputs:
description: Role data for the Cinder Scheduler role.
value:
service_name: cinder_scheduler
monitoring_subscription: {get_param: MonitoringSubscriptionCinderScheduler}
config_settings:
map_merge:
- get_attr: [CinderBase, role_data, config_settings]

4
puppet/services/cinder-volume.yaml

@ -56,6 +56,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionCinderVolume:
default: 'overcloud-cinder-volume'
type: string
resources:
@ -71,6 +74,7 @@ outputs:
description: Role data for the Cinder Volume role.
value:
service_name: cinder_volume
monitoring_subscription: {get_param: MonitoringSubscriptionCinderVolume}
config_settings:
map_merge:
- get_attr: [CinderBase, role_data, config_settings]

4
puppet/services/glance-api.yaml

@ -73,12 +73,16 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionGlanceApi:
default: 'overcloud-glance-api'
type: string
outputs:
role_data:
description: Role data for the Glance API role.
value:
service_name: glance_api
monitoring_subscription: {get_param: MonitoringSubscriptionGlanceApi}
config_settings:
glance::api::database_connection:
list_join:

5
puppet/services/glance-registry.yaml

@ -30,12 +30,16 @@ parameters:
default: 0
description: Number of workers for Glance service.
type: number
MonitoringSubscriptionGlanceRegistry:
default: 'overcloud-glance-registry'
type: string
outputs:
role_data:
description: Role data for the Glance Registry role.
value:
service_name: glance_registry
monitoring_subscription: {get_param: MonitoringSubscriptionGlanceRegistry}
config_settings:
glance::registry::database_connection:
list_join:
@ -61,7 +65,6 @@ outputs:
- "%{hiera('mysql_bind_host')}"
glance::registry::db::database_db_max_retries: -1
glance::registry::db::database_max_retries: -1
tripleo.glance_registry.firewall_rules:
'112 glance_registry':
dport:

4
puppet/services/gnocchi-api.yaml

@ -33,6 +33,9 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionGnocchiApi:
default: 'overcloud-gnocchi-api'
type: string
resources:
@ -55,6 +58,7 @@ outputs:
description: Role data for the Gnocchi role.
value:
service_name: gnocchi_api
monitoring_subscription: {get_param: MonitoringSubscriptionGnocchiApi}
config_settings:
map_merge:
- get_attr: [ApacheServiceBase, role_data, config_settings]

4
puppet/services/gnocchi-metricd.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionGnocchiMetricd:
default: 'overcloud-gnocchi-metricd'
type: string
resources:
GnocchiServiceBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Gnocchi role.
value:
service_name: gnocchi_metricd
monitoring_subscription: {get_param: MonitoringSubscriptionGnocchiMetricd}
config_settings:
map_merge:
- get_attr: [GnocchiServiceBase, role_data, config_settings]

4
puppet/services/gnocchi-statsd.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionGnocchiStatsd:
default: 'overcloud-gnocchi-statsd'
type: string
resources:
GnocchiServiceBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Gnocchi role.
value:
service_name: gnocchi_statsd
monitoring_subscription: {get_param: MonitoringSubscriptionGnocchiStatsd}
config_settings:
map_merge:
- get_attr: [GnocchiServiceBase, role_data, config_settings]

4
puppet/services/haproxy.yaml

@ -44,12 +44,16 @@ parameters:
Specifies the interface where the public-facing virtual ip will be assigned.
This should be int_public when a VLAN is being used.
type: string
MonitoringSubscriptionHaproxy:
default: 'overcloud-haproxy'
type: string
outputs:
role_data:
description: Role data for the HAproxy role.
value:
service_name: haproxy
monitoring_subscription: {get_param: MonitoringSubscriptionHaproxy}
config_settings:
tripleo.haproxy.firewall_rules:
'107 haproxy stats':

4
puppet/services/heat-api-cfn.yaml

@ -30,6 +30,9 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionHeatApiCnf:
default: 'overcloud-heat-api-cfn'
type: string
resources:
HeatBase:
@ -44,6 +47,7 @@ outputs:
description: Role data for the Heat CloudFormation API role.
value:
service_name: heat_api_cfn
monitoring_subscription: {get_param: MonitoringSubscriptionHeatApiCnf}
config_settings:
map_merge:
- get_attr: [HeatBase, role_data, config_settings]

4
puppet/services/heat-api-cloudwatch.yaml

@ -22,6 +22,9 @@ parameters:
default: 0
description: Number of workers for Heat service.
type: number
MonitoringSubscriptionHeatApiCloudwatch:
default: 'overcloud-heat-api-cloudwatch'
type: string
resources:
HeatBase:
@ -36,6 +39,7 @@ outputs:
description: Role data for the Heat Cloudwatch API role.
value:
service_name: heat_api_cloudwatch
monitoring_subscription: {get_param: MonitoringSubscriptionHeatApiCloudwatch}
config_settings:
map_merge:
- get_attr: [HeatBase, role_data, config_settings]

4
puppet/services/heat-api.yaml

@ -30,6 +30,9 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionHeatApi:
default: 'overcloud-heat-api'
type: string
resources:
HeatBase:
@ -44,6 +47,7 @@ outputs:
description: Role data for the Heat API role.
value:
service_name: heat_api
monitoring_subscription: {get_param: MonitoringSubscriptionHeatApi}
config_settings:
map_merge:
- get_attr: [HeatBase, role_data, config_settings]

4
puppet/services/heat-engine.yaml

@ -40,6 +40,9 @@ parameters:
type: string
hidden: true
default: ''
MonitoringSubscriptionHeatEngine:
default: 'overcloud-heat-engine'
type: string
resources:
HeatBase:
@ -54,6 +57,7 @@ outputs:
description: Role data for the Heat Engine role.
value:
service_name: heat_engine
monitoring_subscription: {get_param: MonitoringSubscriptionHeatEngine}
config_settings:
map_merge:
- get_attr: [HeatBase, role_data, config_settings]

4
puppet/services/horizon.yaml

@ -40,12 +40,16 @@ parameters:
default: false
description: Enable IPv6 features in Memcached.
type: boolean
MonitoringSubscriptionHorizon:
default: 'overcloud-horizon'
type: string
outputs:
role_data:
description: Role data for the Horizon role.
value:
service_name: horizon
monitoring_subscription: {get_param: MonitoringSubscriptionHorizon}
config_settings:
horizon::allowed_hosts: {get_param: HorizonAllowedHosts}
neutron::plugins::ml2::mechanism_drivers:

4
puppet/services/ironic-api.yaml

@ -22,6 +22,9 @@ parameters:
description: The password for the Ironic service and db account, used by the Ironic services
type: string
hidden: true
MonitoringSubscriptionIronicApi:
default: 'overcloud-ironic-api'
type: string
resources:
IronicBase:
@ -36,6 +39,7 @@ outputs:
description: Role data for the Ironic API role.
value:
service_name: ironic_api
monitoring_subscription: {get_param: MonitoringSubscriptionIronicApi}
config_settings:
map_merge:
- get_attr: [IronicBase, role_data, config_settings]

4
puppet/services/ironic-conductor.yaml

@ -22,6 +22,9 @@ parameters:
default: ['pxe_ipmitool', 'agent_ipmitool']
description: Enabled Ironic drivers
type: comma_delimited_list
MonitoringSubscriptionIronicConductor:
default: 'overcloud-ironic-conductor'
type: string
resources:
IronicBase:
@ -36,6 +39,7 @@ outputs:
description: Role data for the Ironic conductor role.
value:
service_name: ironic_conductor
monitoring_subscription: {get_param: MonitoringSubscriptionIronicConductor}
config_settings:
map_merge:
- get_attr: [IronicBase, role_data, config_settings]

4
puppet/services/keepalived.yaml

@ -28,12 +28,16 @@ parameters:
Specifies the interface where the public-facing virtual ip will be assigned.
This should be int_public when a VLAN is being used.
type: string
MonitoringSubscriptionKeepalived:
default: 'overcloud-keepalived'
type: string
outputs:
role_data:
description: Role data for the Keepalived role.
value:
service_name: keepalived
monitoring_subscription: {get_param: MonitoringSubscriptionKeepalived}
config_settings:
tripleo::keepalived::control_virtual_interface: {get_param: ControlVirtualInterface}
tripleo::keepalived::public_virtual_interface: {get_param: PublicVirtualInterface}

4
puppet/services/keystone.yaml

@ -84,6 +84,9 @@ parameters:
type: string
description: Set the number of workers for keystone::wsgi::apache
default: '"%{::processorcount}"'
MonitoringSubscriptionKeystone:
default: 'overcloud-kestone'
type: string
resources:
@ -99,6 +102,7 @@ outputs:
description: Role data for the Keystone role.
value:
service_name: keystone
monitoring_subscription: {get_param: MonitoringSubscriptionKeystone}
config_settings:
config_settings:
map_merge:

4
puppet/services/manila-api.yaml

@ -26,6 +26,9 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionManilaApi:
default: 'overcloud-manila-api'
type: string
resources:
ManilaBase:
@ -40,6 +43,7 @@ outputs:
description: Role data for the Manila-api role.
value:
service_name: manila_api
monitoring_subscription: {get_param: MonitoringSubscriptionManilaApi}
config_settings:
map_merge:
- get_attr: [ManilaBase, role_data, config_settings]

5
puppet/services/manila-scheduler.yaml

@ -30,6 +30,9 @@ parameters:
description: The password for the manila service account.
type: string
hidden: true
MonitoringSubscriptionManilaScheduler:
default: 'overcloud-manila-scheduler'
type: string
resources:
ManilaBase:
@ -44,6 +47,7 @@ outputs:
description: Role data for the Manila-scheduler role.
value:
service_name: manila_scheduler
monitoring_subscription: {get_param: MonitoringSubscriptionManilaScheduler}
config_settings:
map_merge:
- get_attr: [ManilaBase, role_data, config_settings]
@ -65,4 +69,3 @@ outputs:
- '/manila'
step_config: |
include ::tripleo::profile::base::manila::scheduler

4
puppet/services/manila-share.yaml

@ -18,6 +18,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionManilaShare:
default: 'overcloud-manila-share'
type: string
resources:
ManilaBase:
@ -32,6 +35,7 @@ outputs:
description: Role data for the Manila-share role.
value:
service_name: manila_share
monitoring_subscription: {get_param: MonitoringSubscriptionManilaShare}
config_settings:
map_merge:
- get_attr: [ManilaBase, role_data, config_settings]

4
puppet/services/memcached.yaml

@ -18,12 +18,16 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
MonitoringSubscriptionMemcached:
default: 'overcloud-memcached'
type: string
outputs:
role_data:
description: Role data for the Memcached role.
value:
service_name: memcached
monitoring_subscription: {get_param: MonitoringSubscriptionMemcached}
config_settings:
# 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):

68
puppet/services/monitoring/sensu-base.yaml

@ -0,0 +1,68 @@
heat_template_version: 2016-04-08
description: Sensu base service
parameters:
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
DefaultPasswords:
default: {}
type: json
MonitoringRabbitHost:
description: RabbitMQ host Sensu has to connect to.
type: string
default: ''
MonitoringRabbitPort:
default: 5672
description: Set RabbitMQ subscriber port, change this if using SSL.
type: number
MonitoringRabbitUseSSL:
default: false
description: >
RabbitMQ client subscriber parameter to specify an SSL connection
to the RabbitMQ host.
type: string
MonitoringRabbitPassword:
description: The RabbitMQ password used for monitoring purposes.
type: string
hidden: true
MonitoringRabbitUserName:
description: The RabbitMQ username used for monitoring purposes.
type: string
default: sensu
MonitoringRabbitVhost:
description: The RabbitMQ vhost used for monitoring purposes.
type: string
default: '/sensu'
outputs:
role_data:
description: Role data for the Sensu role.
value:
service_name: sensu_base
config_settings:
sensu::enterprise: false
sensu::enterprise_dashboard: false
sensu::install_repo: false
sensu::manage_user: false
sensu::rabbitmq_host: {get_param: MonitoringRabbitHost}
sensu::rabbitmq_password: {get_param: MonitoringRabbitPassword}
sensu::rabbitmq_port: {get_param: MonitoringRabbitPort}
sensu::rabbitmq_ssl: {get_param: MonitoringRabbitUseSSL}
sensu::rabbitmq_user: {get_param: MonitoringRabbitUserName}
sensu::rabbitmq_vhost: {get_param: MonitoringRabbitVhost}
#sensu::redis_host: {get_param: MonitoringRedisHost}
#sensu::redis_password: {get_param: MonitoringRedisPassword}
sensu::sensu_plugin_provider: 'yum'
sensu::sensu_plugin_name: 'rubygem-sensu-plugin'
sensu::version: 'present'

49
puppet/services/monitoring/sensu-client.yaml

@ -0,0 +1,49 @@
heat_template_version: 2016-04-08
description: Sensu client configured with Puppet
parameters:
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
EndpointMap:
default: {}
description: >
Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
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:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
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: {get_param: SensuClientCustomConfig}
step_config: |
include ::tripleo::profile::base::monitoring::sensu

4
puppet/services/neutron-api.yaml

@ -46,6 +46,9 @@ parameters:
type: string
default: 'regionOne'
description: Keystone region for endpoint
MonitoringSubscriptionNeutronServer:
default: 'overcloud-neutron-server'
type: string
resources:
@ -61,6 +64,7 @@ outputs:
description: Role data for the Neutron Server agent service.
value:
service_name: neutron_api
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronServer}
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]

4
puppet/services/neutron-dhcp.yaml

@ -31,6 +31,9 @@ parameters:
default: false
description: If True, DHCP always provides metadata route to VM.
type: boolean
MonitoringSubscriptionNeutronDhcp:
default: 'overcloud-neutron-dhcp'
type: string
resources:
@ -46,6 +49,7 @@ outputs:
description: Role data for the Neutron DHCP agent service.
value:
service_name: neutron_dhcp
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronDhcp}
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]

4
puppet/services/neutron-l3-compute-dvr.yaml

@ -26,6 +26,9 @@ parameters:
description: Name of bridge used for external network traffic.
type: string
default: 'br-ex'
MonitoringSubscriptionNeutronL3Dvr:
default: 'overcloud-neutron-l3-dvr'
type: string
resources:
@ -41,6 +44,7 @@ outputs:
description: Role data for DVR L3 Agent on Compute Nodes
value:
service_name: neutron_l3_compute_dvr
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronL3Dvr}
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]

4
puppet/services/neutron-l3.yaml

@ -34,6 +34,9 @@ parameters:
- allowed_values:
- legacy
- dvr_snat
MonitoringSubscriptionNeutronL3:
default: 'overcloud-neutron-l3-agent'
type: string
resources:
@ -49,6 +52,7 @@ outputs:
description: Role data for the Neutron L3 agent service.
value:
service_name: neutron_l3
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronL3}
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]

4
puppet/services/neutron-metadata.yaml

@ -30,6 +30,9 @@ parameters:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
MonitoringSubscriptionNeutronMetadata:
default: 'overcloud-neutron-metadata'
type: string
resources:
@ -45,6 +48,7 @@ outputs:
description: Role data for the Neutron Metadata agent service.
value:
service_name: neutron_metadata
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronMetadata}
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]

4
puppet/services/neutron-midonet.yaml

@ -40,12 +40,16 @@ parameters:
description: 'Whether enable Cassandra cluster on Controller'
type: boolean
default: false
MonitoringSubscriptionNeutronMidonet:
default: 'overcloud-neutron-midonet'
type: string
outputs:
role_data:
description: Role data for the Neutron Midonet plugin and services
value:
service_name: neutron_midonet
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronMidonet}
config_settings:
tripleo::profile::base::neutron::midonet::admin_password: {get_param: AdminPassword}
tripleo::profile::base::neutron::midonet::keystone_admin_token: {get_param: AdminToken}

4
puppet/services/neutron-ovs-agent.yaml

@ -53,6 +53,9 @@ parameters:
description: |
Enable ARP responder feature in the OVS Agent.
type: boolean
MonitoringSubscriptionNeutronOvs:
default: 'overcloud-neutron-ovs-agent'
type: string
resources:
@ -68,6 +71,7 @@ outputs:
description: Role data for the Neutron OVS agent service.
value:
service_name: neutron_ovs_agent
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronOvs}
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]

4
puppet/services/nova-api.yaml

@ -43,6 +43,9 @@ parameters:
description: |
Whether to create cron job for purging soft deleted rows in Nova database.
type: boolean
MonitoringSubscriptionNovaApi:
default: 'overcloud-nova-api'
type: string
resources:
NovaBase:
@ -57,6 +60,7 @@ outputs:
description: Role data for the Nova API service.
value:
service_name: nova_api
monitoring_subscription: {get_param: MonitoringSubscriptionNovaApi}
config_settings:
map_merge:
- get_attr: [NovaBase, role_data, config_settings]

4
puppet/services/nova-compute.yaml

@ -67,6 +67,9 @@ parameters:
default: 2048
constraints:
- range: { min: 512 }
MonitoringSubscriptionNovaCompute:
default: 'overcloud-nova-compute'
type: string
resources:
NovaBase:
@ -81,6 +84,7 @@ outputs:
description: Role data for the Nova Compute service.
value:
service_name: nova_compute
monitoring_subscription: {get_param: MonitoringSubscriptionNovaCompute}
config_settings:
map_merge: