specinfra 2.39.1 → 2.40.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/appveyor.yml +0 -1
- data/lib/specinfra/command/linux/base/inventory.rb +4 -0
- data/lib/specinfra/command/module/ss.rb +7 -6
- data/lib/specinfra/host_inventory/kernel.rb +15 -0
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/linux/inventory_spec.rb +4 -0
- data/spec/command/module/ss_spec.rb +17 -6
- data/spec/host_inventory/linux/kernel_spec.rb +33 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69a45c26015f312d20024e8ac669efc4a45832eb
|
4
|
+
data.tar.gz: 074bd53241292533b4f7f99218108e173d31fdfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22bc007008faf15f07afe3d0d12dc34e61eba875b8e748b4616a78dc1da080cccd3cd56de9b08e4fcea7aa0628a912d5a2f19b7e1eb32321d8a68462c89daee6
|
7
|
+
data.tar.gz: e5bca1a7d5f6c32275a69c8ee599cae8adb44da320612640ad42a55e2c05b9152a2ef4c086dc373a940aab837a55ff114eb42c77ca06bea81810953f6bbf7f4e
|
data/Rakefile
CHANGED
data/appveyor.yml
CHANGED
@@ -33,7 +33,6 @@ cache:
|
|
33
33
|
install:
|
34
34
|
- git submodule update --init --recursive
|
35
35
|
- ps: Enable-PSRemoting -Force
|
36
|
-
- ps: Set-ExecutionPolicy RemoteSigned
|
37
36
|
- winrm quickconfig -q
|
38
37
|
- winrm set winrm/config/client @{TrustedHosts="*"}
|
39
38
|
- winrm set winrm/config/client/auth @{Basic="true"}
|
@@ -23,13 +23,14 @@ module Specinfra
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def command_options(protocol)
|
26
|
-
case protocol
|
27
|
-
when
|
28
|
-
|
29
|
-
when
|
30
|
-
|
26
|
+
case protocol.to_s
|
27
|
+
when 'tcp' then "-tnl4"
|
28
|
+
when 'tcp6' then "-tnl6"
|
29
|
+
when 'udp' then "-unl4"
|
30
|
+
when 'udp6' then "-unl6"
|
31
|
+
when '' then "-tunl"
|
31
32
|
else
|
32
|
-
"
|
33
|
+
raise ArgumentError, "Unknown protocol [#{protocol}]"
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
@@ -5,8 +5,23 @@ module Specinfra
|
|
5
5
|
kernel = {}
|
6
6
|
kernel['machine'] = backend.os_info[:arch]
|
7
7
|
|
8
|
+
cmd = backend.command.get(:get_inventory_kernel)
|
9
|
+
ret = backend.run_command(cmd)
|
10
|
+
if ret.exit_status == 0
|
11
|
+
kernel = kernel.merge(parse_uname(ret.stdout))
|
12
|
+
end
|
8
13
|
kernel
|
9
14
|
end
|
15
|
+
|
16
|
+
def parse_uname(ret)
|
17
|
+
match = ret.match(/^(\w+) (((\d+\.\d+)\.\d+).*)$/)
|
18
|
+
if match
|
19
|
+
name, release, version, major = match.captures
|
20
|
+
Hash['name', name, "release", release, "version", version, "version_major", major]
|
21
|
+
else
|
22
|
+
nil
|
23
|
+
end
|
24
|
+
end
|
10
25
|
end
|
11
26
|
end
|
12
27
|
end
|
data/lib/specinfra/version.rb
CHANGED
@@ -6,12 +6,23 @@ describe Specinfra::Command::Module::Ss do
|
|
6
6
|
end
|
7
7
|
let(:klass) { Specinfra::Command::Module::Ss::Test }
|
8
8
|
it { expect(klass.check_is_listening('80')).to eq 'ss -tunl | grep -- :80\ ' }
|
9
|
-
|
10
|
-
it { expect(klass.check_is_listening('80', options={:protocol => '
|
9
|
+
|
10
|
+
it { expect(klass.check_is_listening('80', options={:protocol => 'tcp'})).to eq 'ss -tnl4 | grep -- :80\ ' }
|
11
|
+
it { expect(klass.check_is_listening('80', options={:protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -- :80\ ' }
|
12
|
+
it { expect(klass.check_is_listening('80', options={:protocol => 'udp'})).to eq 'ss -unl4 | grep -- :80\ ' }
|
13
|
+
it { expect(klass.check_is_listening('80', options={:protocol => 'udp6'})).to eq 'ss -unl6 | grep -- :80\ ' }
|
14
|
+
|
11
15
|
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0'})).to eq 'ss -tunl | grep -- \ \*:80\ ' }
|
12
|
-
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'tcp'})).to eq 'ss -
|
13
|
-
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => '
|
16
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'tcp'})).to eq 'ss -tnl4 | grep -- \ \*:80\ ' }
|
17
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -- \ \*:80\ ' }
|
18
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'udp'})).to eq 'ss -unl4 | grep -- \ \*:80\ ' }
|
19
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'udp6'})).to eq 'ss -unl6 | grep -- \ \*:80\ ' }
|
20
|
+
|
14
21
|
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4'})).to eq 'ss -tunl | grep -- \ 1.2.3.4:80\ ' }
|
15
|
-
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'tcp'})).to eq 'ss -
|
16
|
-
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => '
|
22
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'tcp'})).to eq 'ss -tnl4 | grep -- \ 1.2.3.4:80\ ' }
|
23
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -- \ 1.2.3.4:80\ ' }
|
24
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'udp'})).to eq 'ss -unl4 | grep -- \ 1.2.3.4:80\ ' }
|
25
|
+
it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'udp6'})).to eq 'ss -unl6 | grep -- \ 1.2.3.4:80\ ' }
|
26
|
+
|
27
|
+
it { expect{klass.check_is_listening('80', options={:protocol => 'bad_proto'})}.to raise_error(ArgumentError, 'Unknown protocol [bad_proto]') }
|
17
28
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Specinfra::HostInventory::Kernel do
|
4
|
+
describe 'Example of CentOS 6.6 Kernel version 2.6.32-504.30.3.el6.x86_64' do
|
5
|
+
str = 'Linux 2.6.32-504.30.3.el6.x86_64'
|
6
|
+
|
7
|
+
let(:host_inventory) { nil }
|
8
|
+
ret = Specinfra::HostInventory::Kernel.new(host_inventory).parse_uname(str)
|
9
|
+
example "name" do
|
10
|
+
expect(ret["name"]).to eq("Linux")
|
11
|
+
end
|
12
|
+
example "release" do
|
13
|
+
expect(ret["release"]).to eq("2.6.32-504.30.3.el6.x86_64")
|
14
|
+
end
|
15
|
+
example "version" do
|
16
|
+
expect(ret["version"]).to eq("2.6.32")
|
17
|
+
end
|
18
|
+
example "major" do
|
19
|
+
expect(ret["version_major"]).to eq("2.6")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe 'Example of unparseable output' do
|
24
|
+
str = 'unparseable output'
|
25
|
+
|
26
|
+
let(:host_inventory) { nil }
|
27
|
+
ret = Specinfra::HostInventory::Kernel.new(host_inventory).parse_uname(str)
|
28
|
+
|
29
|
+
example 'is nil' do
|
30
|
+
expect(ret).to be(nil)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
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.40.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-07-
|
11
|
+
date: 2015-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-scp
|
@@ -496,6 +496,7 @@ files:
|
|
496
496
|
- spec/host_inventory/freebsd/filesystem_spec.rb
|
497
497
|
- spec/host_inventory/linux/cpu_spec.rb
|
498
498
|
- spec/host_inventory/linux/filesystem_spec.rb
|
499
|
+
- spec/host_inventory/linux/kernel_spec.rb
|
499
500
|
- spec/host_inventory/linux/memory_spec.rb
|
500
501
|
- spec/host_inventory/linux/virtualization_docker_spec.rb
|
501
502
|
- spec/host_inventory/linux/virtualization_kvm_spec.rb
|
@@ -585,10 +586,10 @@ test_files:
|
|
585
586
|
- spec/host_inventory/freebsd/filesystem_spec.rb
|
586
587
|
- spec/host_inventory/linux/cpu_spec.rb
|
587
588
|
- spec/host_inventory/linux/filesystem_spec.rb
|
589
|
+
- spec/host_inventory/linux/kernel_spec.rb
|
588
590
|
- spec/host_inventory/linux/memory_spec.rb
|
589
591
|
- spec/host_inventory/linux/virtualization_docker_spec.rb
|
590
592
|
- spec/host_inventory/linux/virtualization_kvm_spec.rb
|
591
593
|
- spec/host_inventory/openbsd/filesystem_spec.rb
|
592
594
|
- spec/host_inventory/solaris/filesystem_spec.rb
|
593
595
|
- spec/spec_helper.rb
|
594
|
-
has_rdoc:
|