specinfra 2.58.0 → 2.59.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/base/inventory.rb +4 -0
- data/lib/specinfra/host_inventory.rb +1 -0
- data/lib/specinfra/host_inventory/group.rb +34 -0
- data/lib/specinfra/host_inventory/virtualization.rb +18 -1
- data/lib/specinfra/version.rb +1 -1
- data/spec/host_inventory/base/group_spec.rb +97 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 210fcf5adc3d236c053cc1fba165798c36229b5b
|
4
|
+
data.tar.gz: 05f2723bb8a523c802db1b9f624095a9f56f2e7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52574f4fb340b334b5e0fbd55b3cab6157ac2f726e9f2be1e8aaed6deef86db9bc3be3259f48d4093c8a358510c5434d71a6c2e6a5d0f410397c06b2c5c29358
|
7
|
+
data.tar.gz: def2c971e0393aabfa5e5f8414b042a1a1ce7d70441a1cf06433608fc3cd752a9c9329fb328a734ef5b9090553b47d0381b1b3958258839d58d48a6be7848c44
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Specinfra
|
2
|
+
class HostInventory
|
3
|
+
class Group < Base
|
4
|
+
def get
|
5
|
+
cmd = backend.command.get(:get_inventory_group)
|
6
|
+
ret = backend.run_command(cmd)
|
7
|
+
if ret.exit_status == 0
|
8
|
+
parse(ret.stdout)
|
9
|
+
else
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def parse(cmd_ret)
|
15
|
+
groups = {}
|
16
|
+
lines = cmd_ret.split(/\n/)
|
17
|
+
lines.each do |line|
|
18
|
+
group = line.split(':')
|
19
|
+
members = if group[3]
|
20
|
+
group[3].split(',')
|
21
|
+
else
|
22
|
+
[]
|
23
|
+
end
|
24
|
+
groups[group[0]] = {
|
25
|
+
'name' => group[0],
|
26
|
+
'gid' => group[2],
|
27
|
+
'members' => members
|
28
|
+
}
|
29
|
+
end
|
30
|
+
groups
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -19,7 +19,13 @@ module Specinfra
|
|
19
19
|
ret = backend.run_command(cmd)
|
20
20
|
if ret.exit_status == 0
|
21
21
|
res[:system] = parse_system_product_name(ret.stdout)
|
22
|
-
|
22
|
+
return res
|
23
|
+
end
|
24
|
+
|
25
|
+
ret = backend.run_command('systemd-detect-virt')
|
26
|
+
if ret.success?
|
27
|
+
res[:system] = parse_systemd_detect_virt_output(ret.stdout)
|
28
|
+
end
|
23
29
|
|
24
30
|
res
|
25
31
|
end
|
@@ -40,6 +46,17 @@ module Specinfra
|
|
40
46
|
product_name
|
41
47
|
end
|
42
48
|
|
49
|
+
def parse_systemd_detect_virt_output(ret)
|
50
|
+
detected = ret.strip
|
51
|
+
|
52
|
+
case detected
|
53
|
+
when 'vmware', 'kvm'
|
54
|
+
detected
|
55
|
+
when 'oracle'
|
56
|
+
'vbox'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
43
60
|
end
|
44
61
|
end
|
45
62
|
end
|
data/lib/specinfra/version.rb
CHANGED
@@ -0,0 +1,97 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
str = <<-EOH
|
4
|
+
root:x:0:
|
5
|
+
bin:x:1:
|
6
|
+
daemon:x:2:
|
7
|
+
sys:x:3:
|
8
|
+
adm:x:4:
|
9
|
+
tty:x:5:
|
10
|
+
disk:x:6:
|
11
|
+
lp:x:7:
|
12
|
+
mem:x:8:
|
13
|
+
kmem:x:9:
|
14
|
+
wheel:x:10:hoge
|
15
|
+
cdrom:x:11:
|
16
|
+
mail:x:12:postfix
|
17
|
+
man:x:15:
|
18
|
+
dialout:x:18:
|
19
|
+
floppy:x:19:
|
20
|
+
games:x:20:
|
21
|
+
tape:x:30:
|
22
|
+
video:x:39:
|
23
|
+
ftp:x:50:
|
24
|
+
lock:x:54:
|
25
|
+
audio:x:63:
|
26
|
+
nobody:x:99:
|
27
|
+
users:x:100:
|
28
|
+
avahi-autoipd:x:170:
|
29
|
+
utmp:x:22:
|
30
|
+
utempter:x:35:
|
31
|
+
ssh_keys:x:999:
|
32
|
+
input:x:998:
|
33
|
+
systemd-journal:x:190:
|
34
|
+
systemd-bus-proxy:x:997:
|
35
|
+
systemd-network:x:996:
|
36
|
+
dbus:x:81:
|
37
|
+
polkitd:x:995:
|
38
|
+
dip:x:40:
|
39
|
+
tss:x:59:
|
40
|
+
postdrop:x:90:
|
41
|
+
postfix:x:89:
|
42
|
+
sshd:x:74:
|
43
|
+
ntp:x:38:
|
44
|
+
hoge:x:1000:
|
45
|
+
EOH
|
46
|
+
|
47
|
+
describe Specinfra::HostInventory::Group do
|
48
|
+
let(:host_inventory) { nil }
|
49
|
+
describe 'Example of CentOS Linux release 7.2.1511' do
|
50
|
+
ret = Specinfra::HostInventory::Group.new(host_inventory).parse(str)
|
51
|
+
example do
|
52
|
+
expect(ret).to include(
|
53
|
+
'adm' => {'name'=>'adm', 'gid'=>'4', 'members'=>[]},
|
54
|
+
'audio' => {'name'=>'audio', 'gid'=>'63', 'members'=>[]},
|
55
|
+
'avahi-autoipd' => {'name'=>'avahi-autoipd', 'gid'=>'170', 'members'=>[]},
|
56
|
+
'bin' => {'name'=>'bin', 'gid'=>'1', 'members'=>[]},
|
57
|
+
'cdrom' => {'name'=>'cdrom', 'gid'=>'11', 'members'=>[]},
|
58
|
+
'daemon' => {'name'=>'daemon', 'gid'=>'2', 'members'=>[]},
|
59
|
+
'dbus' => {'name'=>'dbus', 'gid'=>'81', 'members'=>[]},
|
60
|
+
'dialout' => {'name'=>'dialout', 'gid'=>'18', 'members'=>[]},
|
61
|
+
'dip' => {'name'=>'dip', 'gid'=>'40', 'members'=>[]},
|
62
|
+
'disk' => {'name'=>'disk', 'gid'=>'6', 'members'=>[]},
|
63
|
+
'floppy' => {'name'=>'floppy', 'gid'=>'19', 'members'=>[]},
|
64
|
+
'ftp' => {'name'=>'ftp', 'gid'=>'50', 'members'=>[]},
|
65
|
+
'games' => {'name'=>'games', 'gid'=>'20', 'members'=>[]},
|
66
|
+
'hoge' => {'name'=>'hoge', 'gid'=>'1000', 'members'=>[]},
|
67
|
+
'input' => {'name'=>'input', 'gid'=>'998', 'members'=>[]},
|
68
|
+
'kmem' => {'name'=>'kmem', 'gid'=>'9', 'members'=>[]},
|
69
|
+
'lock' => {'name'=>'lock', 'gid'=>'54', 'members'=>[]},
|
70
|
+
'lp' => {'name'=>'lp', 'gid'=>'7', 'members'=>[]},
|
71
|
+
'mail' => {'name'=>'mail', 'gid'=>'12', 'members'=>['postfix']},
|
72
|
+
'man' => {'name'=>'man', 'gid'=>'15', 'members'=>[]},
|
73
|
+
'mem' => {'name'=>'mem', 'gid'=>'8', 'members'=>[]},
|
74
|
+
'nobody' => {'name'=>'nobody', 'gid'=>'99', 'members'=>[]},
|
75
|
+
'ntp' => {'name'=>'ntp', 'gid'=>'38', 'members'=>[]},
|
76
|
+
'polkitd' => {'name'=>'polkitd', 'gid'=>'995', 'members'=>[]},
|
77
|
+
'postdrop' => {'name'=>'postdrop', 'gid'=>'90', 'members'=>[]},
|
78
|
+
'postfix' => {'name'=>'postfix', 'gid'=>'89', 'members'=>[]},
|
79
|
+
'root' => {'name'=>'root', 'gid'=>'0', 'members'=>[]},
|
80
|
+
'ssh_keys' => {'name'=>'ssh_keys', 'gid'=>'999', 'members'=>[]},
|
81
|
+
'sshd' => {'name'=>'sshd', 'gid'=>'74', 'members'=>[]},
|
82
|
+
'sys' => {'name'=>'sys', 'gid'=>'3', 'members'=>[]},
|
83
|
+
'systemd-bus-proxy' => {'name'=>'systemd-bus-proxy', 'gid'=>'997', 'members'=>[]},
|
84
|
+
'systemd-journal' => {'name'=>'systemd-journal', 'gid'=>'190', 'members'=>[]},
|
85
|
+
'systemd-network' => {'name'=>'systemd-network', 'gid'=>'996', 'members'=>[]},
|
86
|
+
'tape' => {'name'=>'tape', 'gid'=>'30', 'members'=>[]},
|
87
|
+
'tss' => {'name'=>'tss', 'gid'=>'59', 'members'=>[]},
|
88
|
+
'tty' => {'name'=>'tty', 'gid'=>'5', 'members'=>[]},
|
89
|
+
'users' => {'name'=>'users', 'gid'=>'100', 'members'=>[]},
|
90
|
+
'utempter' => {'name'=>'utempter', 'gid'=>'35', 'members'=>[]},
|
91
|
+
'utmp' => {'name'=>'utmp', 'gid'=>'22', 'members'=>[]},
|
92
|
+
'video' => {'name'=>'video', 'gid'=>'39', 'members'=>[]},
|
93
|
+
'wheel' => {'name'=>'wheel', 'gid'=>'10', 'members'=>['hoge']}
|
94
|
+
)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
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.59.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: 2016-06-
|
11
|
+
date: 2016-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-scp
|
@@ -456,6 +456,7 @@ files:
|
|
456
456
|
- lib/specinfra/host_inventory/ec2.rb
|
457
457
|
- lib/specinfra/host_inventory/filesystem.rb
|
458
458
|
- lib/specinfra/host_inventory/fqdn.rb
|
459
|
+
- lib/specinfra/host_inventory/group.rb
|
459
460
|
- lib/specinfra/host_inventory/hostname.rb
|
460
461
|
- lib/specinfra/host_inventory/kernel.rb
|
461
462
|
- lib/specinfra/host_inventory/memory.rb
|
@@ -539,6 +540,7 @@ files:
|
|
539
540
|
- spec/helper/properties_spec.rb
|
540
541
|
- spec/helper/set_spec.rb
|
541
542
|
- spec/host_inventory/aix/filesystem_spec.rb
|
543
|
+
- spec/host_inventory/base/group_spec.rb
|
542
544
|
- spec/host_inventory/base/user_spec.rb
|
543
545
|
- spec/host_inventory/darwin/filesystem_spec.rb
|
544
546
|
- spec/host_inventory/freebsd/filesystem_spec.rb
|
@@ -651,6 +653,7 @@ test_files:
|
|
651
653
|
- spec/helper/properties_spec.rb
|
652
654
|
- spec/helper/set_spec.rb
|
653
655
|
- spec/host_inventory/aix/filesystem_spec.rb
|
656
|
+
- spec/host_inventory/base/group_spec.rb
|
654
657
|
- spec/host_inventory/base/user_spec.rb
|
655
658
|
- spec/host_inventory/darwin/filesystem_spec.rb
|
656
659
|
- spec/host_inventory/freebsd/filesystem_spec.rb
|