knife-joyent 0.4.11 → 0.4.12
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.
- checksums.yaml +4 -4
- data/knife-joyent.gemspec +1 -1
- data/lib/chef/knife/joyent_server_create.rb +29 -1
- data/lib/knife-joyent/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbadbfdfac0b82475098817aa9df09ebffc045c6
|
4
|
+
data.tar.gz: fa9ce1e48f64143ec93718585e971d65dba56eb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05932dc50d37e0f493c7eb00f79e7080c4e0136e1f2e8f2de52909a3fb9cd6c0a845e2aaf841717ab773efd5c8d8c08ad7e3a0aa8b5b9bdba8805b7d90a051af
|
7
|
+
data.tar.gz: 112e490a67295fa28c799fb032fa6883e89975242a6eecfdeb2aef060a4307b3481b68437c60390f9ba2da6f2e3275acbd403e0b08f4b62c61c6a982fc2174c0
|
data/knife-joyent.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
|
20
|
-
s.add_dependency "fog",
|
20
|
+
s.add_dependency "fog", '~> 1.23'
|
21
21
|
s.add_dependency "multi_json", "~> 1.7"
|
22
22
|
s.add_dependency "joyent-cloud-pricing", ">= 1.1.0"
|
23
23
|
s.add_dependency 'chef', '>= 11.16.2', '< 12.1'
|
@@ -262,7 +262,7 @@ class Chef
|
|
262
262
|
bootstrap.config[:identity_file] = config[:identity_file]
|
263
263
|
Chef::Log.debug("Bootstrap identity_file = #{bootstrap.config[:identity_file]}")
|
264
264
|
|
265
|
-
bootstrap.config[:ssh_gateway] =
|
265
|
+
bootstrap.config[:ssh_gateway] = determine_ssh_gateway(bootstrap_ip)
|
266
266
|
Chef::Log.debug("Bootstrap ssh_gateway= #{bootstrap.config[:ssh_gateway]}")
|
267
267
|
|
268
268
|
bootstrap.config[:first_boot_attributes] = config[:json_attributes]
|
@@ -271,6 +271,34 @@ class Chef
|
|
271
271
|
bootstrap
|
272
272
|
end
|
273
273
|
|
274
|
+
# src: https://github.com/chef/knife-ec2/blob/master/lib/chef/knife/ec2_server_create.rb#L741-L770
|
275
|
+
def determine_ssh_gateway
|
276
|
+
# ssh_gateway config takes precedence over derived value
|
277
|
+
if config[:ssh_gateway]
|
278
|
+
Chef::Log.debug("Using ssh gateway #{config[:ssh_gateway]} from knife config")
|
279
|
+
return config[:ssh_gateway]
|
280
|
+
end
|
281
|
+
|
282
|
+
ssh_proxy = Net::SSH::Config.for(hostname)[:proxy]
|
283
|
+
if ssh_proxy.respond_to?(:command_line_template)
|
284
|
+
# ssh gateway_hostname nc %h %p
|
285
|
+
proxy_pattern = /ssh\s+(\S+)\s+nc/
|
286
|
+
matchdata = proxy_pattern.match(ssh_proxy.command_line_template)
|
287
|
+
if matchdata.nil?
|
288
|
+
Chef::Log.debug("Unable to determine ssh gateway for '#{hostname}' from ssh config template: #{ssh_proxy.command_line_template}")
|
289
|
+
nil
|
290
|
+
else
|
291
|
+
# Return hostname extracted from command line template
|
292
|
+
Chef::Log.debug("Using ssh gateway #{matchdata[1]} from ssh config")
|
293
|
+
matchdata[1]
|
294
|
+
end
|
295
|
+
else
|
296
|
+
# Return nil if we cannot find an ssh_gateway
|
297
|
+
Chef::Log.debug("No ssh gateway found, making a direct connection")
|
298
|
+
nil
|
299
|
+
end
|
300
|
+
end
|
301
|
+
|
274
302
|
def determine_bootstrap_ip(server)
|
275
303
|
server_ips = server.ips.select{ |ip|
|
276
304
|
ip and not(is_loopback(ip) or is_linklocal(ip))
|
data/lib/knife-joyent/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife-joyent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Chan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: '1.23'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: '1.23'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: multi_json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|