summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifests/profile/base/monitoring/rabbitmq.pp54
-rw-r--r--manifests/profile/base/monitoring/sensu.pp36
-rw-r--r--manifests/profile/base/monitoring/uchiwa.pp32
-rw-r--r--metadata.json4
4 files changed, 125 insertions, 1 deletions
diff --git a/manifests/profile/base/monitoring/rabbitmq.pp b/manifests/profile/base/monitoring/rabbitmq.pp
new file mode 100644
index 0000000..4c5ad41
--- /dev/null
+++ b/manifests/profile/base/monitoring/rabbitmq.pp
@@ -0,0 +1,54 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::sensu::rabbitmq
+#
+# RabbitMQ configuration for Sensu stack for TripleO
+#
+# === Parameters
+#
+# [*vhost*]
+# (Optional) String. RabbitMQ vhost to be used by Sensu
+# Defaults to '/sensu'
+#
+# [*user*]
+# (Optional) String. Username to connect to RabbitMQ server
+# Defaults to hiera('rabbit_username', 'sensu')
+#
+# [*password*]
+# (Optional) String. Password to connect to RabbitMQ server
+# Defaults to hiera('rabbit_password', undef)
+#
+class tripleo::profile::base::monitoring::rabbitmq (
+ $vhost = hiera('monitoring_rabbitmq_vhost', '/sensu'),
+ $user = hiera('monitoring_rabbitmq_username', 'sensu'),
+ $password = hiera('monitoring_rabbitmq_password', undef),
+) {
+ rabbitmq_vhost { 'sensu-rabbit-vhost':
+ ensure => present,
+ name => $vhost
+ }
+
+ rabbitmq_user { 'sensu-rabbit-user':
+ name => $user,
+ password => $password,
+ tags => ['monitoring']
+ }
+
+ rabbitmq_user_permissions { "${user}@${vhost}":
+ configure_permission => '.*',
+ read_permission => '.*',
+ write_permission => '.*',
+ }
+}
diff --git a/manifests/profile/base/monitoring/sensu.pp b/manifests/profile/base/monitoring/sensu.pp
new file mode 100644
index 0000000..af09059
--- /dev/null
+++ b/manifests/profile/base/monitoring/sensu.pp
@@ -0,0 +1,36 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::monitoring::sensu
+#
+# Sensu configuration for TripleO
+#
+# === Parameters
+#
+# [*step*]
+# (Optional) String. The current step of the deployment
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::monitoring::sensu (
+ $step = hiera('step', undef),
+) {
+
+ if $step == undef or $step >= 3 {
+ include ::sensu
+
+ package { 'osops-tools-monitoring-oschecks':
+ ensure => 'present'
+ }
+ }
+}
diff --git a/manifests/profile/base/monitoring/uchiwa.pp b/manifests/profile/base/monitoring/uchiwa.pp
new file mode 100644
index 0000000..7c61f3e
--- /dev/null
+++ b/manifests/profile/base/monitoring/uchiwa.pp
@@ -0,0 +1,32 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::monitoring::uchiwa
+#
+# Monitoring dashboards for TripleO
+#
+# === Parameters
+#
+# [*step*]
+# (Optional) String. The current step of the deployment
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::monitoring::uchiwa (
+ $step = hiera('step', undef),
+) {
+
+ if $step == undef or $step >= 3 {
+ include ::uchiwa
+ }
+}
diff --git a/metadata.json b/metadata.json
index 457f86e..8d38b3f 100644
--- a/metadata.json
+++ b/metadata.json
@@ -23,6 +23,8 @@
}
],
"dependencies": [
- { "name": "puppetlabs/stdlib", "version_requirement": ">= 3.2.0 < 5.0.0" }
+ { "name": "puppetlabs/stdlib", "version_requirement": ">= 3.2.0 < 5.0.0" },
+ { "name": "sensu/sensu" },
+ { "name": "yelp/uchiwa" }
]
}