tdi 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9a0d9fe3d2c55157bf1325ae42fc3d45267ac7b
4
- data.tar.gz: f906bb2932414a454186274dd20b023275207d88
3
+ metadata.gz: 0e6fc4a82220e7b7f08df36ca5a3dbec9ddfad78
4
+ data.tar.gz: a32a31b63d166a4d393ce938150a0a638184fa05
5
5
  SHA512:
6
- metadata.gz: d016f3065038436c8cc0d33e28608f4dca67efd1c1bd9bb4959fbf4c93c14b3e8f871f23509d797d8e5bb01169e3ab0a624dacb31b6c69408616de54118e5fdb
7
- data.tar.gz: 3a434135f4873c087ccfa564a1ea7f30c4abf994bd22f623739d4191365ae773f65cd7290401cd080ffc2632e0bb9039a0f688b23321aac3fe20509e8c1cf4d0
6
+ metadata.gz: a0df029163ad2e1c7feb61e12bf60df0047c67f150f34541667f5b17ae8241b3e68067754c5935ae7f0f321e90688f932bc07e034ab54884f503a949a9d83bfe
7
+ data.tar.gz: 974109ed37a65653edaa53750b5a76ab9dd8c5cf495d5787186c8e1ca0e3af478a2954d35039a378d76be71d4c958f7a83010cb6e8aea613508fa848997abb59
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tdi (0.1.8)
4
+ tdi (0.1.9)
5
5
  awesome_print
6
6
  colorize
7
+ dnsruby
7
8
  etc
8
9
  ipaddress
9
10
  net-ssh
@@ -16,11 +17,12 @@ GEM
16
17
  specs:
17
18
  awesome_print (1.6.1)
18
19
  colorize (0.7.7)
20
+ dnsruby (1.59.2)
19
21
  etc (0.2.0)
20
- ipaddress (0.8.0)
21
- net-ssh (2.9.2)
22
+ ipaddress (0.8.3)
23
+ net-ssh (3.1.1)
22
24
  os (0.9.6)
23
- rake (10.4.2)
25
+ rake (11.1.2)
24
26
  slop (3.6.0)
25
27
  timeout (0.0.0)
26
28
 
@@ -17,6 +17,10 @@
17
17
  "timeout": 3
18
18
  },
19
19
 
20
+ "127.0.0.1": {
21
+ "port": [22, 31337]
22
+ },
23
+
20
24
  "localhost": {
21
25
  "port": [22, 31337]
22
26
  }
@@ -20,7 +20,6 @@
20
20
  require_relative '../lib/util'
21
21
  require 'socket'
22
22
  require 'timeout'
23
- require 'resolv'
24
23
 
25
24
  class TDIPlan < TDI
26
25
  def acl(role_name, plan_name, plan_content)
@@ -43,7 +42,7 @@ class TDIPlan < TDI
43
42
  res_dict = {host: host, addr: addr, port: port, net: origin_network(host)}
44
43
 
45
44
  begin
46
- addr = Resolv.getaddress(host)
45
+ addr = getaddress(host).to_s
47
46
  res_str = "#{host}/#{addr}:#{port}"
48
47
  res_dict = {host: host, addr: addr, port: port, net: origin_network(host)}
49
48
 
@@ -22,7 +22,6 @@ require 'net/http'
22
22
  require 'net/https'
23
23
  require 'timeout'
24
24
  require 'uri'
25
- require 'resolv'
26
25
 
27
26
  class TDIPlan < TDI
28
27
  def _parse(uri, params)
@@ -78,10 +77,10 @@ class TDIPlan < TDI
78
77
  response = nil
79
78
 
80
79
  begin
81
- addr = Resolv.getaddress(host)
80
+ addr = getaddress(host).to_s
82
81
 
83
82
  if not proxy.nil? and not proxy_port.nil?
84
- proxy_addr = Resolv.getaddress(proxy)
83
+ proxy_addr = getaddress(proxy).to_s
85
84
  http = Net::HTTP::Proxy(proxy, proxy_port)
86
85
  timeout(timeout_limit) do
87
86
  begin
@@ -19,7 +19,6 @@
19
19
 
20
20
  require_relative '../lib/util'
21
21
  require 'net/ssh'
22
- require 'resolv'
23
22
 
24
23
  class TDIPlan < TDI
25
24
  def ssh(role_name, plan_name, plan_content)
@@ -65,7 +64,7 @@ class TDIPlan < TDI
65
64
  res_dict = {local_user: local_user, remote_user: remote_user, host: host, addr: addr, net: origin_network(host)}
66
65
 
67
66
  begin
68
- addr = Resolv.getaddress(host)
67
+ addr = getaddress(host).to_s
69
68
  res_str = "#{remote_user}@#{host}/#{addr}"
70
69
  res_dict = {local_user: local_user, remote_user: remote_user, host: host, addr: addr, net: origin_network(host)}
71
70
 
@@ -18,5 +18,5 @@
18
18
  # along with TDI. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
20
  module Tdi
21
- VERSION = '0.1.8'
21
+ VERSION = '0.1.9'
22
22
  end
@@ -20,7 +20,7 @@
20
20
  require 'awesome_print'
21
21
  require 'socket'
22
22
  require 'ipaddress'
23
- require 'resolv'
23
+ require 'dnsruby'
24
24
 
25
25
  # Awesome Print config.
26
26
  def a_p(obj)
@@ -85,11 +85,7 @@ def origin_network(remote)
85
85
  orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true
86
86
 
87
87
  host = remote # host (name or IP)
88
- if IPAddress.valid?(remote)
89
- addr = remote # use address (already IP)
90
- else
91
- addr = Resolv.getaddress(remote) rescue nil # get address (resolve name to IP)
92
- end
88
+ addr = getaddress(remote, raise_exception: false)
93
89
 
94
90
  UDPSocket.open do |s|
95
91
  begin
@@ -107,3 +103,18 @@ def origin_network(remote)
107
103
  ensure
108
104
  Socket.do_not_reverse_lookup = orig
109
105
  end
106
+
107
+ # Return IP address.
108
+ def getaddress(host, raise_exception: true)
109
+ if IPAddress.valid?(host)
110
+ return host # use address (already IP)
111
+ else
112
+ dns = Dnsruby::DNS.new # get address (resolve name to IP)
113
+ dns.config.apply_domain = false
114
+ if raise_exception
115
+ return dns.getaddress(host).to_s
116
+ else
117
+ return dns.getaddress(host).to_s rescue nil
118
+ end
119
+ end
120
+ end
@@ -31,4 +31,5 @@ validating your deployed infrastructure and external dependencies.)
31
31
  spec.add_runtime_dependency 'net-ssh'
32
32
  spec.add_runtime_dependency 'awesome_print'
33
33
  spec.add_runtime_dependency 'ipaddress'
34
+ spec.add_runtime_dependency 'dnsruby'
34
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rogério Carvalho Schneider
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-08-04 00:00:00.000000000 Z
13
+ date: 2016-04-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -152,6 +152,20 @@ dependencies:
152
152
  - - ">="
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: dnsruby
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
155
169
  description: |-
156
170
  Test Driven Infrastructure acceptance helpers for
157
171
  validating your deployed infrastructure and external dependencies.