diff --git a/.vagrant-puppet/files/etc/icinga2/conf.d/test-config.conf b/.vagrant-puppet/files/etc/icinga2/conf.d/test-config.conf index edf3ecffd..ee13a0ebb 100644 --- a/.vagrant-puppet/files/etc/icinga2/conf.d/test-config.conf +++ b/.vagrant-puppet/files/etc/icinga2/conf.d/test-config.conf @@ -40,6 +40,7 @@ template CheckCommand "dummy-service-generic" { vars.check_servicedesc = "$service.name$" } +// Concrete check commands object CheckCommand "dummy-host" { import "dummy-host-generic" } @@ -49,7 +50,6 @@ object CheckCommand "dummy-service" { } // Hostgroups - object HostGroup "all-hosts" { display_name = "All hosts on the system" assign where true @@ -86,7 +86,6 @@ object HostGroup "all-pending" { } // Servicegroups - object ServiceGroup "service-ok" { display_name = "All ok services" assign where regex("^service-ok", service.name) @@ -118,13 +117,18 @@ object ServiceGroup "service-pending" { assign where regex("^service-pending", service.name) } +// Config helper +function loop(count, func) { + count == 1 || loop(count - 1, func) + func(count) +} // --------------------------------------------------------------------------------------------------------------------- // Services // --------------------------------------------------------------------------------------------------------------------- function createService(filter, num, checkEnabled) { - apply Service "service-" + filter + "-" + num { + apply Service "service-" + filter + "-" + string(num) { import "generic-service" check_command = "dummy-service" enable_active_checks = checkEnabled @@ -133,47 +137,22 @@ function createService(filter, num, checkEnabled) { } } -createService("ok", "001", true) -createService("ok", "002", true) -createService("ok", "003", true) -createService("ok", "004", true) - -createService("warning", "001", true) -createService("warning", "002", true) -createService("warning", "003", true) -createService("warning", "004", true) - -createService("critical", "001", true) -createService("critical", "002", true) -createService("critical", "003", true) -createService("critical", "004", true) - -createService("flap", "001", true) -createService("flap", "002", true) -createService("flap", "003", true) -createService("flap", "004", true) - -createService("random", "001", true) -createService("random", "002", true) -createService("random", "003", true) -createService("random", "004", true) - -createService("unknown", "001", true) -createService("unknown", "002", true) -createService("unknown", "003", true) -createService("unknown", "004", true) - -createService("pending", "001", false) -createService("pending", "002", false) -createService("pending", "003", false) -createService("pending", "004", false) +loop(4, lambda num: { + createService("ok", num, true) + createService("warning", num, true) + createService("critical", num, true) + createService("flap", num, true) + createService("random", num, true) + createService("unknown", num, true) + createService("pending", num, false) +}) // --------------------------------------------------------------------------------------------------------------------- // Hosts // --------------------------------------------------------------------------------------------------------------------- function createHost(checkType, checkConfig, num, checkEnabled) { - object Host "test-" + checkType + "-" + num { + object Host "test-" + checkType + "-" + string(num) { import "generic-host" address = "127.0.0.1" check_command = "dummy-host" @@ -183,76 +162,13 @@ function createHost(checkType, checkConfig, num, checkEnabled) { } } -// OK -createHost("ok", "ok", "001", true) -createHost("ok", "ok", "002", true) -createHost("ok", "ok", "003", true) -createHost("ok", "ok", "004", true) -createHost("ok", "ok", "005", true) -createHost("ok", "ok", "006", true) -createHost("ok", "ok", "007", true) -createHost("ok", "ok", "008", true) -createHost("ok", "ok", "009", true) -createHost("ok", "ok", "010", true) - -// Chaotic -createHost("random", "random,flap", "001", true) -createHost("random", "random,flap", "002", true) -createHost("random", "random,flap", "003", true) -createHost("random", "random,flap", "004", true) -createHost("random", "random,flap", "005", true) -createHost("random", "random,flap", "006", true) -createHost("random", "random,flap", "007", true) -createHost("random", "random,flap", "008", true) -createHost("random", "random,flap", "009", true) -createHost("random", "random,flap", "010", true) - -// Down -createHost("down", "warning,critical", "001", true) -createHost("down", "warning,critical", "002", true) -createHost("down", "warning,critical", "003", true) -createHost("down", "warning,critical", "004", true) -createHost("down", "warning,critical", "005", true) -createHost("down", "warning,critical", "006", true) -createHost("down", "warning,critical", "007", true) -createHost("down", "warning,critical", "008", true) -createHost("down", "warning,critical", "009", true) -createHost("down", "warning,critical", "010", true) - -// Unreachable -createHost("unreachable", "unknown", "001", true) -createHost("unreachable", "unknown", "002", true) -createHost("unreachable", "unknown", "003", true) -createHost("unreachable", "unknown", "004", true) -createHost("unreachable", "unknown", "005", true) -createHost("unreachable", "unknown", "006", true) -createHost("unreachable", "unknown", "007", true) -createHost("unreachable", "unknown", "008", true) -createHost("unreachable", "unknown", "009", true) -createHost("unreachable", "unknown", "010", true) - -// Pending -createHost("pending", "pending", "001", false) -createHost("pending", "pending", "002", false) -createHost("pending", "pending", "003", false) -createHost("pending", "pending", "004", false) -createHost("pending", "pending", "005", false) -createHost("pending", "pending", "006", false) -createHost("pending", "pending", "007", false) -createHost("pending", "pending", "008", false) -createHost("pending", "pending", "009", false) -createHost("pending", "pending", "010", false) - -// Flapping -createHost("flap", "flap", "001", true) -createHost("flap", "flap", "002", true) -createHost("flap", "flap", "003", true) -createHost("flap", "flap", "004", true) -createHost("flap", "flap", "005", true) -createHost("flap", "flap", "006", true) -createHost("flap", "flap", "007", true) -createHost("flap", "flap", "008", true) -createHost("flap", "flap", "009", true) -createHost("flap", "flap", "010", true) +loop(10, lambda num: { + createHost("ok", "ok", num, true) + createHost("random", "random,flap", num, true) + createHost("down", "warning,critical", num, true) + createHost("unreachable", "unknown", num, true) + createHost("pending", "pending", num, false) + createHost("flap", "flap", num, true) + }) // EOF \ No newline at end of file diff --git a/.vagrant-puppet/manifests/default.pp b/.vagrant-puppet/manifests/default.pp index 526bdda2b..4d30e58c4 100644 --- a/.vagrant-puppet/manifests/default.pp +++ b/.vagrant-puppet/manifests/default.pp @@ -344,7 +344,7 @@ package { ['cmake', 'boost-devel', 'bison', 'flex']: } yumrepo { 'icinga2-repo': - baseurl => "http://packages.icinga.org/epel/6/release/", + baseurl => "http://packages.icinga.org/epel/6/snapshot/", enabled => '0', gpgcheck => '1', gpgkey => 'http://packages.icinga.org/icinga.key',