dtk-node-agent 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/README.md +6 -0
- data/lib/dtk-node-agent/version.rb +1 -1
- data/mcollective_additions/plugins/v2.2/agent/dtk_node_agent_git_client.rb +1 -1
- data/mcollective_additions/plugins/v2.2/agent/puppet_apply.rb +29 -7
- data/mcollective_additions/plugins/v2.2/agent/ssh_agent.rb +5 -1
- data/mcollective_additions/plugins/v2.2/util/puppetrunner.rb +7 -2
- data/src/etc/mcollective.default +6 -0
- metadata +20 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NTIxY2IwNmIyYzI4OTgxNGI2OGU0NzFmMmM5MjQ1MGI2OTE1ZDBjMw==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b8335fb0f4233d412e417fdba18b362bbcabfebd
|
4
|
+
data.tar.gz: 68abdc2d3619c4b093ff57ea2b0313966ed28960
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ODA2YmM0MTIxY2U5ODViM2NiOGRkYTVhZmEwMDg3ZWNjNWRjYjM0NGM5ODA5
|
11
|
-
NjgxYWVjMGFkNjllODU5NzU4ZWJkYTlkZGYwY2NjYjI5MWYyYTQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MmUxNGYyNzNjZTkwZTJiODA4ZTM2MmJlOGU3YTg1YTM4NTE0NGI5NGNhMzgz
|
14
|
-
ODExMTQ4NzkzMGMzNTlmYWYzYjNjYzA0MGRjODRjZWY0NDMzZTFiODY4MTkz
|
15
|
-
MjUxOWVkY2ZlM2I1ZGMyOTAwZTQ2OTczN2FkOGQwMGE3Yjc5NmQ=
|
6
|
+
metadata.gz: d62b7826af4cae0fc60a15f43a4fb80465a84861c8fe015b96a499c1d70cff16d65ba9ad2ad5deb8216f06a219367abbcf1c00b7ea9a44273310182618a8a1d8
|
7
|
+
data.tar.gz: 1bc30fe59c25323819456a757e1070e23886c4079f33ddb92e305b185e25fc4b37b08fda3c83fad45979d0ec14d023cfb830576c92c61e611cd58947730c27ed
|
data/README.md
CHANGED
@@ -44,6 +44,12 @@ packer build template.json
|
|
44
44
|
```
|
45
45
|
This will also copy images to all AWS regions.
|
46
46
|
|
47
|
+
To get json output of new images, first, add .fog file on your home directory (with valid aws credentials) and then run following ruby script:
|
48
|
+
```
|
49
|
+
ruby get_amis.rb <AMI_TIMESTAMPS>
|
50
|
+
```
|
51
|
+
AMI_TIMESTAMPS can be one timestamp or array of timestamps separated with delimiter (,)
|
52
|
+
|
47
53
|
License
|
48
54
|
----------------------
|
49
55
|
DTK Node Agent is released under the GPLv3 license. Please see LICENSE for more details.
|
@@ -8,8 +8,9 @@ require File.expand_path('dtk_node_agent_git_client',File.dirname(__FILE__))
|
|
8
8
|
|
9
9
|
#TODO: move to be shared by agents
|
10
10
|
PuppetApplyLogDir = "/var/log/puppet"
|
11
|
-
ModulePath =
|
11
|
+
ModulePath = "/etc/puppet/modules"
|
12
12
|
DTKPuppetCacheBaseDir = "/usr/share/dtk/tasks"
|
13
|
+
DTKPuppetModulePath = "/usr/share/dtk/puppet-modules"
|
13
14
|
|
14
15
|
module MCollective
|
15
16
|
module Agent
|
@@ -62,15 +63,21 @@ module MCollective
|
|
62
63
|
raise "version context does not have :#{field} field"
|
63
64
|
end
|
64
65
|
end
|
65
|
-
|
66
|
-
|
66
|
+
|
67
|
+
FileUtils.mkdir_p(DTKPuppetModulePath) unless File.directory?(DTKPuppetModulePath)
|
68
|
+
|
69
|
+
module_name = vc[:implementation]
|
70
|
+
puppet_repo_dir = "#{DTKPuppetModulePath}/#{module_name}"
|
71
|
+
repo_dir = "#{ModulePath}/#{module_name}"
|
72
|
+
remote_repo = "#{git_server}:#{vc[:repo]}"
|
73
|
+
|
67
74
|
opts = Hash.new
|
68
75
|
opts.merge!(:sha => vc[:sha]) if vc[:sha]
|
69
76
|
|
70
77
|
clean_and_clone = true
|
71
|
-
if File.exists?("#{
|
78
|
+
if File.exists?("#{puppet_repo_dir}/.git")
|
72
79
|
pull_err = trap_and_return_error do
|
73
|
-
pull_module(
|
80
|
+
pull_module(puppet_repo_dir, vc[:branch], opts)
|
74
81
|
end
|
75
82
|
# clean_and_clone set so if pull error then try again, this time cleaning dir and freshly cleaning
|
76
83
|
clean_and_clone = !pull_err.nil?
|
@@ -78,15 +85,30 @@ module MCollective
|
|
78
85
|
|
79
86
|
if clean_and_clone
|
80
87
|
begin
|
81
|
-
clean_and_clone_module(
|
88
|
+
clean_and_clone_module(puppet_repo_dir, remote_repo,vc[:branch], opts)
|
82
89
|
rescue Exception => e
|
83
90
|
# TODO: not used now
|
84
91
|
error_backtrace = backtrace_subset(e)
|
85
92
|
# to achieve idempotent behavior; fully remove directory if any problems
|
86
|
-
FileUtils.rm_rf
|
93
|
+
FileUtils.rm_rf puppet_repo_dir
|
87
94
|
raise e
|
88
95
|
end
|
89
96
|
end
|
97
|
+
|
98
|
+
# remove symlink if exist already
|
99
|
+
if File.symlink?(repo_dir)
|
100
|
+
FileUtils.rm(repo_dir)
|
101
|
+
elsif File.directory?(repo_dir)
|
102
|
+
FileUtils.rm_r(repo_dir)
|
103
|
+
end
|
104
|
+
|
105
|
+
puppet_dir = "#{DTKPuppetModulePath}/#{module_name}/puppet"
|
106
|
+
|
107
|
+
if File.directory?(puppet_dir)
|
108
|
+
FileUtils.ln_sf(puppet_dir, repo_dir)
|
109
|
+
else
|
110
|
+
FileUtils.ln_sf("#{DTKPuppetModulePath}/#{module_name}", repo_dir)
|
111
|
+
end
|
90
112
|
end
|
91
113
|
ret.set_status_succeeded!()
|
92
114
|
rescue Exception => e
|
@@ -79,7 +79,11 @@ module MCollective
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def key_added?(system_user, pub_key)
|
82
|
-
|
82
|
+
if system_user == "root"
|
83
|
+
results = `more /#{system_user}/.ssh/#{SSH_AUTH_KEYS_FILE_NAME} | grep #{pub_key}`
|
84
|
+
else
|
85
|
+
results = `more /home/#{system_user}/.ssh/#{SSH_AUTH_KEYS_FILE_NAME} | grep #{pub_key}`
|
86
|
+
end
|
83
87
|
!results.empty?
|
84
88
|
end
|
85
89
|
|
@@ -5,8 +5,13 @@ module MCollective
|
|
5
5
|
class PuppetRunner
|
6
6
|
|
7
7
|
def self.apply(puppet_definition, resource_hash)
|
8
|
-
Puppet.settings.initialize_global_settings
|
9
|
-
|
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
|
10
15
|
|
11
16
|
Log.info("Puppet Runner, INPUT :")
|
12
17
|
Log.info(puppet_definition)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtk-node-agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rich PELAVIN
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|
@@ -28,84 +28,84 @@ dependencies:
|
|
28
28
|
name: facter
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.2.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.2.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: grit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 2.5.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.5.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: stomp
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.3.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.3.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sshkeyauth
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.0.11
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.0.11
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: serverspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 1.1.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 1.1.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: specinfra
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 1.0.4
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 1.0.4
|
111
111
|
- !ruby/object:Gem::Dependency
|
@@ -126,14 +126,14 @@ dependencies:
|
|
126
126
|
name: dtk-action-agent
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
description: The DTK Node Agent runs on your nodes that you wish to manage using your
|
@@ -249,6 +249,7 @@ files:
|
|
249
249
|
- src/etc/init.d/logstash-forwarder.rpm.init
|
250
250
|
- src/etc/logrotate.d/mcollective
|
251
251
|
- src/etc/logrotate.d/puppet
|
252
|
+
- src/etc/mcollective.default
|
252
253
|
homepage: https://github.com/rich-reactor8/dtk-node-agent
|
253
254
|
licenses:
|
254
255
|
- GPL-3.0
|
@@ -259,17 +260,17 @@ require_paths:
|
|
259
260
|
- lib
|
260
261
|
required_ruby_version: !ruby/object:Gem::Requirement
|
261
262
|
requirements:
|
262
|
-
- -
|
263
|
+
- - ">="
|
263
264
|
- !ruby/object:Gem::Version
|
264
265
|
version: '0'
|
265
266
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
267
|
requirements:
|
267
|
-
- -
|
268
|
+
- - ">="
|
268
269
|
- !ruby/object:Gem::Version
|
269
270
|
version: '0'
|
270
271
|
requirements: []
|
271
272
|
rubyforge_project:
|
272
|
-
rubygems_version: 2.
|
273
|
+
rubygems_version: 2.4.1
|
273
274
|
signing_key:
|
274
275
|
specification_version: 4
|
275
276
|
summary: DTK Node Agent gem.
|