dtk-node-agent 0.7.7 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +5 -13
  2. data/README.md +21 -4
  3. data/bin/dtk-node-agent +17 -0
  4. data/lib/config/install.config +2 -2
  5. data/lib/dtk-node-agent/installer.rb +30 -25
  6. data/lib/dtk-node-agent/version.rb +18 -1
  7. metadata +23 -110
  8. data/mcollective_additions/debian.mcollective.init +0 -92
  9. data/mcollective_additions/plugins/README.md +0 -1
  10. data/mcollective_additions/plugins/v1.2/agent/discovery.rb +0 -39
  11. data/mcollective_additions/plugins/v1.2/agent/get_log_fragment.ddl +0 -15
  12. data/mcollective_additions/plugins/v1.2/agent/get_log_fragment.rb +0 -79
  13. data/mcollective_additions/plugins/v1.2/agent/git_access.ddl +0 -9
  14. data/mcollective_additions/plugins/v1.2/agent/git_access.rb +0 -79
  15. data/mcollective_additions/plugins/v1.2/agent/netstat.ddl +0 -9
  16. data/mcollective_additions/plugins/v1.2/agent/netstat.rb +0 -34
  17. data/mcollective_additions/plugins/v1.2/agent/puppet_apply.ddl +0 -9
  18. data/mcollective_additions/plugins/v1.2/agent/puppet_apply.rb +0 -630
  19. data/mcollective_additions/plugins/v1.2/agent/rpcutil.ddl +0 -204
  20. data/mcollective_additions/plugins/v1.2/agent/rpcutil.rb +0 -101
  21. data/mcollective_additions/plugins/v1.2/facts/pbuilder_facts.rb +0 -35
  22. data/mcollective_additions/plugins/v2.2/agent/action_agent.ddl +0 -9
  23. data/mcollective_additions/plugins/v2.2/agent/action_agent.rb +0 -47
  24. data/mcollective_additions/plugins/v2.2/agent/dev_manager.ddl +0 -9
  25. data/mcollective_additions/plugins/v2.2/agent/dev_manager.rb +0 -111
  26. data/mcollective_additions/plugins/v2.2/agent/discovery.rb +0 -39
  27. data/mcollective_additions/plugins/v2.2/agent/dtk_node_agent_git_client.rb +0 -94
  28. data/mcollective_additions/plugins/v2.2/agent/execute_tests.ddl +0 -9
  29. data/mcollective_additions/plugins/v2.2/agent/execute_tests.rb +0 -111
  30. data/mcollective_additions/plugins/v2.2/agent/execute_tests_v2.ddl +0 -9
  31. data/mcollective_additions/plugins/v2.2/agent/execute_tests_v2.rb +0 -131
  32. data/mcollective_additions/plugins/v2.2/agent/get_log_fragment.ddl +0 -15
  33. data/mcollective_additions/plugins/v2.2/agent/get_log_fragment.rb +0 -79
  34. data/mcollective_additions/plugins/v2.2/agent/git_access.ddl +0 -9
  35. data/mcollective_additions/plugins/v2.2/agent/git_access.rb +0 -61
  36. data/mcollective_additions/plugins/v2.2/agent/netstat.ddl +0 -9
  37. data/mcollective_additions/plugins/v2.2/agent/netstat.rb +0 -34
  38. data/mcollective_additions/plugins/v2.2/agent/ps.ddl +0 -9
  39. data/mcollective_additions/plugins/v2.2/agent/ps.rb +0 -37
  40. data/mcollective_additions/plugins/v2.2/agent/puppet_apply.ddl +0 -9
  41. data/mcollective_additions/plugins/v2.2/agent/puppet_apply.rb +0 -818
  42. data/mcollective_additions/plugins/v2.2/agent/puppet_cancel.ddl +0 -10
  43. data/mcollective_additions/plugins/v2.2/agent/puppet_cancel.rb +0 -78
  44. data/mcollective_additions/plugins/v2.2/agent/rpcutil.ddl +0 -204
  45. data/mcollective_additions/plugins/v2.2/agent/rpcutil.rb +0 -101
  46. data/mcollective_additions/plugins/v2.2/agent/ssh_agent.ddl +0 -13
  47. data/mcollective_additions/plugins/v2.2/agent/ssh_agent.rb +0 -97
  48. data/mcollective_additions/plugins/v2.2/agent/sync_agent_code.ddl +0 -10
  49. data/mcollective_additions/plugins/v2.2/agent/sync_agent_code.rb +0 -85
  50. data/mcollective_additions/plugins/v2.2/agent/tail.ddl +0 -11
  51. data/mcollective_additions/plugins/v2.2/agent/tail.rb +0 -67
  52. data/mcollective_additions/plugins/v2.2/audit/logfile.rb +0 -26
  53. data/mcollective_additions/plugins/v2.2/connector/r8stomp.rb +0 -238
  54. data/mcollective_additions/plugins/v2.2/connector/stomp.rb +0 -349
  55. data/mcollective_additions/plugins/v2.2/connector/stomp_em.rb +0 -191
  56. data/mcollective_additions/plugins/v2.2/data/agent_data.ddl +0 -22
  57. data/mcollective_additions/plugins/v2.2/data/agent_data.rb +0 -17
  58. data/mcollective_additions/plugins/v2.2/data/collective_data.ddl +0 -20
  59. data/mcollective_additions/plugins/v2.2/data/collective_data.rb +0 -9
  60. data/mcollective_additions/plugins/v2.2/data/fact_data.ddl +0 -28
  61. data/mcollective_additions/plugins/v2.2/data/fact_data.rb +0 -55
  62. data/mcollective_additions/plugins/v2.2/data/fstat_data.ddl +0 -89
  63. data/mcollective_additions/plugins/v2.2/data/fstat_data.rb +0 -56
  64. data/mcollective_additions/plugins/v2.2/discovery/flatfile.ddl +0 -11
  65. data/mcollective_additions/plugins/v2.2/discovery/flatfile.rb +0 -48
  66. data/mcollective_additions/plugins/v2.2/discovery/mc.ddl +0 -11
  67. data/mcollective_additions/plugins/v2.2/discovery/mc.rb +0 -30
  68. data/mcollective_additions/plugins/v2.2/discovery/stdin.ddl +0 -11
  69. data/mcollective_additions/plugins/v2.2/discovery/stdin.rb +0 -66
  70. data/mcollective_additions/plugins/v2.2/facts/pbuilder_facts.rb +0 -37
  71. data/mcollective_additions/plugins/v2.2/facts/yaml_facts.rb +0 -61
  72. data/mcollective_additions/plugins/v2.2/registration/agentlist.rb +0 -10
  73. data/mcollective_additions/plugins/v2.2/security/sshkey.ddl +0 -9
  74. data/mcollective_additions/plugins/v2.2/security/sshkey.rb +0 -362
  75. data/mcollective_additions/plugins/v2.2/util/puppetrunner.rb +0 -36
  76. data/mcollective_additions/plugins/v2.2/validator/array_validator.ddl +0 -7
  77. data/mcollective_additions/plugins/v2.2/validator/array_validator.rb +0 -9
  78. data/mcollective_additions/plugins/v2.2/validator/ipv4address_validator.ddl +0 -7
  79. data/mcollective_additions/plugins/v2.2/validator/ipv4address_validator.rb +0 -16
  80. data/mcollective_additions/plugins/v2.2/validator/ipv6address_validator.ddl +0 -7
  81. data/mcollective_additions/plugins/v2.2/validator/ipv6address_validator.rb +0 -16
  82. data/mcollective_additions/plugins/v2.2/validator/length_validator.ddl +0 -7
  83. data/mcollective_additions/plugins/v2.2/validator/length_validator.rb +0 -11
  84. data/mcollective_additions/plugins/v2.2/validator/regex_validator.ddl +0 -7
  85. data/mcollective_additions/plugins/v2.2/validator/regex_validator.rb +0 -9
  86. data/mcollective_additions/plugins/v2.2/validator/shellsafe_validator.ddl +0 -7
  87. data/mcollective_additions/plugins/v2.2/validator/shellsafe_validator.rb +0 -13
  88. data/mcollective_additions/plugins/v2.2/validator/typecheck_validator.ddl +0 -7
  89. data/mcollective_additions/plugins/v2.2/validator/typecheck_validator.rb +0 -28
  90. data/mcollective_additions/redhat.mcollective.init +0 -139
  91. data/mcollective_additions/redhat.mcollective.service +0 -14
  92. data/mcollective_additions/server.cfg +0 -22
  93. data/src/etc/logrotate.d/mcollective +0 -10
  94. data/src/etc/mcollective.default +0 -6
