tdi 0.1.8 → 0.1.9

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 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.