specinfra 2.11.6 → 2.11.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/specinfra/command/opensuse/base/service.rb +5 -0
- data/lib/specinfra/command_factory.rb +3 -1
- data/lib/specinfra/configuration.rb +1 -0
- data/lib/specinfra/host_inventory.rb +8 -1
- data/lib/specinfra/host_inventory/domain.rb +10 -0
- data/lib/specinfra/host_inventory/ec2.rb +9 -0
- data/lib/specinfra/host_inventory/fqdn.rb +10 -0
- data/lib/specinfra/host_inventory/hostname.rb +10 -0
- data/lib/specinfra/host_inventory/memory.rb +18 -0
- data/lib/specinfra/processor.rb +5 -37
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/linux/selinux_module_spec.rb +12 -0
- data/spec/command/linux/selinux_spec.rb +8 -0
- metadata +10 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cb5ba6a49ece8dcff20b124919abab9eb1bcfec
|
4
|
+
data.tar.gz: f8903251a7c3aa89a28730ce17cc038309f8f09b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 160811348b2046e4cfc115bfa18257dda619f58468d0f88b0e3e417595ebfe2133f0de4f515ebc67f3eb13687e551f0d26a52000de07343268c95a38032555c1
|
7
|
+
data.tar.gz: adab7833724a34ec064d0fdd58288ed17af762c4587025b00e0360c9423043031fe47a0828808490cf7423972df742dd6d477401c8d69a8237ca56cc35ee614e
|
@@ -1,7 +1,12 @@
|
|
1
1
|
class Specinfra::Command::Opensuse::Base::Service < Specinfra::Command::Suse::Base::Service
|
2
2
|
class << self
|
3
|
+
include Specinfra::Command::Module::Systemd
|
3
4
|
def check_is_running(service)
|
4
5
|
"service #{escape(service)} status"
|
5
6
|
end
|
7
|
+
|
8
|
+
def check_is_enabled(service, level=nil)
|
9
|
+
"systemctl is-enabled #{escape(service)}"
|
10
|
+
end
|
6
11
|
end
|
7
12
|
end
|
@@ -48,7 +48,9 @@ class Specinfra::CommandFactory
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def breakdown(meth)
|
51
|
-
|
51
|
+
# Somtimes `selinux_module' type matches `selinux' and error occurs.
|
52
|
+
# Reverse sorting is needed to avoid this problem.
|
53
|
+
types = resource_types.map {|t| t.to_snake_case }.sort.reverse.join('|')
|
52
54
|
md = meth.to_s.match(/^([^_]+)_(#{types})_?(.+)?$/)
|
53
55
|
if md.nil?
|
54
56
|
message = "Could not break down `#{meth}' to appropriate type and method.\n"
|
@@ -1,3 +1,9 @@
|
|
1
|
+
require 'specinfra/host_inventory/memory'
|
2
|
+
require 'specinfra/host_inventory/ec2'
|
3
|
+
require 'specinfra/host_inventory/hostname'
|
4
|
+
require 'specinfra/host_inventory/domain'
|
5
|
+
require 'specinfra/host_inventory/fqdn'
|
6
|
+
|
1
7
|
module Specinfra
|
2
8
|
class HostInventory
|
3
9
|
include Singleton
|
@@ -10,7 +16,8 @@ module Specinfra
|
|
10
16
|
def [](key)
|
11
17
|
@inventory[key.to_sym] ||= {}
|
12
18
|
if @inventory[key.to_sym].empty?
|
13
|
-
|
19
|
+
inventory_class = Specinfra::HostInventory.const_get(key.to_s.to_camel_case)
|
20
|
+
@inventory[key.to_sym] = inventory_class.get
|
14
21
|
end
|
15
22
|
@inventory[key.to_sym]
|
16
23
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Specinfra
|
2
|
+
class HostInventory
|
3
|
+
class Memory
|
4
|
+
def self.get
|
5
|
+
cmd = Specinfra.command.get(:get_inventory_memory)
|
6
|
+
ret = Specinfra.backend.run_command(cmd).stdout
|
7
|
+
memory = {}
|
8
|
+
ret.each_line do |line|
|
9
|
+
case line
|
10
|
+
when /^MemTotal:\s+(\d+) (.+)$/
|
11
|
+
memory['total'] = "#{$1}#{$2}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
memory
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/specinfra/processor.rb
CHANGED
@@ -127,11 +127,11 @@ module Specinfra
|
|
127
127
|
|
128
128
|
if os[:family] == 'openbsd'
|
129
129
|
match = ret.stdout.match(/^(\S+)\s+(\S+).*?(\S+[0-9]+)(\s*)$/)
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
130
|
+
actual_attr = {
|
131
|
+
:destination => $1,
|
132
|
+
:gateway => $2,
|
133
|
+
:interface => expected_attr[:interface] ? $3 : nil
|
134
|
+
}
|
135
135
|
else
|
136
136
|
matches = ret.stdout.scan(/^(\S+)(?: via (\S+))? dev (\S+).+\n|^(\S+).+\n|\s+nexthop via (\S+)\s+dev (\S+).+/)
|
137
137
|
if matches.length > 1
|
@@ -192,37 +192,5 @@ module Specinfra
|
|
192
192
|
end
|
193
193
|
end
|
194
194
|
end
|
195
|
-
|
196
|
-
def self.get_inventory_memory
|
197
|
-
cmd = Specinfra.command.get(:get_inventory_memory)
|
198
|
-
ret = Specinfra.backend.run_command(cmd).stdout
|
199
|
-
memory = {}
|
200
|
-
ret.each_line do |line|
|
201
|
-
case line
|
202
|
-
when /^MemTotal:\s+(\d+) (.+)$/
|
203
|
-
memory['total'] = "#{$1}#{$2}"
|
204
|
-
end
|
205
|
-
end
|
206
|
-
memory
|
207
|
-
end
|
208
|
-
|
209
|
-
def self.get_inventory_ec2
|
210
|
-
Specinfra::Ec2Metadata.new.get
|
211
|
-
end
|
212
|
-
|
213
|
-
def self.get_inventory_hostname
|
214
|
-
cmd = Specinfra.command.get(:get_inventory_hostname)
|
215
|
-
Specinfra.backend.run_command(cmd).stdout.strip
|
216
|
-
end
|
217
|
-
|
218
|
-
def self.get_inventory_domain
|
219
|
-
cmd = Specinfra.command.get(:get_inventory_domain)
|
220
|
-
Specinfra.backend.run_command(cmd).stdout.strip
|
221
|
-
end
|
222
|
-
|
223
|
-
def self.get_inventory_fqdn
|
224
|
-
cmd = Specinfra.command.get(:get_inventory_fqdn)
|
225
|
-
Specinfra.backend.run_command(cmd).stdout.strip
|
226
|
-
end
|
227
195
|
end
|
228
196
|
end
|
data/lib/specinfra/version.rb
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'linux'
|
5
|
+
|
6
|
+
describe get_command(:check_selinux_module_is_installed, 'dnsmasq') do
|
7
|
+
it { should eq "semodule -l | grep $'^dnsmasq\\t'" }
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:check_selinux_module_is_enabled, 'dnsmasq') do
|
11
|
+
it { should eq "semodule -l | grep $'^dnsmasq\\t' | grep -v $'^dnsmasq\\t.*\\tDisabled$'" }
|
12
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'linux'
|
5
|
+
|
6
|
+
describe get_command(:check_selinux_has_mode, 'disabled') do
|
7
|
+
it { should eq 'test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)' }
|
8
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.11.
|
4
|
+
version: 2.11.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
@@ -334,6 +334,11 @@ files:
|
|
334
334
|
- lib/specinfra/helper/properties.rb
|
335
335
|
- lib/specinfra/helper/set.rb
|
336
336
|
- lib/specinfra/host_inventory.rb
|
337
|
+
- lib/specinfra/host_inventory/domain.rb
|
338
|
+
- lib/specinfra/host_inventory/ec2.rb
|
339
|
+
- lib/specinfra/host_inventory/fqdn.rb
|
340
|
+
- lib/specinfra/host_inventory/hostname.rb
|
341
|
+
- lib/specinfra/host_inventory/memory.rb
|
337
342
|
- lib/specinfra/processor.rb
|
338
343
|
- lib/specinfra/properties.rb
|
339
344
|
- lib/specinfra/runner.rb
|
@@ -353,6 +358,8 @@ files:
|
|
353
358
|
- spec/command/linux/interface_spec.rb
|
354
359
|
- spec/command/linux/inventory_spec.rb
|
355
360
|
- spec/command/linux/ip6tables_spec.rb
|
361
|
+
- spec/command/linux/selinux_module_spec.rb
|
362
|
+
- spec/command/linux/selinux_spec.rb
|
356
363
|
- spec/command/module/systemd_spec.rb
|
357
364
|
- spec/command/redhat/interface_spec.rb
|
358
365
|
- spec/command/redhat/package_spec.rb
|
@@ -406,6 +413,8 @@ test_files:
|
|
406
413
|
- spec/command/linux/interface_spec.rb
|
407
414
|
- spec/command/linux/inventory_spec.rb
|
408
415
|
- spec/command/linux/ip6tables_spec.rb
|
416
|
+
- spec/command/linux/selinux_module_spec.rb
|
417
|
+
- spec/command/linux/selinux_spec.rb
|
409
418
|
- spec/command/module/systemd_spec.rb
|
410
419
|
- spec/command/redhat/interface_spec.rb
|
411
420
|
- spec/command/redhat/package_spec.rb
|