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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OGU1YzU1MGExMTNiOWE2YmY5YjI0YmY0ZjVhODZkZDM2MGI0OTM3Nw==
5
- data.tar.gz: !binary |-
6
- NTIxY2IwNmIyYzI4OTgxNGI2OGU0NzFmMmM5MjQ1MGI2OTE1ZDBjMw==
2
+ SHA1:
3
+ metadata.gz: b8335fb0f4233d412e417fdba18b362bbcabfebd
4
+ data.tar.gz: 68abdc2d3619c4b093ff57ea2b0313966ed28960
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- Y2JlZDAzNGEyMjgzZmM4ZDMwYWJlOTZlNzIxNGIxNDkwZGNiYzhjMWFhMjhm
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.
@@ -1,3 +1,3 @@
1
1
  module DtkNodeAgent
2
- VERSION="0.7.0"
2
+ VERSION="0.7.1"
3
3
  end
@@ -30,7 +30,7 @@ module DTK
30
30
  end
31
31
  end
32
32
 
33
- private
33
+ private
34
34
  def git_command__remote_add(remote_repo,branch,remote_name=nil)
35
35
  remote_name ||= default_remote()
36
36
  git_command().remote(git_command_opts(),"add","-t", branch, "-f", remote_name, remote_repo)
@@ -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 = "/etc/puppet/modules"
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
- repo_dir = "#{ModulePath}/#{vc[:implementation]}"
66
- remote_repo = "#{git_server}:#{vc[:repo]}"
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?("#{repo_dir}/.git")
78
+ if File.exists?("#{puppet_repo_dir}/.git")
72
79
  pull_err = trap_and_return_error do
73
- pull_module(repo_dir,vc[:branch],opts)
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(repo_dir,remote_repo,vc[:branch],opts)
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 repo_dir
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
- results = `more /home/#{system_user}/.ssh/#{SSH_AUTH_KEYS_FILE_NAME} | grep #{pub_key}`
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
- Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(Puppet.run_mode))
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)
@@ -0,0 +1,6 @@
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
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.0
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-02-23 00:00:00.000000000 Z
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.2.2
273
+ rubygems_version: 2.4.1
273
274
  signing_key:
274
275
  specification_version: 4
275
276
  summary: DTK Node Agent gem.