specinfra 2.41.1 → 2.42.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/specinfra/command.rb +1 -0
- data/lib/specinfra/command/base/host.rb +12 -1
- data/lib/specinfra/command/freebsd/base/host.rb +13 -0
- data/lib/specinfra/command/openbsd/base/host.rb +17 -0
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/base/host_spec.rb +23 -0
- data/spec/command/freebsd/host_spec.rb +24 -0
- data/spec/command/openbsd/host_spec.rb +24 -0
- data/spec/command/redhat7/host_spec.rb +12 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa5a4e0dbe8336562680e6edd462840713fd926c
|
4
|
+
data.tar.gz: 10341d7185fc49e9e711e4921db8f8189b35c0b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 916bd11416a36f4cdef5c0157f7dd22d97a019479243509368d386334edb49b5911102b6bd4cafee5a98eb293f53fa478e47427e715f42295140b09d789473d2
|
7
|
+
data.tar.gz: 821b8f9cf6c7b44dc5d1f73fcc85c9d9cc42dc03dd0e9a5da6da81a8007d82ca5327c82bb5a78bdac08c87550219056591c56a9e23fc6e9b4e23750f8051f8d4
|
data/lib/specinfra/command.rb
CHANGED
@@ -234,6 +234,7 @@ require 'specinfra/command/openbsd/base/bond'
|
|
234
234
|
require 'specinfra/command/openbsd/base/bridge'
|
235
235
|
require 'specinfra/command/openbsd/base/file'
|
236
236
|
require 'specinfra/command/openbsd/base/fstab'
|
237
|
+
require 'specinfra/command/openbsd/base/host'
|
237
238
|
require 'specinfra/command/openbsd/base/interface'
|
238
239
|
require 'specinfra/command/openbsd/base/inventory'
|
239
240
|
require 'specinfra/command/openbsd/base/mail_alias'
|
@@ -14,12 +14,23 @@ class Specinfra::Command::Base::Host < Specinfra::Command::Base
|
|
14
14
|
if port.nil?
|
15
15
|
"ping -w #{escape(timeout)} -c 2 -n #{escape(host)}"
|
16
16
|
else
|
17
|
-
"nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)}
|
17
|
+
"nc -w #{escape(timeout)} -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)}"
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
# getent hosts on a dualstack machine will most likely
|
22
|
+
# return the ipv6 address to ensure one can more cleary
|
23
|
+
# define the outcome the ipv{4,6}_address are used.
|
21
24
|
def get_ipaddress(name)
|
22
25
|
"getent hosts #{escape(name)} | awk '{print $1}'"
|
23
26
|
end
|
27
|
+
def get_ipv4_address(name)
|
28
|
+
# Will return multiple values pick the first and exit
|
29
|
+
"getent ahostsv4 #{escape(name)} | awk '{print $1; exit}'"
|
30
|
+
end
|
31
|
+
def get_ipv6_address(name)
|
32
|
+
# Will return multiple values pick the first and exit
|
33
|
+
"getent ahostsv6 #{escape(name)} | awk '{print $1; exit}'"
|
34
|
+
end
|
24
35
|
end
|
25
36
|
end
|
@@ -7,5 +7,18 @@ class Specinfra::Command::Freebsd::Base::Host < Specinfra::Command::Base::Host
|
|
7
7
|
"nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}"
|
8
8
|
end
|
9
9
|
end
|
10
|
+
def get_ipaddress(name)
|
11
|
+
# getent hosts will return both the ipv6 and ipv4 record.
|
12
|
+
# this will only pick the first one. (Linux behavior)
|
13
|
+
"getent hosts #{escape(name)} | awk '{print $1; exit}'"
|
14
|
+
end
|
15
|
+
def get_ipv4_address(name)
|
16
|
+
# May return multiple values pick the one matching ipv4
|
17
|
+
"getent hosts #{escape(name)} | awk '$1 ~ /^[0-9.]+$/ {print $1}'"
|
18
|
+
end
|
19
|
+
def get_ipv6_address(name)
|
20
|
+
# May return multiple values pick the one matching ipv6
|
21
|
+
"getent hosts #{escape(name)} | awk 'tolower($1) ~ /^[0-9a-f:]+$/ {print $1}'"
|
22
|
+
end
|
10
23
|
end
|
11
24
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Specinfra::Command::Openbsd::Base::Host < Specinfra::Command::Base::Host
|
2
|
+
class << self
|
3
|
+
def get_ipaddress(name)
|
4
|
+
# getent hosts will return both the ipv6 and ipv4 record.
|
5
|
+
# this will only pick the first one. (Linux behavior)
|
6
|
+
"getent hosts #{escape(name)} | awk '{print $1; exit}'"
|
7
|
+
end
|
8
|
+
def get_ipv4_address(name)
|
9
|
+
# May return multiple values pick the one matching ipv4
|
10
|
+
"getent hosts #{escape(name)} | awk '$1 ~ /^[0-9.]+$/ {print $1}'"
|
11
|
+
end
|
12
|
+
def get_ipv6_address(name)
|
13
|
+
# May return multiple values pick the one matching ipv6
|
14
|
+
"getent hosts #{escape(name)} | awk 'tolower($1) ~ /^[0-9a-f:]+$/ {print $1}'"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/specinfra/version.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
set :os, { :family => nil }
|
4
|
+
|
5
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', nil, 'tcp', 10) do
|
6
|
+
it { should eq "ping -w 10 -c 2 -n pink.unicorn.com" }
|
7
|
+
end
|
8
|
+
|
9
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', '53', 'udp', 2) do
|
10
|
+
it { should eq "nc -w 2 -vvvvzu pink.unicorn.com 53" }
|
11
|
+
end
|
12
|
+
|
13
|
+
describe get_command(:get_host_ipaddress, 'pink.unicorn.com') do
|
14
|
+
it { should eq "getent hosts pink.unicorn.com | awk '{print $1}'" }
|
15
|
+
end
|
16
|
+
|
17
|
+
describe get_command(:get_host_ipv4_address, 'pink.unicorn.com') do
|
18
|
+
it { should eq "getent ahostsv4 pink.unicorn.com | awk '{print $1; exit}'" }
|
19
|
+
end
|
20
|
+
|
21
|
+
describe get_command(:get_host_ipv6_address, 'pink.unicorn.com') do
|
22
|
+
it { should eq "getent ahostsv6 pink.unicorn.com | awk '{print $1; exit}'" }
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'freebsd'
|
5
|
+
|
6
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', nil, 'tcp', 10) do
|
7
|
+
it { should eq "ping -t 10 -c 2 -n pink.unicorn.com"}
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', 53, 'udp', 66) do
|
11
|
+
it { should eq "nc -vvvvzu pink.unicorn.com 53 -w 66" }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe get_command(:get_host_ipaddress, 'pink.unicorn.com') do
|
15
|
+
it { should eq "getent hosts pink.unicorn.com | awk '{print $1; exit}'" }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe get_command(:get_host_ipv4_address, 'pink.unicorn.com') do
|
19
|
+
it { should eq "getent hosts pink.unicorn.com | awk '$1 ~ /^[0-9.]+$/ {print $1}'" }
|
20
|
+
end
|
21
|
+
|
22
|
+
describe get_command(:get_host_ipv6_address, 'pink.unicorn.com') do
|
23
|
+
it { should eq "getent hosts pink.unicorn.com | awk 'tolower($1) ~ /^[0-9a-f:]+$/ {print $1}'" }
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'openbsd'
|
5
|
+
|
6
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', nil, 'tcp', 10) do
|
7
|
+
it { should eq "ping -w 10 -c 2 -n pink.unicorn.com"}
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', 53, 'udp', 66) do
|
11
|
+
it { should eq "nc -w 66 -vvvvzu pink.unicorn.com 53" }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe get_command(:get_host_ipaddress, 'pink.unicorn.com') do
|
15
|
+
it { should eq "getent hosts pink.unicorn.com | awk '{print $1; exit}'" }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe get_command(:get_host_ipv4_address, 'pink.unicorn.com') do
|
19
|
+
it { should eq "getent hosts pink.unicorn.com | awk '$1 ~ /^[0-9.]+$/ {print $1}'" }
|
20
|
+
end
|
21
|
+
|
22
|
+
describe get_command(:get_host_ipv6_address, 'pink.unicorn.com') do
|
23
|
+
it { should eq "getent hosts pink.unicorn.com | awk 'tolower($1) ~ /^[0-9a-f:]+$/ {print $1}'" }
|
24
|
+
end
|
@@ -11,3 +11,15 @@ end
|
|
11
11
|
describe get_command(:check_host_is_reachable, 'example.jp', '80', 'tcp', 3) do
|
12
12
|
it { should eq "ncat -vvvvt example.jp 80 -w 3 -i 3 2>&1 | grep -q SUCCESS" }
|
13
13
|
end
|
14
|
+
|
15
|
+
describe get_command(:get_host_ipaddress, 'pink.unicorn.com') do
|
16
|
+
it { should eq "getent hosts pink.unicorn.com | awk '{print $1}'" }
|
17
|
+
end
|
18
|
+
|
19
|
+
describe get_command(:get_host_ipv4_address, 'pink.unicorn.com') do
|
20
|
+
it { should eq "getent ahostsv4 pink.unicorn.com | awk '{print $1; exit}'" }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe get_command(:get_host_ipv6_address, 'pink.unicorn.com') do
|
24
|
+
it { should eq "getent ahostsv6 pink.unicorn.com | awk '{print $1; exit}'" }
|
25
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.42.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-scp
|
@@ -310,6 +310,7 @@ files:
|
|
310
310
|
- lib/specinfra/command/openbsd/base/bridge.rb
|
311
311
|
- lib/specinfra/command/openbsd/base/file.rb
|
312
312
|
- lib/specinfra/command/openbsd/base/fstab.rb
|
313
|
+
- lib/specinfra/command/openbsd/base/host.rb
|
313
314
|
- lib/specinfra/command/openbsd/base/interface.rb
|
314
315
|
- lib/specinfra/command/openbsd/base/inventory.rb
|
315
316
|
- lib/specinfra/command/openbsd/base/mail_alias.rb
|
@@ -458,6 +459,7 @@ files:
|
|
458
459
|
- spec/command/amazon/service_spec.rb
|
459
460
|
- spec/command/base/file_spec.rb
|
460
461
|
- spec/command/base/group_spec.rb
|
462
|
+
- spec/command/base/host_spec.rb
|
461
463
|
- spec/command/base/localhost_spec.rb
|
462
464
|
- spec/command/base/package_spec.rb
|
463
465
|
- spec/command/base/user_spec.rb
|
@@ -467,6 +469,7 @@ files:
|
|
467
469
|
- spec/command/esxi/package_spec.rb
|
468
470
|
- spec/command/factory_spec.rb
|
469
471
|
- spec/command/freebsd/file_spec.rb
|
472
|
+
- spec/command/freebsd/host_spec.rb
|
470
473
|
- spec/command/freebsd/interface_spec.rb
|
471
474
|
- spec/command/linux/bond_spec.rb
|
472
475
|
- spec/command/linux/bridge_spec.rb
|
@@ -483,6 +486,7 @@ files:
|
|
483
486
|
- spec/command/module/systemd_spec.rb
|
484
487
|
- spec/command/module/zfs_spec.rb
|
485
488
|
- spec/command/openbsd/file_spec.rb
|
489
|
+
- spec/command/openbsd/host_spec.rb
|
486
490
|
- spec/command/openbsd/interface_spec.rb
|
487
491
|
- spec/command/redhat/package_spec.rb
|
488
492
|
- spec/command/redhat/service_spec.rb
|
@@ -550,6 +554,7 @@ test_files:
|
|
550
554
|
- spec/command/amazon/service_spec.rb
|
551
555
|
- spec/command/base/file_spec.rb
|
552
556
|
- spec/command/base/group_spec.rb
|
557
|
+
- spec/command/base/host_spec.rb
|
553
558
|
- spec/command/base/localhost_spec.rb
|
554
559
|
- spec/command/base/package_spec.rb
|
555
560
|
- spec/command/base/user_spec.rb
|
@@ -559,6 +564,7 @@ test_files:
|
|
559
564
|
- spec/command/esxi/package_spec.rb
|
560
565
|
- spec/command/factory_spec.rb
|
561
566
|
- spec/command/freebsd/file_spec.rb
|
567
|
+
- spec/command/freebsd/host_spec.rb
|
562
568
|
- spec/command/freebsd/interface_spec.rb
|
563
569
|
- spec/command/linux/bond_spec.rb
|
564
570
|
- spec/command/linux/bridge_spec.rb
|
@@ -575,6 +581,7 @@ test_files:
|
|
575
581
|
- spec/command/module/systemd_spec.rb
|
576
582
|
- spec/command/module/zfs_spec.rb
|
577
583
|
- spec/command/openbsd/file_spec.rb
|
584
|
+
- spec/command/openbsd/host_spec.rb
|
578
585
|
- spec/command/openbsd/interface_spec.rb
|
579
586
|
- spec/command/redhat/package_spec.rb
|
580
587
|
- spec/command/redhat/service_spec.rb
|
@@ -605,4 +612,3 @@ test_files:
|
|
605
612
|
- spec/host_inventory/openbsd/filesystem_spec.rb
|
606
613
|
- spec/host_inventory/solaris/filesystem_spec.rb
|
607
614
|
- spec/spec_helper.rb
|
608
|
-
has_rdoc:
|