specinfra 2.33.1 → 2.34.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cfdda15e9c52311a0d5e24589dcc58b65f3be07b
4
- data.tar.gz: 463ca1d7e2baa498d1be6f4f8619ffc12ee1dc5a
3
+ metadata.gz: c7770fd21e92746495faaeabbcccdb5590a7c22b
4
+ data.tar.gz: b3a64e48ef28c3ffdea1532382c4a029d0efea09
5
5
  SHA512:
6
- metadata.gz: 9eb5310383f8844abbae06634adad3d8d086ba6c50bb41dcca1dd79096bc2e986ba5e23b60c49e63d60b68aa2abd809cbde649238ebcb679a6abdad6057faf14
7
- data.tar.gz: af72cbc235163f369693d96f679bb2766df79c44bc651832009a1e0ceba607e75ec1598adead0c8e45713ef993fa0775e685387800c610c39476e3681c5f3c98
6
+ metadata.gz: c23382cfab4758f8f3b98351e59cde4f19e9fd8832c0e04f8405c960694bf8c5123f4663c49ea690d7ce2376611aff118436a5231522abe501bae8a035e02366
7
+ data.tar.gz: b8e6ca1b31f2fbb5e0d55471ae0a9d6e7970d89e16cabfe5ed6314675baacf5bfdd485a2e77d9bace685e5a8aa4bf8ae375d5379434db004935ddda42329da6d
@@ -5,6 +5,15 @@ end
5
5
 
6
6
  # Module
7
7
  require 'specinfra/command/module'
8
+ require 'specinfra/command/module/service/init'
9
+ require 'specinfra/command/module/service/systemd'
10
+ require 'specinfra/command/module/service/daemontools'
11
+ require 'specinfra/command/module/service/supervisor'
12
+ require 'specinfra/command/module/service/upstart'
13
+ require 'specinfra/command/module/service/runit'
14
+ require 'specinfra/command/module/service/monit'
15
+ require 'specinfra/command/module/service/god'
16
+ require 'specinfra/command/module/service/delegator'
8
17
  require 'specinfra/command/module/systemd'
9
18
  require 'specinfra/command/module/zfs'
10
19
 
@@ -1,31 +1,15 @@
1
1
  class Specinfra::Command::Base::Service < Specinfra::Command::Base
2
2
  class << self
3
- def check_is_running(service)
4
- "service #{escape(service)} status"
5
- end
6
-
7
- def check_is_running_under_supervisor(service)
8
- "supervisorctl status #{escape(service)} | grep RUNNING"
9
- end
10
-
11
- def check_is_running_under_upstart(service)
12
- "initctl status #{escape(service)} | grep running"
13
- end
14
-
15
- def check_is_running_under_daemontools(service)
16
- "svstat /service/#{escape(service)} | grep -E 'up \\(pid [0-9]+\\)'"
17
- end
18
-
19
- def check_is_running_under_runit(service)
20
- "sv status #{escape(service)} | grep -E '^run: '"
21
- end
22
-
23
- def check_is_monitored_by_monit(service)
24
- "monit status"
25
- end
26
-
27
- def check_is_monitored_by_god(service)
28
- "god status #{escape(service)}"
29
- end
3
+ include Specinfra::Command::Module::Service::Init
4
+ include Specinfra::Command::Module::Service::Systemd
5
+ include Specinfra::Command::Module::Service::Daemontools
6
+ include Specinfra::Command::Module::Service::Supervisor
7
+ include Specinfra::Command::Module::Service::Upstart
8
+ include Specinfra::Command::Module::Service::Runit
9
+ include Specinfra::Command::Module::Service::Monit
10
+ include Specinfra::Command::Module::Service::God
11
+ extend Specinfra::Command::Module::Service::Delegator
12
+
13
+ def_delegator_service_under :init
30
14
  end
31
15
  end