@@ -1,36 +0,0 @@
1
- require 'puppet'
2
-
3
- module MCollective
4
- module Util
5
- class PuppetRunner
6
-
7
- def self.apply(puppet_definition, resource_hash)
8
- if Puppet.settings.respond_to?(:initialize_global_settings)
9
- Puppet.settings.initialize_global_settings
10
- end
11
-
12
- if Puppet.settings.respond_to?(:initialize_app_defaults)
13
- Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(Puppet.run_mode))
14
- end
15
-
16
- Log.info("Puppet Runner, INPUT :")
17
- Log.info(puppet_definition)
18
- Log.info(resource_hash.inspect)
19
- Log.info("########################################################################")
20
-
21
- pup = Puppet::Type.type(puppet_definition).new(resource_hash)
22
- catalog = Puppet::Resource::Catalog.new
23
- catalog.add_resource pup
24
- catalog.apply()
25
-
26
- Log.info("Puppet Runner, OUTPUT: ")
27
- Log.info(Thread.current[:report_status])
28
- Log.info(Thread.current[:report_info])
29
- Log.info("########################################################################")
30
- true
31
- end
32
-
33
- end
34
- end
35
- end
36
-
@@ -1,7 +0,0 @@
1
- metadata :name => "Array",
2
- :description => "Validates that a value is included in a list",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,9 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class ArrayValidator
4
- def self.validate(validator, array)
5
- raise ValidatorError, "value should be one of %s" % [ array.join(", ") ] unless array.include?(validator)
6
- end
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- metadata :name => "IPv4 Address",
2
- :description => "Validates that a value is an ipv4 address",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,16 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class Ipv4addressValidator
4
- require 'ipaddr'
5
-
6
- def self.validate(validator)
7
- begin
8
- ip = IPAddr.new(validator)
9
- raise ValidatorError, "value should be an ipv4 adddress" unless ip.ipv4?
10
- rescue
11
- raise ValidatorError, "value should be an ipv4 address"
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,7 +0,0 @@
1
- metadata :name => "IPv6 Address",
2
- :description => "Validates that a value is an ipv6 address",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,16 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class Ipv6addressValidator
4
- require 'ipaddr'
5
-
6
- def self.validate(validator)
7
- begin
8
- ip = IPAddr.new(validator)
9
- raise ValidatorError, "value should be an ipv6 adddress" unless ip.ipv6?
10
- rescue
11
- raise ValidatorError, "value should be an ipv6 address"
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,7 +0,0 @@
1
- metadata :name => "Length",
2
- :description => "Validates that the length of a string is less or equal to a specified value",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,11 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class LengthValidator
4
- def self.validate(validator, length)
5
- if (validator.size > length) && (length > 0)
6
- raise ValidatorError, "Input string is longer than #{length} character(s)"
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,7 +0,0 @@
1
- metadata :name => "Regex",
2
- :description => "Validates that a string matches a supplied regular expression",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,9 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class RegexValidator
4
- def self.validate(validator, regex)
5
- raise ValidatorError, "value should match #{regex}" unless validator.match(regex)
6
- end
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- metadata :name => "Shellsafe",
2
- :description => "Validates that a string is shellsafe",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,13 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class ShellsafeValidator
4
- def self.validate(validator)
5
- raise ValidatorError, "value should be a String" unless validator.is_a?(String)
6
-
7
- ['`', '$', ';', '|', '&&', '>', '<'].each do |chr|
8
- raise ValidatorError, "value should not have #{chr} in it" if validator.match(Regexp.escape(chr))
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,7 +0,0 @@
1
- metadata :name => "Typecheck",
2
- :description => "Validates that a value is of a certain type",
3
- :author => "P. Loubser <pieter.loubser@puppetlabs.com>",
4
- :license => "ASL 2.0",
5
- :version => "1.0",
6
- :url => "http://marionette-collective.org/",
7
- :timeout => 1
@@ -1,28 +0,0 @@
1
- module MCollective
2
- module Validator
3
- class TypecheckValidator
4
- def self.validate(validator, validation_type)
5
- raise ValidatorError, "value should be a #{validation_type.to_s}" unless check_type(validator, validation_type)
6
- end
7
-
8
- def self.check_type(validator, validation_type)
9
- case validation_type
10
- when Class
11
- validator.is_a?(validation_type)
12
- when :integer
13
- validator.is_a?(Fixnum)
14
- when :float
15
- validator.is_a?(Float)
16
- when :number
17
- validator.is_a?(Numeric)
18
- when :string
19
- validator.is_a?(String)
20
- when :boolean
21
- [TrueClass, FalseClass].include?(validator.class)
22
- else
23
- false
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,139 +0,0 @@
1
- #!/bin/sh
2
- #
3
- # mcollective Application Server for STOMP based agents
4
- #
5
- # chkconfig: - 24 76
6
- #
7
- # description: mcollective lets you build powerful Stomp compatible middleware clients in ruby without having to worry too
8
- # much about all the setup and management of a Stomp connection, it also provides stats, logging and so forth
9
- # as a bonus.
10
- #
11
- ### BEGIN INIT INFO
12
- # Provides: mcollective
13
- # Required-Start: $remote_fs
14
- # Required-Stop: $remote_fs
15
- # Short-Description: Start daemon at boot time
16
- # Description: Enable service provided by daemon.
17
- ### END INIT INFO
18
-
19
- mcollectived="/usr/sbin/mcollectived"
20
- pidfile="/var/run/mcollectived.pid"
21
- if [ -d /var/lock/subsys ]; then
22
- # RedHat/CentOS/etc who use subsys
23
- lockfile="/var/lock/subsys/mcollective"
24
- else
25
- # The rest of them
26
- lockfile="/var/lock/mcollective"
27
- fi
28
-
29
- # Check that binary exists
30
- if ! [ -f $mcollectived ]; then
31
- echo "mcollectived binary not found"
32
- exit 5
33
- fi
34
-
35
- # Source function library.
36
- . /etc/init.d/functions
37
-
38
- if [ -f /etc/sysconfig/mcollective ]; then
39
- . /etc/sysconfig/mcollective
40
- fi
41
-
42
- # Determine if we can use the -p option to daemon, killproc, and status.
43
- # RHEL < 5 can't.
44
- if status | grep -q -- '-p' 2>/dev/null; then
45
- daemonopts="--pidfile $pidfile"
46
- pidopts="-p $pidfile"
47
- fi
48
-
49
- start() {
50
- echo -n "Starting mcollective: "
51
- # Only try to start if not already started
52
- if ! rh_status_q; then
53
- daemon ${daemonopts} ${mcollectived} --pid=${pidfile} --config="/etc/mcollective/server.cfg"
54
- fi
55
- # This will be 0 if mcollective is already running
56
- RETVAL=$?
57
- echo
58
- [ $RETVAL -eq 0 ] && touch ${lockfile}
59
- return $RETVAL
60
- }
61
-
62
- stop() {
63
- echo -n "Shutting down mcollective: "
64
- # If running, try to stop it
65
- if rh_status_q; then
66
- killproc ${pidopts} -d 10 ${mcollectived}
67
- else
68
- # Non-zero status either means lockfile and pidfile need cleanup (1 and 2)
69
- # or the process is already stopped (3), so we can just call true to
70
- # trigger the cleanup that happens below.
71
- true
72
- fi
73
- RETVAL=$?
74
- echo
75
- [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
76
- return $RETVAL
77
- }
78
-
79
- restart() {
80
- stop
81
- start
82
- }
83
-
84
- reload_agents() {
85
- echo -n "Reloading mcollective agents: "
86
- killproc ${pidopts} ${mcollectived} -USR1
87
- RETVAL=$?
88
- echo
89
- return $RETVAL
90
- }
91
-
92
- reload_loglevel() {
93
- echo -n "Cycling mcollective logging level: "
94
- killproc ${pidopts} ${mcollectived} -USR2
95
- RETVAL=$?
96
- echo
97
- return $RETVAL
98
- }
99
-
100
- rh_status() {
101
- status ${pidopts} ${mcollectived}
102
- RETVAL=$?
103
- return $RETVAL
104
- }
105
-
106
- rh_status_q() {
107
- rh_status >/dev/null 2>&1
108
- }
109
-
110
- # See how we were called.
111
- case "$1" in
112
- start)
113
- start
114
- ;;
115
- stop)
116
- stop
117
- ;;
118
- restart)
119
- restart
120
- ;;
121
- condrestart)
122
- rh_status_q || exit 0
123
- restart
124
- ;;
125
- reload-agents)
126
- reload_agents
127
- ;;
128
- reload-loglevel)
129
- reload_loglevel
130
- ;;
131
- status)
132
- rh_status
133
- ;;
134
- *)
135
- echo "Usage: mcollectived {start|stop|restart|condrestart|reload-agents|reload-loglevel|status}"
136
- RETVAL=2
137
- ;;
138
- esac
139
- exit $RETVAL
@@ -1,14 +0,0 @@
1
- [Unit]
2
- Description=The Marionette Collective
3
- After=network.target
4
-
5
- [Service]
6
- Type=forking
7
- StandardOutput=syslog
8
- StandardError=syslog
9
- ExecStart=/usr/sbin/mcollectived --config=/etc/mcollective/server.cfg --pidfile=/var/run/mcollective.pid
10
- ExecReload=/bin/kill -USR1 $MAINPID
11
- PIDFile=/var/run/mcollective.pid
12
-
13
- [Install]
14
- WantedBy=multi-user.target
@@ -1,22 +0,0 @@
1
- topicprefix = /topic/
2
- main_collective = mcollective
3
- collectives = mcollective
4
- libdir = /usr/share/mcollective/plugins
5
- logfile = /var/log/mcollective.log
6
- loglevel = debug
7
- max_log_size = 2097152
8
- daemonize = 1
9
-
10
- # Plugins
11
- securityprovider = sshkey
12
- plugin.sshkey.server.send_key = /etc/mcollective/ssh/mcollective.pub
13
- plugin.sshkey.server.private_key = /etc/mcollective/ssh/mcollective
14
- plugin.sshkey.server.authorized_keys = /etc/mcollective/ssh/authorized_keys
15
-
16
- connector = stomp
17
- plugin.stomp.port = 6163
18
- plugin.stomp.user = mcollective
19
- plugin.stomp.password = marionette
20
-
21
- # Facts
22
- factsource = pbuilder
@@ -1,10 +0,0 @@
1
- /var/log/mcollective.log {
2
- missingok
3
- notifempty
4
- copytruncate
5
- sharedscripts
6
- weekly
7
- size 10M
8
- compress
9
- rotate 2
10
- }
@@ -1,6 +0,0 @@
1
- # MCollective defaults used by the init script
2
- export LC_ALL="en_US.UTF-8"
3
-
4
- # Unset Rubygems related environment variables set by RVM
5
- unset GEM_HOME
6
- unset GEM_PATH