Skip to content

Commit

Permalink
Merge pull request #46 from signalfx/specify_package_version
Browse files Browse the repository at this point in the history
Add ability to set package version and use
  • Loading branch information
charless-splunk authored Oct 12, 2016
2 parents cb01248 + 477abea commit 913d510
Show file tree
Hide file tree
Showing 23 changed files with 123 additions and 22 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Release 0.1.10
* Allow setting github repo revision to pull from in get_from_github
* Standardize all plugin templates to use modules parameter
* Introduce ability to set template location
* Introduce ability to set package version and use

Release 0.1.9
* Fix for vmstat plugin to support RHEL
Expand Down
5 changes: 3 additions & 2 deletions manifests/check_and_install_package.pp
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Checks if a package is defined and install otherwise
#
define collectd::check_and_install_package(
$package_name = $title
$package_name = $title,
$package_ensure = present,
) {
if(!defined(Package[$package_name])){
package { $package_name:
ensure => present,
ensure => $package_ensure,
require => Class['collectd::get_signalfx_repository']
}
}
Expand Down
3 changes: 3 additions & 0 deletions manifests/plugins/aggregation.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
include collectd

collectd::plugins::plugin_common { 'aggregation':
package_name => 'UNSET',
package_ensure => present,
package_required => false,
plugin_file_name => '10-aggregation-cpu.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/apache.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/apache/10-apache.conf.erb',
$package_name = 'collectd-apache',
$package_ensure = present,
$package_required = ($::osfamily == 'RedHat')
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd

collectd::plugins::plugin_common { 'apache':
package_name => 'collectd-apache',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-apache.conf',
plugin_template => $plugin_template,
}
Expand Down
6 changes: 6 additions & 0 deletions manifests/plugins/cassandra.pp
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
class collectd::plugins::cassandra (
$modules,
$plugin_template = 'collectd/plugins/cassandra/20-cassandra.conf.erb',
$package_name = 'UNSET',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd
include collectd::plugins::java

collectd::plugins::plugin_common { 'cassandra':
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '20-cassandra.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/docker.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/docker/10-docker.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
Expand Down Expand Up @@ -55,7 +58,9 @@
}

collectd::plugins::plugin_common { 'docker':
package_name => 'collectd-docker',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-docker.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/elasticsearch.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/elasticsearch/20-elasticsearch.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
Expand All @@ -27,7 +30,9 @@
}

collectd::plugins::plugin_common { 'elasticsearch':
package_name => 'collectd-python',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '20-elasticsearch.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/iostat.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/iostat/10-iostat.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
Expand Down Expand Up @@ -39,7 +42,9 @@
}

collectd::plugins::plugin_common { 'iostat':
package_name => 'collectd-python',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-iostat.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/java.pp
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
class collectd::plugins::java (
$plugin_template = 'collectd/plugins/java/10-jmx.conf.erb',
$package_name = 'collectd-java',
$package_ensure = present,
$package_required = ($::osfamily == 'RedHat')
) {
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd
Expand All @@ -23,7 +26,9 @@
}

collectd::plugins::plugin_common { 'java':
package_name => 'collectd-java',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-jmx.conf',
plugin_template => $plugin_template,
}
Expand Down
6 changes: 6 additions & 0 deletions manifests/plugins/kafka.pp
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
class collectd::plugins::kafka (
$modules,
$plugin_template = 'collectd/plugins/kafka/20-kafka.conf.erb',
$package_name = 'UNSET',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd
include collectd::plugins::java

collectd::plugins::plugin_common { 'kafka':
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '20-kafka.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/memcached.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/memcached/10-memcached.conf.erb',
$package_name = 'UNSET',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd

collectd::plugins::plugin_common { 'memcached':
package_name => 'collectd-memcached',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-memcached.conf',
plugin_template => $plugin_template,
}
Expand Down
6 changes: 6 additions & 0 deletions manifests/plugins/mesos.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/mesos/10-mesos-master.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
Expand Down Expand Up @@ -38,6 +41,9 @@
}

collectd::plugins::plugin_common { 'mesos':
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-mesos-master.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/mongodb.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/mongodb/10-mongodb.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
Expand Down Expand Up @@ -44,7 +47,9 @@
}

collectd::plugins::plugin_common { 'mongodb':
package_name => 'collectd-python',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-mongodb.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/mysql.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/mysql/mysql.conf.erb',
$package_name = 'collectd-mysql',
$package_ensure = present,
$package_required = ($::osfamily == 'RedHat')
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] }
include collectd

collectd::plugins::plugin_common { 'mysql':
package_name => 'collectd-mysql',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-mysql.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/nginx.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/nginx/10-nginx.conf.erb',
$package_name = 'collectd-nginx',
$package_ensure = present,
$package_required = ($::osfamily == 'RedHat')
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd

collectd::plugins::plugin_common { 'nginx':
package_name => 'collectd-nginx',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-nginx.conf',
plugin_template => $plugin_template,
}
Expand Down
11 changes: 7 additions & 4 deletions manifests/plugins/plugin_common.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,18 @@
define collectd::plugins::plugin_common (
$plugin_file_name,
$plugin_template,
$package_name = 'UNSET'
$package_name = 'UNSET',
$package_ensure = present,
$package_required = false,
){
validate_string($plugin_file_name)
validate_string($plugin_template)

if $::osfamily == 'RedHat' and $package_name != 'UNSET' {
if $package_name != 'UNSET' and $package_required == true {
collectd::check_and_install_package { "${package_name} for ${plugin_file_name}":
package_name => $package_name,
before => File["load ${plugin_file_name} plugin"]
package_name => $package_name,
package_ensure => $package_ensure,
before => File["load ${plugin_file_name} plugin"]
}
}

Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/postgresql.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/postgresql/10-postgresql.conf.erb',
$package_name = 'collectd-postgresql',
$package_ensure = present,
$package_required = ($::osfamily == 'RedHat')
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd

collectd::plugins::plugin_common { 'postgresql':
package_name => 'collectd-postgresql',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-postgresql.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/rabbitmq.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/rabbitmq/rabbitmq.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] }
Expand All @@ -15,7 +18,9 @@
source => 'https://github.com/signalfx/collectd-rabbitmq'
} ->
collectd::plugins::plugin_common { 'rabbitmq':
package_name => 'collectd-python',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-rabbitmq.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/redis.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/redis/10-redis_master.conf.erb',
$package_name = 'collectd-python',
$package_ensure = present,
$package_required = false
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
Expand All @@ -27,7 +30,9 @@
}

collectd::plugins::plugin_common { 'redis':
package_name => 'collectd-python',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-redis_master.conf',
plugin_template => $plugin_template,
}
Expand Down
7 changes: 6 additions & 1 deletion manifests/plugins/varnish.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
$filter_metrics = false,
$filter_metric_rules = {},
$plugin_template = 'collectd/plugins/varnish/10-varnish.conf.erb',
$package_name = 'collectd-varnish',
$package_ensure = present,
$package_required = ($::osfamily == 'RedHat')
) {
validate_hash($modules)
Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] }
include collectd

collectd::plugins::plugin_common { 'varnish':
package_name => 'collectd-varnish',
package_name => $package_name,
package_ensure => $package_ensure,
package_required => $package_required,
plugin_file_name => '10-varnish.conf',
plugin_template => $plugin_template,
}
Expand Down
Loading

0 comments on commit 913d510

Please sign in to comment.