@@ -0,0 +1,41 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Daemontools
6
+ def check_is_enabled_under_daemontools(service)
7
+ "test -L /service/#{escape(service)} && test -f /service/#{escape(service)}/run"
8
+ end
9
+
10
+ def check_is_running_under_daemontools(service)
11
+ "svstat /service/#{escape(service)} | grep -E 'up \\(pid [0-9]+\\)'"
12
+ end
13
+
14
+ def enable_under_daemontools(service, directory)
15
+ "ln -snf #{escape(directory)} /service/#{escape(service)}"
16
+ end
17
+
18
+ def disable_under_daemontools(service)
19
+ "( cd /service/#{escape(service)} && rm -f /service/#{escape(service)} && svc -dx . && [ -d log ] && svc -dx log )"
20
+ end
21
+
22
+ def start_under_daemontools(service)
23
+ "svc -u /service/#{escape(service)}"
24
+ end
25
+
26
+ def stop_under_daemontools(service)
27
+ "svc -d /service/#{escape(service)}"
28
+ end
29
+
30
+ def restart_under_daemontools(service)
31
+ "svc -t /service/#{escape(service)}"
32
+ end
33
+
34
+ def reload_under_daemontools(service)
35
+ "svc -h /service/#{escape(service)}"
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,20 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Delegator
6
+ def def_delegator_service_under(under)
7
+ self.send(:alias_method, :check_is_enabled, :"check_is_enabled_under_#{under}")
8
+ self.send(:alias_method, :check_is_running, :"check_is_running_under_#{under}")
9
+ self.send(:alias_method, :enable, :"enable_under_#{under}")
10
+ self.send(:alias_method, :disable, :"disable_under_#{under}")
11
+ self.send(:alias_method, :start, :"start_under_#{under}")
12
+ self.send(:alias_method, :stop, :"stop_under_#{under}")
13
+ self.send(:alias_method, :restart, :"restart_under_#{under}")
14
+ self.send(:alias_method, :reload, :"reload_under_#{under}")
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module God
6
+ def check_is_monitored_by_god(service)
7
+ "god status #{escape(service)}"
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,42 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Init
6
+ def check_is_enabled_under_init(service, level=3)
7
+ "chkconfig --list #{escape(service)} | grep #{level}:on"
8
+ end
9
+
10
+ def check_is_running_under_init(service)
11
+ "service #{escape(service)} status"
12
+ end
13
+
14
+ def enable_under_init(service)
15
+ "chkconfig #{escape(service)} on"
16
+ end
17
+
18
+ def disable_under_init(service)
19
+ "chkconfig #{escape(service)} off"
20
+ end
21
+
22
+ def start_under_init(service)
23
+ "service #{escape(service)} start"
24
+ end
25
+
26
+ def stop_under_init(service)
27
+ "service #{escape(service)} stop"
28
+ end
29
+
30
+ def restart_under_init(service)
31
+ "service #{escape(service)} restart"
32
+ end
33
+
34
+ def reload_under_init(service)
35
+ "service #{escape(service)} reload"
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
@@ -0,0 +1,13 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Monit
6
+ def check_is_monitored_by_monit(service)
7
+ "monit status"
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Runit
6
+ def check_is_running_under_runit(service)
7
+ "sv status #{escape(service)} | grep -E '^run: '"
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Supervisor
6
+ def check_is_running_under_supervisor(service)
7
+ "supervisorctl status #{escape(service)} | grep RUNNING"
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,48 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Systemd
6
+ def check_is_enabled_under_systemd(service, level="multi-user.target")
7
+ if level.to_s =~ /^\d+$/
8
+ level = "runlevel#{level}.target"
9
+ end
10
+ unless service.match(/\.(service|mount|device|socket)$/)
11
+ service += '.service'
12
+ end
13
+
14
+ "systemctl --plain list-dependencies #{level} | grep '\\(^\\| \\)#{escape(service)}$'"
15
+ end
16
+
17
+ def check_is_running_under_systemd(service)
18
+ "systemctl is-active #{escape(service)}"
19
+ end
20
+
21
+ def enable_under_systemd(service)
22
+ "systemctl enable #{escape(service)}"
23
+ end
24
+
25
+ def disable_under_systemd(service)
26
+ "systemctl disable #{escape(service)}"
27
+ end
28
+
29
+ def start_under_systemd(service)
30
+ "systemctl start #{escape(service)}"
31
+ end
32
+
33
+ def stop_under_systemd(service)
34
+ "systemctl stop #{escape(service)}"
35
+ end
36
+
37
+ def restart_under_systemd(service)
38
+ "systemctl restart #{escape(service)}"
39
+ end
40
+
41
+ def reload_under_systemd(service)
42
+ "systemctl reload #{escape(service)}"
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,13 @@
1
+ module Specinfra
2
+ module Command
3
+ module Module
4
+ module Service
5
+ module Upstart
6
+ def check_is_running_under_upstart(service)
7
+ "initctl status #{escape(service)} | grep running"
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,44 +2,9 @@ module Specinfra
2
2
  module Command
