specinfra 2.0.0.beta43 → 2.0.0.beta44

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: a06b77b911ce755c1986e00e888fe05daba5f26a
4
- data.tar.gz: 254bfa7133035990605a1de17e1fa50875903bc7
3
+ metadata.gz: 7e06e2085c8a22f674bc94c57c8915bb79029774
4
+ data.tar.gz: 07b5050a0cd064f0aa9a4a56a1258b2aae747bbb
5
5
  SHA512:
6
- metadata.gz: 207c342c8bed16c798138c5123084bbf188de49372dc2ff6247798daa954da5ac152514c0ae68b1337e20801ef07110a9a06b8d3da213afa54c5b93e0da9d7ea
7
- data.tar.gz: f43b065d0ec5f6126e04e50089dcdd19b74c3ea343acf325c19fde9976878b8f4ac2ba5b26f27282ff9abed8c07d00c5ee6b10bd633f9d9aa0fa001e30ec8d51
6
+ metadata.gz: 2d15fb703b1b5894fcbc5ab87ca8571482a0b06abd704d0a15a727e3d19c18c14976bf51017e558298a71d103dd1d20c2c83595ad25c8ac51d3ecdbf93313fc5
7
+ data.tar.gz: ac34fb786f096fd8024665dc8ee07b47e21ff591ada409d0a3a61a4a444c9d13a53a7a960cd098bc145bc9df9ab7e77458efb298d136ccaea1f24848897444a0
@@ -91,6 +91,7 @@ module Specinfra::Backend
91
91
  stderr_data = ''
92
92
  exit_status = nil
93
93
  exit_signal = nil
94
+ retry_prompt = /^Sorry, try again/
94
95
 
95
96
  if Specinfra.configuration.ssh.nil?
96
97
  Specinfra.configuration.ssh = create_ssh
@@ -106,7 +107,9 @@ module Specinfra::Backend
106
107
  channel.exec("#{command}") do |ch, success|
107
108
  abort "FAILED: couldn't execute command (ssh.channel.exec)" if !success
108
109
  channel.on_data do |ch, data|
109
- if data.match /^#{prompt}/
110
+ if data.match retry_prompt
111
+ abort 'Wrong sudo password! Please confirm your password.'
112
+ elsif data.match /^#{prompt}/
110
113
  channel.send_data "#{Specinfra.configuration.sudo_password}\n"
111
114
  else
112
115
  stdout_data += data
@@ -3,35 +3,38 @@ module Specinfra::Command::Module::Systemd
3
3
  if level.to_s =~ /^\d+$/
4
4
  level = "runlevel#{level}.target"
5
5
  end
6
+ unless service.include?('.')
7
+ service += '.service'
8
+ end
6
9
 
7
- "systemctl --plain list-dependencies #{level} | grep '^#{escape(service)}.service$'"
10
+ "systemctl --plain list-dependencies #{level} | grep '\\(^\\| \\)#{escape(service)}$'"
8
11
  end
9
12
 
10
13
  def check_is_running(service)
11
- "systemctl is-active #{escape(service)}.service"
14
+ "systemctl is-active #{escape(service)}"
12
15
  end
13
16
 
14
17
  def enable(service)
15
- "systemctl enable #{escape(service)}.service"
18
+ "systemctl enable #{escape(service)}"
16
19
  end
17
20
 
18
21
  def disable(service)
19
- "systemctl disable #{escape(service)}.service"
22
+ "systemctl disable #{escape(service)}"
20
23
  end
21
24
 
22
25
  def start(service)
23
- "systemctl start #{escape(service)}.service"
26
+ "systemctl start #{escape(service)}"
24
27
  end
25
28
 
26
29
  def stop(service)
27
- "systemctl stop #{escape(service)}.service"
30
+ "systemctl stop #{escape(service)}"
28
31
  end
29
32
 
30
33
  def restart(service)
31
- "systemctl restart #{escape(service)}.service"
34
+ "systemctl restart #{escape(service)}"
32
35
  end
33
36
 
34
37
  def reload(service)
35
- "systemctl reload #{escape(service)}.service"
38
+ "systemctl reload #{escape(service)}"
36
39
  end
37
40
  end
@@ -4,16 +4,16 @@ module Specinfra
4
4
  backend = Specinfra.backend
5
5
  processor = Specinfra::Processor
6
6
 
7
- if os.include?(:family) && os[:family] == 'windows'
8
- if backend.respond_to?(meth)
7
+ if ! os.include?(:family) || os[:family] != 'windows'
8
+ if processor.respond_to?(meth)
9
+ processor.send(meth, *args)
10
+ elsif backend.respond_to?(meth)
9
11
  backend.send(meth, *args)
10
12
  else
11
13
  run(meth, *args)
12
14
  end
13
15
  else
14
- if processor.respond_to?(meth)
15
- processor.send(meth, *args)
16
- elsif backend.respond_to?(meth)
16
+ if backend.respond_to?(meth)
17
17
  backend.send(meth, *args)
