specinfra 2.33.1 → 2.34.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: 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