3
3
  module Module
4
4
  module Systemd
5
- def check_is_enabled(service, level="multi-user.target")
6
- if level.to_s =~ /^\d+$/
7
- level = "runlevel#{level}.target"
8
- end
9
- unless service.match(/\.(service|mount|device|socket)$/)
10
- service += '.service'
11
- end
12
-
13
- "systemctl --plain list-dependencies #{level} | grep '\\(^\\| \\)#{escape(service)}$'"
14
- end
15
-
16
- def check_is_running(service)
17
- "systemctl is-active #{escape(service)}"
18
- end
19
-
20
- def enable(service)
21
- "systemctl enable #{escape(service)}"
22
- end
23
-
24
- def disable(service)
25
- "systemctl disable #{escape(service)}"
26
- end
27
-
28
- def start(service)
29
- "systemctl start #{escape(service)}"
30
- end
31
-
32
- def stop(service)
33
- "systemctl stop #{escape(service)}"
34
- end
35
-
36
- def restart(service)
37
- "systemctl restart #{escape(service)}"
38
- end
39
-
40
- def reload(service)
41
- "systemctl reload #{escape(service)}"
42
- end
5
+ include Specinfra::Command::Module::Service::Systemd
6
+ extend Specinfra::Command::Module::Service::Delegator
7
+ def_delegator_service_under :systemd
43
8
  end
44
9
  end
45
10
  end
@@ -1,38 +1,2 @@
1
1
  class Specinfra::Command::Redhat::Base::Service < Specinfra::Command::Linux::Base::Service
2
- class << self
3
- def check_is_enabled(service, level=3)
4
- "chkconfig --list #{escape(service)} | grep #{level}:on"
5
- end
6
-
7
- def enable(service)
8
- "chkconfig #{escape(service)} on"
9
- end
10
-
11
- def disable(service)
12
- "chkconfig #{escape(service)} off"
13
- end
14
-
15
- def start(service)
16
- "service #{escape(service)} start"
17
- end
18
-
19
- def stop(service)
20
- "service #{escape(service)} stop"
21
- end
22
-
23
- def restart(service)
24
- "service #{escape(service)} restart"
25
- end
26
-
27
- def reload(service)
28
- "service #{escape(service)} reload"
29
- end
30
- end
31
2
  end
32
-
33
-
34
-
35
-
36
-
37
-
38
-
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.33.1"
2
+ VERSION = "2.34.0"
3
3
  end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Specinfra::Command::Module::Service::Daemontools do
