Add puppet profile for snmp
authorSteven Hardy <shardy@redhat.com>
Tue, 24 May 2016 17:34:18 +0000 (18:34 +0100)
committerEmilien Macchi <emilien@redhat.com>
Sat, 18 Jun 2016 16:30:34 +0000 (16:30 +0000)
Breaks out the snmp configuration from t-h-t to a composable profile

Change-Id: I7e6ab28a99b759594187e8571af6e22d836ae7bf
Partially-Implements: blueprint refactor-puppet-manifests

manifests/profile/base/snmp.pp [new file with mode: 0644]

diff --git a/manifests/profile/base/snmp.pp b/manifests/profile/base/snmp.pp
new file mode 100644 (file)
index 0000000..40f7393
--- /dev/null
@@ -0,0 +1,50 @@
+# 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::snmp
+#
+# SNMP profile for tripleo
+#
+# === Parameters
+#
+# [*step*]
+#   (Optional) The current step in deployment. See tripleo-heat-templates
+#   for more details.
+#   Defaults to hiera('step')
+#
+# [*snmpd_user*]
+#   The SNMP username
+#   Defaults to hiera('snmpd_readonly_user_name')
+#
+# [*snmpd_password*]
+#   The SNMP password
+#   Defaults to hiera('snmpd_readonly_user_password')
+#
+class tripleo::profile::base::snmp (
+  $step           = hiera('step'),
+  $snmpd_user     = hiera('snmpd_readonly_user_name'),
+  $snmpd_password = hiera('snmpd_readonly_user_password'),
+) {
+
+  if $step >= 4 {
+    snmp::snmpv3_user { $snmpd_user:
+      authtype => 'MD5',
+      authpass => $snmpd_password,
+    }
+    class { '::snmp':
+      agentaddress => ['udp:161','udp6:[::1]:161'],
+      snmpd_config => [ join(['createUser ', $snmpd_user, ' MD5 "', $snmpd_password, '"']), join(['rouser ', $snmpd_user]), 'proc  cron', 'includeAllDisks  10%', 'master agentx', 'trapsink localhost public', 'iquerySecName internalUser', 'rouser internalUser', 'defaultMonitors yes', 'linkUpDownNotifications yes' ],
+    }
+  }
+}