specinfra 2.42.0 → 2.42.1
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/darwin/base/host.rb +28 -0
- data/lib/specinfra/command/openbsd/base/service.rb +8 -0
- data/lib/specinfra/command/openbsd/v57/service.rb +35 -0
- data/lib/specinfra/command/openbsd/v57.rb +2 -0
- data/lib/specinfra/command/ubuntu/base/ppa.rb +2 -2
- data/lib/specinfra/command.rb +4 -0
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/darwin/host_spec.rb +38 -0
- data/spec/command/openbsd/service_spec.rb +12 -0
- data/spec/command/openbsd57/service_spec.rb +36 -0
- data/spec/command/ubuntu/ppa_spec.rb +2 -2
- metadata +11 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 211b97ff28d60bfeda6954c6e605af14e4cd12ec
|
4
|
+
data.tar.gz: 93c326f9dc28ff0c2698ca9f774d0f5717ea14db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 277f327b85a7fe633f67683b7b75c2528cb4c02cd17d747aa0d91cba93ef82c4057cf05c6fe1a642296f76effdc335c7e3d5a902006c8b9a2b8d134994056640
|
7
|
+
data.tar.gz: a380d86cc801f2e6a0a132b652ce652839ce2aabd0a001a0f5bc6d0de32dd58e9ea004c54ad9c6c2ee10295b3f6c7f2f4a5a39564132fd9042f65f09dc4ccdab
|
@@ -1,5 +1,17 @@
|
|
1
1
|
class Specinfra::Command::Darwin::Base::Host < Specinfra::Command::Base::Host
|
2
2
|
class << self
|
3
|
+
def check_is_resolvable(name, type)
|
4
|
+
if type == "dns"
|
5
|
+
## try to resolve either A or AAAA record; grep is used to return the appropriate exit code
|
6
|
+
%Q{dig +short +time=1 -q #{escape(name)} a #{escape(name)} aaaa | grep -qie '^[0-9a-f:.]*$'}
|
7
|
+
elsif type == "hosts"
|
8
|
+
"sed 's/#.*$//' /etc/hosts | grep -w -- #{escape(name)}"
|
9
|
+
else
|
10
|
+
## grep is required as dscacheutil always returns exit code 0
|
11
|
+
"dscacheutil -q host -a name #{escape(name)} | grep -q '_address:'"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
3
15
|
def check_is_reachable(host, port, proto, timeout)
|
4
16
|
if port.nil?
|
5
17
|
"ping -t #{escape(timeout)} -c 2 -n #{escape(host)}"
|
@@ -7,5 +19,21 @@ class Specinfra::Command::Darwin::Base::Host < Specinfra::Command::Base::Host
|
|
7
19
|
"nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}"
|
8
20
|
end
|
9
21
|
end
|
22
|
+
|
23
|
+
def get_ipaddress(name)
|
24
|
+
# If the query returns multiple records the most likey match is returned.
|
25
|
+
# Generally this means IPv6 wins over IPv4.
|
26
|
+
%Q{dscacheutil -q host -a name #{escape(name)} | } +
|
27
|
+
%Q{awk '/^ipv6_/{ ip = $2 }; /^$/{ exit }; /^ip_/{ ip = $2; exit}; END{ print ip }'}
|
28
|
+
end
|
29
|
+
def get_ipv4_address(name)
|
30
|
+
## With dscacheutil multiple IPs can be returned for IPv4 just pick the first one
|
31
|
+
%Q{dscacheutil -q host -a name #{escape(name)} | awk '/^ip_/{ print $2; exit }'}
|
32
|
+
end
|
33
|
+
def get_ipv6_address(name)
|
34
|
+
## With dscacheutil multiple IPs can be returned. For IPv6 the link-local is displayed first
|
35
|
+
## hence the last entry is picked.
|
36
|
+
%Q{dscacheutil -q host -a name #{escape(name)} | awk '/^ipv6_/{ ip = $2 } END{ print ip }'}
|
37
|
+
end
|
10
38
|
end
|
11
39
|
end
|
@@ -1,5 +1,13 @@
|
|
1
1
|
class Specinfra::Command::Openbsd::Base::Service < Specinfra::Command::Base::Service
|
2
2
|
class << self
|
3
|
+
def create
|
4
|
+
if os[:release].to_f < 5.7
|
5
|
+
self
|
6
|
+
else
|
7
|
+
Specinfra::Command::Openbsd::V57::Service
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
3
11
|
def check_is_enabled(service, level=nil)
|
4
12
|
"/etc/rc.d/#{escape(service)} status"
|
5
13
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class Specinfra::Command::Openbsd::V57::Service < Specinfra::Command::Openbsd::Base::Service
|
2
|
+
class << self
|
3
|
+
def check_is_enabled(service, level=nil)
|
4
|
+
"rcctl get #{escape(service)} status"
|
5
|
+
end
|
6
|
+
|
7
|
+
def check_is_running(service)
|
8
|
+
"rcctl check #{escape(service)}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def enable(service)
|
12
|
+
"rcctl set #{escape(service)} status on"
|
13
|
+
end
|
14
|
+
|
15
|
+
def disable(service)
|
16
|
+
"rcctl set #{escape(service)} status off"
|
17
|
+
end
|
18
|
+
|
19
|
+
def start(service)
|
20
|
+
"rcctl start #{escape(service)}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def stop(service)
|
24
|
+
"rcctl stop #{escape(service)}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def restart(service)
|
28
|
+
"rcctl restart #{escape(service)}"
|
29
|
+
end
|
30
|
+
|
31
|
+
def reload(service)
|
32
|
+
"rcctl reload #{escape(service)}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
class Specinfra::Command::Ubuntu::Base::Ppa < Specinfra::Command::Debian::Base::Ppa
|
2
2
|
class << self
|
3
3
|
def check_exists(package)
|
4
|
-
%Q{find /etc/apt/ -name \*.list | xargs grep -o -E "deb +http://ppa.launchpad.net/#{to_apt_line_uri(package)}"}
|
4
|
+
%Q{find /etc/apt/ -name \*.list | xargs grep -o -E "deb +[\"']?http://ppa.launchpad.net/#{to_apt_line_uri(package)}"}
|
5
5
|
end
|
6
6
|
|
7
7
|
def check_is_enabled(package)
|
8
|
-
%Q{find /etc/apt/ -name \*.list | xargs grep -o -E "^deb +http://ppa.launchpad.net/#{to_apt_line_uri(package)}"}
|
8
|
+
%Q{find /etc/apt/ -name \*.list | xargs grep -o -E "^deb +[\"']?http://ppa.launchpad.net/#{to_apt_line_uri(package)}"}
|
9
9
|
end
|
10
10
|
|
11
11
|
private
|
data/lib/specinfra/command.rb
CHANGED
@@ -244,6 +244,10 @@ require 'specinfra/command/openbsd/base/routing_table'
|
|
244
244
|
require 'specinfra/command/openbsd/base/service'
|
245
245
|
require 'specinfra/command/openbsd/base/user'
|
246
246
|
|
247
|
+
# OpenBSD >= V5.7 (inherit OpenBSD)
|
248
|
+
require 'specinfra/command/openbsd/v57'
|
249
|
+
require 'specinfra/command/openbsd/v57/service'
|
250
|
+
|
247
251
|
# Solaris (inherit Base)
|
248
252
|
require 'specinfra/command/solaris'
|
249
253
|
require 'specinfra/command/solaris/base'
|
data/lib/specinfra/version.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'darwin'
|
5
|
+
|
6
|
+
describe get_command(:check_host_is_resolvable, 'pink.unicorn.com', 'dns') do
|
7
|
+
it { should eq "dig +short +time=1 -q pink.unicorn.com a pink.unicorn.com aaaa | grep -qie '^[0-9a-f:.]*$'" }
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:check_host_is_resolvable, 'pink.unicorn.com', 'hosts') do
|
11
|
+
it { should eq "sed 's/#.*$//' /etc/hosts | grep -w -- pink.unicorn.com" }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe get_command(:check_host_is_resolvable, 'pink.unicorn.com', nil) do
|
15
|
+
it { should eq "dscacheutil -q host -a name pink.unicorn.com | grep -q '_address:'" }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', nil, 'tcp', 10) do
|
19
|
+
it { should eq "ping -t 10 -c 2 -n pink.unicorn.com"}
|
20
|
+
end
|
21
|
+
|
22
|
+
describe get_command(:check_host_is_reachable, 'pink.unicorn.com', 53, 'udp', 66) do
|
23
|
+
it { should eq "nc -vvvvzu pink.unicorn.com 53 -w 66" }
|
24
|
+
end
|
25
|
+
|
26
|
+
describe get_command(:get_host_ipaddress, 'pink.unicorn.com') do
|
27
|
+
it do should eq "dscacheutil -q host -a name pink.unicorn.com | " +
|
28
|
+
"awk '/^ipv6_/{ ip = $2 }; /^$/{ exit }; /^ip_/{ ip = $2; exit}; END{ print ip }'"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe get_command(:get_host_ipv4_address, 'pink.unicorn.com') do
|
33
|
+
it { should eq "dscacheutil -q host -a name pink.unicorn.com | awk '/^ip_/{ print $2; exit }'" }
|
34
|
+
end
|
35
|
+
|
36
|
+
describe get_command(:get_host_ipv6_address, 'pink.unicorn.com') do
|
37
|
+
it { should eq "dscacheutil -q host -a name pink.unicorn.com | awk '/^ipv6_/{ ip = $2 } END{ print ip }'" }
|
38
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'openbsd'
|
5
|
+
|
6
|
+
describe get_command(:check_service_is_enabled, 'httpd') do
|
7
|
+
it { should eq '/etc/rc.d/httpd status' }
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:check_service_is_running, 'httpd') do
|
11
|
+
it { should eq '/etc/rc.d/httpd check' }
|
12
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'openbsd', :release => '5.7'
|
5
|
+
|
6
|
+
describe get_command(:check_service_is_enabled, 'httpd') do
|
7
|
+
it { should eq 'rcctl get httpd status' }
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:check_service_is_running, 'httpd') do
|
11
|
+
it { should eq 'rcctl check httpd' }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe get_command(:enable_service, 'httpd') do
|
15
|
+
it { should eq 'rcctl set httpd status on' }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe get_command(:disable_service, 'httpd') do
|
19
|
+
it { should eq 'rcctl set httpd status off' }
|
20
|
+
end
|
21
|
+
|
22
|
+
describe get_command(:start_service, 'httpd') do
|
23
|
+
it { should eq 'rcctl start httpd' }
|
24
|
+
end
|
25
|
+
|
26
|
+
describe get_command(:stop_service, 'httpd') do
|
27
|
+
it { should eq 'rcctl stop httpd' }
|
28
|
+
end
|
29
|
+
|
30
|
+
describe get_command(:restart_service, 'httpd') do
|
31
|
+
it { should eq 'rcctl restart httpd' }
|
32
|
+
end
|
33
|
+
|
34
|
+
describe get_command(:reload_service, 'httpd') do
|
35
|
+
it { should eq 'rcctl reload httpd' }
|
36
|
+
end
|
@@ -4,9 +4,9 @@ property[:os] = nil
|
|
4
4
|
set :os, :family => 'ubuntu'
|
5
5
|
|
6
6
|
describe get_command(:check_ppa_exists, 'nginx/stable') do
|
7
|
-
it { should eq
|
7
|
+
it { should eq %(find /etc/apt/ -name *.list | xargs grep -o -E "deb +["']?http://ppa.launchpad.net/nginx/stable") }
|
8
8
|
end
|
9
9
|
|
10
10
|
describe get_command(:check_ppa_is_enabled, 'nginx/stable') do
|
11
|
-
it { should eq
|
11
|
+
it { should eq %(find /etc/apt/ -name *.list | xargs grep -o -E "^deb +["']?http://ppa.launchpad.net/nginx/stable") }
|
12
12
|
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.42.
|
4
|
+
version: 2.42.1
|
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-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-scp
|
@@ -319,6 +319,8 @@ files:
|
|
319
319
|
- lib/specinfra/command/openbsd/base/routing_table.rb
|
320
320
|
- lib/specinfra/command/openbsd/base/service.rb
|
321
321
|
- lib/specinfra/command/openbsd/base/user.rb
|
322
|
+
- lib/specinfra/command/openbsd/v57.rb
|
323
|
+
- lib/specinfra/command/openbsd/v57/service.rb
|
322
324
|
- lib/specinfra/command/opensuse.rb
|
323
325
|
- lib/specinfra/command/opensuse/base.rb
|
324
326
|
- lib/specinfra/command/opensuse/base/service.rb
|
@@ -464,6 +466,7 @@ files:
|
|
464
466
|
- spec/command/base/package_spec.rb
|
465
467
|
- spec/command/base/user_spec.rb
|
466
468
|
- spec/command/darwin/file_spec.rb
|
469
|
+
- spec/command/darwin/host_spec.rb
|
467
470
|
- spec/command/darwin/user_spec.rb
|
468
471
|
- spec/command/debian/service_spec.rb
|
469
472
|
- spec/command/esxi/package_spec.rb
|
@@ -488,6 +491,8 @@ files:
|
|
488
491
|
- spec/command/openbsd/file_spec.rb
|
489
492
|
- spec/command/openbsd/host_spec.rb
|
490
493
|
- spec/command/openbsd/interface_spec.rb
|
494
|
+
- spec/command/openbsd/service_spec.rb
|
495
|
+
- spec/command/openbsd57/service_spec.rb
|
491
496
|
- spec/command/redhat/package_spec.rb
|
492
497
|
- spec/command/redhat/service_spec.rb
|
493
498
|
- spec/command/redhat7/host_spec.rb
|
@@ -559,6 +564,7 @@ test_files:
|
|
559
564
|
- spec/command/base/package_spec.rb
|
560
565
|
- spec/command/base/user_spec.rb
|
561
566
|
- spec/command/darwin/file_spec.rb
|
567
|
+
- spec/command/darwin/host_spec.rb
|
562
568
|
- spec/command/darwin/user_spec.rb
|
563
569
|
- spec/command/debian/service_spec.rb
|
564
570
|
- spec/command/esxi/package_spec.rb
|
@@ -583,6 +589,8 @@ test_files:
|
|
583
589
|
- spec/command/openbsd/file_spec.rb
|
584
590
|
- spec/command/openbsd/host_spec.rb
|
585
591
|
- spec/command/openbsd/interface_spec.rb
|
592
|
+
- spec/command/openbsd/service_spec.rb
|
593
|
+
- spec/command/openbsd57/service_spec.rb
|
586
594
|
- spec/command/redhat/package_spec.rb
|
587
595
|
- spec/command/redhat/service_spec.rb
|
588
596
|
- spec/command/redhat7/host_spec.rb
|
@@ -612,3 +620,4 @@ test_files:
|
|
612
620
|
- spec/host_inventory/openbsd/filesystem_spec.rb
|
613
621
|
- spec/host_inventory/solaris/filesystem_spec.rb
|
614
622
|
- spec/spec_helper.rb
|
623
|
+
has_rdoc:
|