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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b96d6c291a4ad614c1fb935b276b60a48712c2de
4
- data.tar.gz: 7d06566103e0dadc909f8a60a6d329db5326dc19
3
+ metadata.gz: 210fcf5adc3d236c053cc1fba165798c36229b5b
4
+ data.tar.gz: 05f2723bb8a523c802db1b9f624095a9f56f2e7a
5
5
  SHA512:
6
- metadata.gz: 8a604b92ac11245c1a1812b1cbbdb946ff7378d714c040839e85b54d84cc27195adfd6e35e44a966e8b1efa46d67d79a273ff7fdd4777f3bafd2346dc78f7e40
7
- data.tar.gz: 40a5677d5ca94efcc1e3af7852391830a6ebaa152191b32ff6bc42aee9b412ba71057979364b43fdbad5ce3be37b06dce23ee58483a9be54dbc95f51a1c380a3
6
+ metadata.gz: 52574f4fb340b334b5e0fbd55b3cab6157ac2f726e9f2be1e8aaed6deef86db9bc3be3259f48d4093c8a358510c5434d71a6c2e6a5d0f410397c06b2c5c29358
7
+ data.tar.gz: def2c971e0393aabfa5e5f8414b042a1a1ce7d70441a1cf06433608fc3cd752a9c9329fb328a734ef5b9090553b47d0381b1b3958258839d58d48a6be7848c44
@@ -3,5 +3,9 @@ class Specinfra::Command::Base::Inventory < Specinfra::Command::Base
3
3
  def get_user
4
4
  'getent passwd'
5
5
  end
6
+
7
+ def get_group
8
+ 'getent group'
9
+ end
6
10
  end
7
11
  end
@@ -14,6 +14,7 @@ module Specinfra
14
14
  kernel
15
15
  block_device
16
16
  user
17
+ group
17
18
  }
18
19
 
19
20
  include Enumerable
@@ -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
- end
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
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.58.0"
2
+ VERSION = "2.59.0"
3
3
  end
@@ -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.58.0
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-03 00:00:00.000000000 Z
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