18
18
  else
19
19
  run(meth, *args)
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.0.0.beta43"
2
+ VERSION = "2.0.0.beta44"
3
3
  end
@@ -2,10 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe Specinfra::Command::Redhat::V7::Service do
4
4
  let(:klass) { Specinfra::Command::Redhat::V7::Service }
5
- it { expect(klass.check_is_enabled('httpd')).to eq "systemctl --plain list-dependencies multi-user.target | grep '^httpd.service$'" }
6
- it { expect(klass.check_is_enabled('httpd', 'multi-user.target')).to eq "systemctl --plain list-dependencies multi-user.target | grep '^httpd.service$'" }
7
- it { expect(klass.check_is_enabled('httpd', 3)).to eq "systemctl --plain list-dependencies runlevel3.target | grep '^httpd.service$'" }
8
- it { expect(klass.check_is_enabled('httpd', '3')).to eq "systemctl --plain list-dependencies runlevel3.target | grep '^httpd.service$'" }
5
+ it { expect(klass.check_is_enabled('httpd')).to eq "systemctl --plain list-dependencies multi-user.target | grep '\\(^\\| \\)httpd.service$'" }
6
+ it { expect(klass.check_is_enabled('httpd', 'multi-user.target')).to eq "systemctl --plain list-dependencies multi-user.target | grep '\\(^\\| \\)httpd.service$'" }
7
+ it { expect(klass.check_is_enabled('httpd', 3)).to eq "systemctl --plain list-dependencies runlevel3.target | grep '\\(^\\| \\)httpd.service$'" }
8
+ it { expect(klass.check_is_enabled('httpd', '3')).to eq "systemctl --plain list-dependencies runlevel3.target | grep '\\(^\\| \\)httpd.service$'" }
9
+ it { expect(klass.check_is_enabled('sshd.socket')).to eq "systemctl --plain list-dependencies multi-user.target | grep '\\(^\\| \\)sshd.socket$'" }
9
10
  end
10
11
 
11
12
 
@@ -4,25 +4,29 @@ property[:os] = nil
4
4
  set :os, :family => 'redhat', :release => '7'
5
5
 
6
6
  describe get_command(:enable_service, 'httpd') do
7
- it { should eq 'systemctl enable httpd.service' }
7
+ it { should eq 'systemctl enable httpd' }
8
8
  end
9
9
 
10
10
  describe get_command(:disable_service, 'httpd') do
11
- it { should eq 'systemctl disable httpd.service' }
11
+ it { should eq 'systemctl disable httpd' }
12
12
  end
13
13
 
14
14
  describe get_command(:start_service, 'httpd') do
15
- it { should eq 'systemctl start httpd.service' }
15
+ it { should eq 'systemctl start httpd' }
16
16
  end
17
17
 
18
18
  describe get_command(:stop_service, 'httpd') do
19
- it { should eq 'systemctl stop httpd.service' }
19
+ it { should eq 'systemctl stop httpd' }
20
20
  end
21
21
 
22
22
  describe get_command(:restart_service, 'httpd') do
23
- it { should eq 'systemctl restart httpd.service' }
23
+ it { should eq 'systemctl restart httpd' }
24
24
  end
25
25
 
26
26
  describe get_command(:reload_service, 'httpd') do
27
- it { should eq 'systemctl reload httpd.service' }
27
+ it { should eq 'systemctl reload httpd' }
28
+ end
29
+
30
+ describe get_command(:enable_service, 'sshd.socket') do
31
+ it { should eq 'systemctl enable sshd.socket' }
28
32
  end
data/wercker.yml CHANGED
@@ -28,7 +28,7 @@ build:
28
28
  cwd: $WORKING_DIR
29
29
  - script:
30
30
  name: Run itamae
31
- code: bundle exec ./itamae.rb centos65
31
+ code: bundle exec itamae ssh --host centos65 --vagrant recipe.rb
32
32
  cwd: $WORKING_DIR
33
33
  - script:
34
34
  name: Run vagrant reload centos65
@@ -44,7 +44,7 @@ build:
44
44
  cwd: $WORKING_DIR
45
45
  - script:
46
46
  name: Run itamae
47
- code: bundle exec ./itamae.rb centos70
47
+ code: bundle exec itamae ssh --host centos70 --vagrant recipe.rb
48
48
  cwd: $WORKING_DIR
49
49
  - script:
50
50
  name: Run vagrant reload centos70
@@ -60,7 +60,7 @@ build:
60
60
  cwd: $WORKING_DIR
61
61
  - script:
62
62
  name: Run itamae
63
- code: bundle exec ./itamae.rb ubuntu1404
63
+ code: bundle exec itamae ssh --host ubuntu1404 --vagrant recipe.rb
64
64
  cwd: $WORKING_DIR
65
65
  - script:
66
66
  name: Run vagrant reload ubuntu1404
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.0.0.beta43
4
+ version: 2.0.0.beta44
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-27 00:00:00.000000000 Z
11
+ date: 2014-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh