cluster_chef-knife 3.0.7 → 3.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +19 -19
- data/VERSION +1 -1
- data/cluster_chef-knife.gemspec +2 -2
- data/lib/chef/knife/cluster_bootstrap.rb +6 -1
- data/lib/chef/knife/cluster_launch.rb +6 -1
- data/lib/chef/knife/cluster_proxy.rb +11 -9
- metadata +21 -21
data/Rakefile
CHANGED
@@ -72,26 +72,26 @@ Dir[File.join('tasks', '*.rake')].sort.each{|f| load(f) }
|
|
72
72
|
Jeweler::RubygemsDotOrgTasks.new
|
73
73
|
end
|
74
74
|
|
75
|
-
#
|
76
|
-
#
|
77
|
-
#
|
78
|
-
# #
|
79
|
-
# RSpec::Core::RakeTask.new(:spec) do |spec|
|
80
|
-
# spec.pattern = FileList['spec/**/*_spec.rb']
|
81
|
-
# end
|
75
|
+
# ---------------------------------------------------------------------------
|
76
|
+
#
|
77
|
+
# RSpec -- testing
|
82
78
|
#
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
79
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
80
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
81
|
+
end
|
82
|
+
|
83
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
84
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
85
|
+
spec.rcov = true
|
86
|
+
spec.rcov_opts = %w[ --exclude .rvm --no-comments --text-summary]
|
87
|
+
end
|
88
88
|
|
89
|
-
#
|
90
|
-
# #
|
91
|
-
# # Yard -- documentation
|
92
|
-
# #
|
93
|
-
# YARD::Rake::YardocTask.new
|
89
|
+
# ---------------------------------------------------------------------------
|
94
90
|
#
|
95
|
-
#
|
91
|
+
# Yard -- documentation
|
96
92
|
#
|
97
|
-
|
93
|
+
YARD::Rake::YardocTask.new
|
94
|
+
|
95
|
+
# ---------------------------------------------------------------------------
|
96
|
+
|
97
|
+
task :default => :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.8
|
data/cluster_chef-knife.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "cluster_chef-knife"
|
8
|
-
s.version = "3.0.
|
8
|
+
s.version = "3.0.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Infochimps"]
|
12
|
-
s.date = "2011-12-
|
12
|
+
s.date = "2011-12-14"
|
13
13
|
s.description = "cluster_chef allows you to orchestrate not just systems but clusters of machines. It includes a powerful layer on top of knife and a collection of cloud cookbooks."
|
14
14
|
s.email = "coders@infochimps.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -43,9 +43,14 @@ class Chef
|
|
43
43
|
:long => "--sudo",
|
44
44
|
:description => "Execute the bootstrap via sudo",
|
45
45
|
:boolean => true
|
46
|
+
option :host_key_verify,
|
47
|
+
:long => "--[no-]host-key-verify",
|
48
|
+
:description => "Verify host key, enabled by default.",
|
49
|
+
:boolean => true,
|
50
|
+
:default => true
|
46
51
|
|
47
52
|
import_banner_and_options(Chef::Knife::Bootstrap,
|
48
|
-
:except => [:chef_node_name, :run_list, :ssh_user, :distro, :template_file])
|
53
|
+
:except => [:chef_node_name, :run_list, :ssh_user, :distro, :template_file, :no_host_key_verify, :host_key_verify])
|
49
54
|
import_banner_and_options(ClusterChef::Script)
|
50
55
|
|
51
56
|
deps do
|
@@ -31,7 +31,7 @@ class Chef
|
|
31
31
|
end
|
32
32
|
|
33
33
|
banner "knife cluster launch CLUSTER_NAME [FACET_NAME [INDEXES]] (options)"
|
34
|
-
[ :ssh_port, :ssh_password, :identity_file, :use_sudo,
|
34
|
+
[ :ssh_port, :ssh_password, :identity_file, :use_sudo,
|
35
35
|
:prerelease, :bootstrap_version, :template_file,
|
36
36
|
].each do |name|
|
37
37
|
option name, Chef::Knife::Bootstrap.options[name]
|
@@ -58,6 +58,11 @@ class Chef
|
|
58
58
|
:description => "If bootstrap is invoked, the bootstrap script causes an initial run of chef-client (default true).",
|
59
59
|
:boolean => true,
|
60
60
|
:default => true
|
61
|
+
option :host_key_verify,
|
62
|
+
:long => "--[no-]host-key-verify",
|
63
|
+
:description => "Verify host key, enabled by default.",
|
64
|
+
:boolean => true,
|
65
|
+
:default => true
|
61
66
|
|
62
67
|
def run
|
63
68
|
load_cluster_chef
|
@@ -61,22 +61,23 @@ class Chef
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def command_for_target(svr)
|
64
|
-
config[:attribute]
|
65
|
-
config[:ssh_user]
|
66
|
-
config[:identity_file]
|
64
|
+
config[:attribute] ||= Chef::Config[:knife][:ssh_address_attribute] || "fqdn"
|
65
|
+
config[:ssh_user] ||= Chef::Config[:knife][:ssh_user]
|
66
|
+
config[:identity_file] ||= svr.cloud.ssh_identity_file
|
67
|
+
config[:host_key_verify] ||= Chef::Config[:knife][:host_key_verify] || (not config[:no_host_key_verify]) # pre-vs-post 0.10.4
|
67
68
|
|
68
69
|
if (svr.cloud.public_ip) then address = svr.cloud.public_ip ; end
|
69
70
|
if (not address) && (svr.chef_node) then address = format_for_display( svr.chef_node )[config[:attribute]] ; end
|
70
71
|
if (not address) && (svr.fog_server) then address = svr.fog_server.public_ip_address ; end
|
71
72
|
|
72
73
|
cmd = [ 'ssh', '-N' ]
|
73
|
-
cmd += [ '-D', config[:socks_port].to_s
|
74
|
-
cmd += [ '-
|
75
|
-
cmd
|
76
|
-
cmd << '
|
77
|
-
cmd
|
78
|
-
cmd += %w[ -o StrictHostKeyChecking=no ] if config[:no_host_key_verify]
|
74
|
+
cmd += [ '-D', config[:socks_port].to_s ]
|
75
|
+
cmd += [ '-p', config[:port].to_s ] if config[:port].present?
|
76
|
+
cmd << '-f' if config[:background]
|
77
|
+
cmd << "-#{'v' * config[:verbosity].to_i}" if (config[:verbosity].to_i > 0)
|
78
|
+
cmd += %w[ -o StrictHostKeyChecking=no ] if config[:host_key_verify]
|
79
79
|
cmd += %w[ -o ConnectTimeout=10 -o ServerAliveInterval=60 -o ControlPath=none ]
|
80
|
+
cmd += [ '-i', File.expand_path(config[:identity_file]) ] if config[:identity_file].present?
|
80
81
|
cmd << (config[:ssh_user] ? "#{config[:ssh_user]}@#{address}" : address)
|
81
82
|
|
82
83
|
Chef::Log.debug("Cluster proxy config: #{config.inspect}")
|
@@ -86,6 +87,7 @@ class Chef
|
|
86
87
|
"for", ui.color(svr.name, :cyan),
|
87
88
|
"(#{address})"
|
88
89
|
].join(" "))
|
90
|
+
|
89
91
|
cmd
|
90
92
|
end
|
91
93
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cluster_chef-knife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chef
|
16
|
-
requirement: &
|
16
|
+
requirement: &70174880466240 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.10.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70174880466240
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: fog
|
27
|
-
requirement: &
|
27
|
+
requirement: &70174880464680 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.1.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70174880464680
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: formatador
|
38
|
-
requirement: &
|
38
|
+
requirement: &70174880479940 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.2.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70174880479940
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: gorillib
|
49
|
-
requirement: &
|
49
|
+
requirement: &70174880477380 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.1.7
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70174880477380
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70174880475480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '1'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70174880475480
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70174880473820 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '1.6'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70174880473820
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &70174880472800 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '2.5'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70174880472800
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: yard
|
93
|
-
requirement: &
|
93
|
+
requirement: &70174880488500 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0.6'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70174880488500
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: configliere
|
104
|
-
requirement: &
|
104
|
+
requirement: &70174880487740 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: 0.4.8
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70174880487740
|
113
113
|
description: cluster_chef allows you to orchestrate not just systems but clusters
|
114
114
|
of machines. It includes a powerful layer on top of knife and a collection of cloud
|
115
115
|
cookbooks.
|
@@ -176,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
176
|
version: '0'
|
177
177
|
segments:
|
178
178
|
- 0
|
179
|
-
hash:
|
179
|
+
hash: -3376503058401634367
|
180
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
181
|
none: false
|
182
182
|
requirements:
|