4
+ class Specinfra::Command::Module::Service::Daemontools::Test < Specinfra::Command::Base
5
+ extend Specinfra::Command::Module::Service::Daemontools
6
+ end
7
+ let(:klass) { Specinfra::Command::Module::Service::Daemontools::Test }
8
+ it { expect(klass.check_is_enabled_under_daemontools('httpd')).to eq "test -L /service/httpd && test -f /service/httpd/run" }
9
+ it { expect(klass.check_is_running_under_daemontools('httpd')).to eq "svstat /service/httpd | grep -E 'up \\(pid [0-9]+\\)'" }
10
+ it { expect(klass.enable_under_daemontools('httpd', '/tmp/service/httpd')).to eq 'ln -snf /tmp/service/httpd /service/httpd' }
11
+ it { expect(klass.disable_under_daemontools('httpd')).to eq '( cd /service/httpd && rm -f /service/httpd && svc -dx . && [ -d log ] && svc -dx log )' }
12
+ it { expect(klass.start_under_daemontools('httpd')).to eq 'svc -u /service/httpd' }
13
+ it { expect(klass.stop_under_daemontools('httpd')).to eq 'svc -d /service/httpd' }
14
+ it { expect(klass.restart_under_daemontools('httpd')).to eq 'svc -t /service/httpd' }
15
+ it { expect(klass.reload_under_daemontools('httpd')).to eq 'svc -h /service/httpd' }
16
+ end
17
+
18
+
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Specinfra::Command::Module::Service::Init do
4
+ class Specinfra::Command::Module::Service::Init::Test < Specinfra::Command::Base
5
+ extend Specinfra::Command::Module::Service::Init
6
+ end
7
+ let(:klass) { Specinfra::Command::Module::Service::Init::Test }
8
+ it { expect(klass.check_is_enabled_under_init('httpd')).to eq "chkconfig --list httpd | grep 3:on" }
9
+ it { expect(klass.check_is_running_under_init('httpd')).to eq 'service httpd status' }
10
+ it { expect(klass.enable_under_init('httpd')).to eq 'chkconfig httpd on' }
11
+ it { expect(klass.disable_under_init('httpd')).to eq 'chkconfig httpd off' }
12
+ it { expect(klass.start_under_init('httpd')).to eq 'service httpd start' }
13
+ it { expect(klass.stop_under_init('httpd')).to eq 'service httpd stop' }
14
+ it { expect(klass.restart_under_init('httpd')).to eq 'service httpd restart' }
15
+ it { expect(klass.reload_under_init('httpd')).to eq 'service httpd reload' }
16
+ end
17
+
18
+
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe Specinfra::Command::Module::Service::Systemd do
4
+ class Specinfra::Command::Module::Service::Systemd::Test < Specinfra::Command::Base
5
+ extend Specinfra::Command::Module::Service::Systemd
6
+ end
7
+ let(:klass) { Specinfra::Command::Module::Service::Systemd::Test }
8
+ it { expect(klass.check_is_enabled_under_systemd('httpd')).to eq "systemctl --plain list-dependencies multi-user.target | grep '\\(^\\| \\)httpd.service$'" }
9
+ it { expect(klass.check_is_running_under_systemd('httpd')).to eq 'systemctl is-active httpd' }
10
+ it { expect(klass.enable_under_systemd('httpd')).to eq 'systemctl enable httpd' }
11
+ it { expect(klass.disable_under_systemd('httpd')).to eq 'systemctl disable httpd' }
12
+ it { expect(klass.start_under_systemd('httpd')).to eq 'systemctl start httpd' }
13
+ it { expect(klass.stop_under_systemd('httpd')).to eq 'systemctl stop httpd' }
14
+ it { expect(klass.restart_under_systemd('httpd')).to eq 'systemctl restart httpd' }
15
+ it { expect(klass.reload_under_systemd('httpd')).to eq 'systemctl reload httpd' }
16
+ 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.33.1
4
+ version: 2.34.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-05-16 00:00:00.000000000 Z
11
+ date: 2015-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -247,6 +247,15 @@ files:
247
247
  - lib/specinfra/command/linux/base/yumrepo.rb
248
248
  - lib/specinfra/command/linux/base/zfs.rb
249
249
  - lib/specinfra/command/module.rb
250
+ - lib/specinfra/command/module/service/daemontools.rb
251
+ - lib/specinfra/command/module/service/delegator.rb
252
+ - lib/specinfra/command/module/service/god.rb
253
+ - lib/specinfra/command/module/service/init.rb
254
+ - lib/specinfra/command/module/service/monit.rb
255
+ - lib/specinfra/command/module/service/runit.rb
256
+ - lib/specinfra/command/module/service/supervisor.rb
257
+ - lib/specinfra/command/module/service/systemd.rb
258
+ - lib/specinfra/command/module/service/upstart.rb
250
259
  - lib/specinfra/command/module/systemd.rb
251
260
  - lib/specinfra/command/module/zfs.rb
252
261
  - lib/specinfra/command/nixos.rb
@@ -403,6 +412,9 @@ files:
403
412
  - spec/command/linux/ip6tables_spec.rb
404
413
  - spec/command/linux/selinux_module_spec.rb
405
414
  - spec/command/linux/selinux_spec.rb
415
+ - spec/command/module/service/daemontools_spec.rb
416
+ - spec/command/module/service/init_spec.rb
417
+ - spec/command/module/service/systemd_spec.rb
406
418
  - spec/command/module/systemd_spec.rb
407
419
  - spec/command/module/zfs_spec.rb
408
420
  - spec/command/redhat/interface_spec.rb
@@ -466,6 +478,9 @@ test_files:
466
478
  - spec/command/linux/ip6tables_spec.rb
467
479
  - spec/command/linux/selinux_module_spec.rb
468
480
  - spec/command/linux/selinux_spec.rb
481
+ - spec/command/module/service/daemontools_spec.rb
482
+ - spec/command/module/service/init_spec.rb
483
+ - spec/command/module/service/systemd_spec.rb
469
484
  - spec/command/module/systemd_spec.rb
470
485
  - spec/command/module/zfs_spec.rb
471
486
  - spec/command/redhat/interface_spec.rb