right_chimp 2.1.28 → 2.2
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/CHANGES +4 -0
- data/Gemfile.lock +16 -11
- data/chimp.gemspec +1 -1
- data/lib/right_chimp/Chimp.rb +5 -5
- data/lib/right_chimp/daemon/{ChimpDaemon.rb → chimp_daemon.rb} +6 -7
- data/lib/right_chimp/daemon/{ChimpDaemonClient.rb → chimp_daemon_client.rb} +0 -0
- data/lib/right_chimp/exec/{ExecArray.rb → exec_array.rb} +5 -7
- data/lib/right_chimp/exec/{ExecCallback.rb → exec_callback.rb} +1 -1
- data/lib/right_chimp/exec/{ExecNoop.rb → exec_noop.rb} +0 -0
- data/lib/right_chimp/exec/{ExecReport.rb → exec_report.rb} +0 -0
- data/lib/right_chimp/exec/{ExecRightScript.rb → exec_rightscript.rb} +2 -3
- data/lib/right_chimp/exec/{ExecSSH.rb → exec_ssh.rb} +0 -0
- data/lib/right_chimp/{IDManager.rb → id_manager.rb} +0 -0
- data/lib/right_chimp/queue/{ChimpQueue.rb → chimp_queue.rb} +0 -0
- data/lib/right_chimp/queue/{ExecutionGroup.rb → execution_group.rb} +0 -0
- data/lib/right_chimp/queue/{QueueWorker.rb → queue_worker.rb} +0 -0
- data/lib/right_chimp/resources/Executable.rb +16 -15
- data/lib/right_chimp/version.rb +1 -1
- data/lib/right_chimp.rb +23 -22
- data/spec/chimp_daemon_client_spec.rb +82 -0
- data/spec/chimp_daemon_spec.rb +55 -0
- data/spec/exec_righscript_spec.rb +41 -0
- data/spec/spec_helper.rb +7 -0
- metadata +26 -34
- data/spec/spec_chimp.rb +0 -20
- data/spec/spec_chimp_commandline.rb +0 -55
- data/spec/spec_chimpd.rb +0 -33
- data/spec/spec_chimpd_client.rb +0 -44
- data/spec/spec_execution_group.rb +0 -135
- data/spec/spec_queue.rb +0 -37
- data/spec/spec_queue_worker.rb +0 -30
- data/spec/spec_selection.rb +0 -33
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: deb10edd310b0e400ce12bafcc0592b52928cdb6
|
|
4
|
+
data.tar.gz: d9a8ede4dfd0778475dbfcc26a38cacf55ada64b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8d74afffc79fc7acc94041edd181e8b8f2f2cc60b7747e00004d6814b0edb556d0acd01c6613457c2efc917eccac03107171b3a0bbb7d721b33d9862784193ff
|
|
7
|
+
data.tar.gz: 1c2d8eeb42cb8e14245d767500cbd4dbff06b88e3a84e798ec84a3861d97639375fa6e08e838ac6086169f1a049601f3d6a1508aad014a9dade01e31be41e829
|
data/CHANGES
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
right_chimp (2.
|
|
4
|
+
right_chimp (2.2)
|
|
5
5
|
highline (~> 1.7.2)
|
|
6
6
|
nokogiri (~> 1.6.7.1)
|
|
7
7
|
progressbar (~> 0.11.0)
|
|
@@ -15,7 +15,7 @@ GEM
|
|
|
15
15
|
debug_inspector (>= 0.0.1)
|
|
16
16
|
coderay (1.1.1)
|
|
17
17
|
debug_inspector (0.0.2)
|
|
18
|
-
diff-lcs (1.
|
|
18
|
+
diff-lcs (1.2.5)
|
|
19
19
|
domain_name (0.5.20160826)
|
|
20
20
|
unf (>= 0.0.5, < 1.0.0)
|
|
21
21
|
highline (1.7.8)
|
|
@@ -45,14 +45,19 @@ GEM
|
|
|
45
45
|
json (~> 1.0)
|
|
46
46
|
mime-types (~> 1.0)
|
|
47
47
|
rest-client (~> 1.6)
|
|
48
|
-
rspec (
|
|
49
|
-
rspec-core (~>
|
|
50
|
-
rspec-expectations (~>
|
|
51
|
-
rspec-mocks (~>
|
|
52
|
-
rspec-core (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
rspec (3.5.0)
|
|
49
|
+
rspec-core (~> 3.5.0)
|
|
50
|
+
rspec-expectations (~> 3.5.0)
|
|
51
|
+
rspec-mocks (~> 3.5.0)
|
|
52
|
+
rspec-core (3.5.4)
|
|
53
|
+
rspec-support (~> 3.5.0)
|
|
54
|
+
rspec-expectations (3.5.0)
|
|
55
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
56
|
+
rspec-support (~> 3.5.0)
|
|
57
|
+
rspec-mocks (3.5.0)
|
|
58
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
59
|
+
rspec-support (~> 3.5.0)
|
|
60
|
+
rspec-support (3.5.0)
|
|
56
61
|
slop (3.6.0)
|
|
57
62
|
unf (0.1.4)
|
|
58
63
|
unf_ext
|
|
@@ -65,7 +70,7 @@ DEPENDENCIES
|
|
|
65
70
|
pry
|
|
66
71
|
pry-stack_explorer
|
|
67
72
|
right_chimp!
|
|
68
|
-
rspec
|
|
73
|
+
rspec
|
|
69
74
|
|
|
70
75
|
BUNDLED WITH
|
|
71
76
|
1.13.2
|
data/chimp.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
s.add_dependency 'right_api_client', '> 1.5'
|
|
25
25
|
s.add_dependency 'highline', '~> 1.7.2'
|
|
26
26
|
|
|
27
|
-
s.add_development_dependency 'rspec'
|
|
27
|
+
s.add_development_dependency 'rspec'
|
|
28
28
|
s.add_development_dependency 'pry'
|
|
29
29
|
s.add_development_dependency 'pry-stack_explorer'
|
|
30
30
|
|
data/lib/right_chimp/Chimp.rb
CHANGED
|
@@ -128,13 +128,13 @@ module Chimp
|
|
|
128
128
|
# Send the command to chimpd for execution
|
|
129
129
|
#
|
|
130
130
|
if @use_chimpd
|
|
131
|
-
timestamp=Time.now.to_i
|
|
132
|
-
length=6
|
|
133
|
-
self.job_uuid = (36**(length-1) + rand(36**length - 36**(length-1))).to_s(36)
|
|
134
|
-
ChimpDaemonClient.submit(@chimpd_host, @chimpd_port, self,
|
|
131
|
+
timestamp = Time.now.to_i
|
|
132
|
+
length = 6
|
|
133
|
+
self.job_uuid = (36**(length - 1) + rand(36**length - 36**(length - 1))).to_s(36)
|
|
134
|
+
ChimpDaemonClient.submit(@chimpd_host, @chimpd_port, self, job_uuid)
|
|
135
135
|
exit
|
|
136
136
|
else
|
|
137
|
-
#Connect to the Api
|
|
137
|
+
# Connect to the Api
|
|
138
138
|
Connection.instance
|
|
139
139
|
if @interactive
|
|
140
140
|
Connection.connect
|
|
@@ -9,7 +9,7 @@ module Chimp
|
|
|
9
9
|
|
|
10
10
|
attr_accessor :verbose, :debug, :port, :concurrency, :delay, :retry_count,
|
|
11
11
|
:dry_run, :logfile, :chimp_queue, :proc_counter, :semaphore,
|
|
12
|
-
:bind_address
|
|
12
|
+
:bind_address, :server
|
|
13
13
|
attr_reader :queue, :running
|
|
14
14
|
|
|
15
15
|
include Singleton
|
|
@@ -18,7 +18,7 @@ module Chimp
|
|
|
18
18
|
@verbose = false
|
|
19
19
|
@debug = false
|
|
20
20
|
@port = 9055
|
|
21
|
-
@bind_address =
|
|
21
|
+
@bind_address = 'localhost'
|
|
22
22
|
@concurrency = 50
|
|
23
23
|
@delay = 0
|
|
24
24
|
@retry_count = 0
|
|
@@ -28,9 +28,9 @@ module Chimp
|
|
|
28
28
|
@chimp_queue = Queue.new
|
|
29
29
|
@semaphore = Mutex.new
|
|
30
30
|
|
|
31
|
-
@proc_counter= 0
|
|
31
|
+
@proc_counter = 0
|
|
32
32
|
|
|
33
|
-
#Connect to the API
|
|
33
|
+
# Connect to the API
|
|
34
34
|
Connection.instance
|
|
35
35
|
end
|
|
36
36
|
|
|
@@ -41,8 +41,8 @@ module Chimp
|
|
|
41
41
|
install_signal_handlers
|
|
42
42
|
parse_command_line
|
|
43
43
|
|
|
44
|
-
#puts "chimpd #{VERSION} launching with #{@concurrency} workers"
|
|
45
|
-
|
|
44
|
+
# puts "chimpd #{VERSION} launching with #{@concurrency} workers"
|
|
45
|
+
Log.info 'Loading... please wait'
|
|
46
46
|
spawn_queue_runner
|
|
47
47
|
spawn_webserver
|
|
48
48
|
spawn_chimpd_submission_processor
|
|
@@ -389,7 +389,6 @@ module Chimp
|
|
|
389
389
|
|
|
390
390
|
if filter == 'create'
|
|
391
391
|
ChimpQueue.instance.create_group(group_name, payload['type'], payload['concurrency'])
|
|
392
|
-
|
|
393
392
|
elsif filter == 'retry'
|
|
394
393
|
group = ChimpQueue[group_name.to_sym]
|
|
395
394
|
raise WEBrick::HTTPStatus::NotFound, "Group not found" unless group
|
|
File without changes
|
|
@@ -5,11 +5,10 @@ module Chimp
|
|
|
5
5
|
class ExecArray < Executor
|
|
6
6
|
def run
|
|
7
7
|
run_with_retry do
|
|
8
|
-
audit_entry = []
|
|
9
8
|
options = @inputs
|
|
10
9
|
|
|
11
10
|
if @timeout < 300
|
|
12
|
-
Log.error
|
|
11
|
+
Log.error 'timeout was less than 5 minutes! resetting to 5 minutes'
|
|
13
12
|
@timeout = 300
|
|
14
13
|
end
|
|
15
14
|
|
|
@@ -17,7 +16,7 @@ module Chimp
|
|
|
17
16
|
|
|
18
17
|
if audit_entry
|
|
19
18
|
audit_entry.each do |a|
|
|
20
|
-
a.wait_for_completed(
|
|
19
|
+
a.wait_for_completed('no audit link available', @timeout)
|
|
21
20
|
end
|
|
22
21
|
else
|
|
23
22
|
Log.warn "No audit entries returned for job_id=#{@job_id}"
|
|
@@ -26,16 +25,15 @@ module Chimp
|
|
|
26
25
|
end
|
|
27
26
|
|
|
28
27
|
def describe_work
|
|
29
|
-
|
|
28
|
+
"ExecArray job_id=#{@job_id} script=\"#{@exec['right_script']['name']}\" server=\"#{@server['nickname']}\""
|
|
30
29
|
end
|
|
31
30
|
|
|
32
31
|
def info
|
|
33
|
-
|
|
32
|
+
@exec['right_script']['name']
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
def target
|
|
37
|
-
|
|
36
|
+
@server['nickname']
|
|
38
37
|
end
|
|
39
|
-
|
|
40
38
|
end
|
|
41
39
|
end
|
|
File without changes
|
|
File without changes
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
# Run a RightScript
|
|
3
3
|
#
|
|
4
4
|
module Chimp
|
|
5
|
+
# Class that describes the execution for a rightscript
|
|
5
6
|
class ExecRightScript < Executor
|
|
6
|
-
|
|
7
7
|
attr_accessor :audit_entry_data, :audit_entry_url
|
|
8
8
|
|
|
9
9
|
def run
|
|
@@ -15,7 +15,7 @@ module Chimp
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
run_with_retry do
|
|
18
|
-
task=Task.new
|
|
18
|
+
task = Task.new
|
|
19
19
|
task.tasker = @server.run_executable(@exec, options)
|
|
20
20
|
@audit_entry_url = task.friendly_url
|
|
21
21
|
task.wait_for_state('completed', @timeout)
|
|
@@ -36,6 +36,5 @@ module Chimp
|
|
|
36
36
|
def target
|
|
37
37
|
@server.nickname
|
|
38
38
|
end
|
|
39
|
-
|
|
40
39
|
end
|
|
41
40
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -10,26 +10,27 @@ module Chimp
|
|
|
10
10
|
|
|
11
11
|
def initialize
|
|
12
12
|
@params = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
13
|
+
'position' => 5,
|
|
14
|
+
'right_script' => {
|
|
15
|
+
'created_at' => '',
|
|
16
|
+
'href' => 'dummy_href',
|
|
17
|
+
'updated_at' => '',
|
|
18
|
+
'version' => 4,
|
|
19
|
+
'is_head_version' => false,
|
|
20
|
+
'script' => '',
|
|
21
|
+
'name' => 'dummy_name',
|
|
22
|
+
'description' => 'dummy_description'
|
|
23
|
+
},
|
|
24
|
+
'recipe' => nil,
|
|
25
|
+
'apply' => 'operational'
|
|
26
|
+
}
|
|
27
|
+
@delay = 0
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def href
|
|
31
31
|
@params['right_script']['href']
|
|
32
32
|
end
|
|
33
|
+
|
|
33
34
|
def name
|
|
34
35
|
@params['right_script']['name']
|
|
35
36
|
end
|
data/lib/right_chimp/version.rb
CHANGED
data/lib/right_chimp.rb
CHANGED
|
@@ -17,28 +17,29 @@ require 'right_api_client'
|
|
|
17
17
|
require 'rest-client'
|
|
18
18
|
require 'logger'
|
|
19
19
|
|
|
20
|
+
# Group all the requires for Chimp
|
|
20
21
|
module Chimp
|
|
21
22
|
require 'right_chimp/version'
|
|
22
|
-
require 'right_chimp/
|
|
23
|
-
require 'right_chimp/
|
|
24
|
-
require 'right_chimp/
|
|
25
|
-
|
|
26
|
-
require 'right_chimp/daemon/
|
|
27
|
-
require 'right_chimp/daemon/
|
|
28
|
-
|
|
29
|
-
require 'right_chimp/queue/
|
|
30
|
-
require 'right_chimp/queue/
|
|
31
|
-
require 'right_chimp/queue/
|
|
32
|
-
|
|
33
|
-
require 'right_chimp/exec/
|
|
34
|
-
require 'right_chimp/exec/
|
|
35
|
-
require 'right_chimp/exec/
|
|
36
|
-
require 'right_chimp/exec/
|
|
37
|
-
require 'right_chimp/exec/
|
|
38
|
-
require 'right_chimp/exec/
|
|
39
|
-
|
|
40
|
-
require 'right_chimp/resources/
|
|
41
|
-
require 'right_chimp/resources/
|
|
42
|
-
require 'right_chimp/resources/
|
|
43
|
-
require 'right_chimp/resources/
|
|
23
|
+
require 'right_chimp/chimp'
|
|
24
|
+
require 'right_chimp/log'
|
|
25
|
+
require 'right_chimp/id_manager'
|
|
26
|
+
|
|
27
|
+
require 'right_chimp/daemon/chimp_daemon'
|
|
28
|
+
require 'right_chimp/daemon/chimp_daemon_client'
|
|
29
|
+
|
|
30
|
+
require 'right_chimp/queue/chimp_queue'
|
|
31
|
+
require 'right_chimp/queue/queue_worker'
|
|
32
|
+
require 'right_chimp/queue/execution_group'
|
|
33
|
+
|
|
34
|
+
require 'right_chimp/exec/executor'
|
|
35
|
+
require 'right_chimp/exec/exec_array'
|
|
36
|
+
require 'right_chimp/exec/exec_rightscript'
|
|
37
|
+
require 'right_chimp/exec/exec_ssh'
|
|
38
|
+
require 'right_chimp/exec/exec_report'
|
|
39
|
+
require 'right_chimp/exec/exec_noop'
|
|
40
|
+
|
|
41
|
+
require 'right_chimp/resources/connection'
|
|
42
|
+
require 'right_chimp/resources/executable'
|
|
43
|
+
require 'right_chimp/resources/server'
|
|
44
|
+
require 'right_chimp/resources/task'
|
|
44
45
|
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Chimp::ChimpDaemonClient do
|
|
4
|
+
before(:all) do
|
|
5
|
+
@daemon = Chimp::ChimpDaemon.instance
|
|
6
|
+
@daemon.verbose = false
|
|
7
|
+
@daemon.concurrency = 3
|
|
8
|
+
@daemon.spawn_queue_runner
|
|
9
|
+
@daemon.spawn_webserver
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
after(:all) do
|
|
13
|
+
@daemon.server.shutdown
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
let(:chimp_object) do
|
|
17
|
+
c = Chimp::Chimp.new
|
|
18
|
+
c.job_uuid = '123456'
|
|
19
|
+
c
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe '#submit' do
|
|
23
|
+
it 'should be able to send a job to the daemon' do
|
|
24
|
+
expect(Chimp::ChimpDaemonClient.submit('localhost', '9055', chimp_object, '123456')).to eq(true)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'should increase the processing counter by 1' do
|
|
28
|
+
start_value = @daemon.proc_counter
|
|
29
|
+
Chimp::ChimpDaemonClient.submit('localhost', '9055', chimp_object, '123456')
|
|
30
|
+
difference = @daemon.proc_counter - start_value
|
|
31
|
+
expect(difference).to eq 1
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# describe '#retrieve_job_info' do
|
|
36
|
+
# it 'should correctly get a job ' do
|
|
37
|
+
# binding.pry
|
|
38
|
+
# Chimp::ChimpDaemonClient.retrieve_job_info('localhost', '9055')
|
|
39
|
+
# end
|
|
40
|
+
# end
|
|
41
|
+
|
|
42
|
+
describe '#retrieve_group_info' do
|
|
43
|
+
it 'should retrieve a full group' do
|
|
44
|
+
r = Chimp::ChimpDaemonClient.retrieve_group_info('localhost', '9055', 'default', :running)
|
|
45
|
+
expect(r).to be_a(Array)
|
|
46
|
+
expect(r[0]).to be_a(Chimp::ExecRightScript)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it 'should fail if the group doesnt exist' do
|
|
50
|
+
expect {
|
|
51
|
+
Chimp::ChimpDaemonClient.retrieve_group_info('localhost', '9055', 'foobar', :running)
|
|
52
|
+
}.to raise_error(RestClient::ResourceNotFound)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# # this basically tests updating the status of a job
|
|
57
|
+
# describe '#set_job_status' do
|
|
58
|
+
# it 'should change the status of a job' do
|
|
59
|
+
# Chimp::ChimpDaemonClient.set_job_status('localhost', '9055', '0', :running)
|
|
60
|
+
# end
|
|
61
|
+
#
|
|
62
|
+
# it 'should be unable to update a job that doesnt exist' do
|
|
63
|
+
#
|
|
64
|
+
# end
|
|
65
|
+
# end
|
|
66
|
+
|
|
67
|
+
describe '#create_group' do
|
|
68
|
+
it 'should create a parallel group' do
|
|
69
|
+
expect(Chimp::ChimpDaemonClient.create_group('localhost', '9055', 'paragroup', :parallel, '3')).to eq(false)
|
|
70
|
+
expect(@daemon.queue.group['paragroup']).to be_a(Chimp::ParallelExecutionGroup)
|
|
71
|
+
expect(@daemon.queue.group['paragroup'].concurrency).to eq('3')
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it 'should create a serial group' do
|
|
75
|
+
expect(Chimp::ChimpDaemonClient.create_group('localhost', '9055', 'serialgroup', :serial, '2')).to eq(false)
|
|
76
|
+
expect(@daemon.queue.group['serialgroup']).to be_a(Chimp::SerialExecutionGroup)
|
|
77
|
+
expect(@daemon.queue.group['serialgroup'].concurrency).to eq('2')
|
|
78
|
+
# FIXME: Concurrency doesnt seem to be applied correctly, serial group should have concurrency of 1
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
# describe '#retry_group'
|
|
82
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Chimp::ChimpDaemon do
|
|
4
|
+
let(:daemon) do
|
|
5
|
+
Chimp::ChimpDaemon.instance
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
describe '#initialize' do
|
|
9
|
+
it 'is a ChimpDaemon object' do
|
|
10
|
+
expect(daemon).to be_a Chimp::ChimpDaemon
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'has a ChimpQueue object inside @queue' do
|
|
14
|
+
expect(daemon.queue).to be_a Chimp::ChimpQueue
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe '#run' do
|
|
19
|
+
# it 'should be able to spawn a webserver'
|
|
20
|
+
# it 'should be able to run forever'
|
|
21
|
+
# it 'should spawn a queue runner'
|
|
22
|
+
# it 'should run_forever'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe '#parse_command_line' do
|
|
26
|
+
it 'should parse all parameters' do
|
|
27
|
+
string = '--logfile=/tmp/test --verbose --concurrency=34 --port=9056'
|
|
28
|
+
ARGV = string.split(' ')
|
|
29
|
+
daemon.parse_command_line
|
|
30
|
+
expect(daemon.concurrency).to eq 34
|
|
31
|
+
expect(daemon.logfile).to eq '/tmp/test'
|
|
32
|
+
expect(daemon.verbose).to eq true
|
|
33
|
+
expect(daemon.port).to eq '9056'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
describe '#spawn_webserver' do
|
|
38
|
+
it 'should spawn a webserver' do
|
|
39
|
+
daemon.spawn_webserver
|
|
40
|
+
expect(daemon.server).to be_a WEBrick::HTTPServer
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
describe '#run_forever' do
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
describe '#install_signal_handlers' do
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe '#quit' do
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
describe '#spawn_chimpd_submission_processor' do
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Chimp::ExecRightScript do
|
|
4
|
+
let(:e) do
|
|
5
|
+
e = Chimp::ExecRightScript.new
|
|
6
|
+
e.job_uuid = '123456'
|
|
7
|
+
e.time_start = Time.now
|
|
8
|
+
e.time_end = e.time_start + 2
|
|
9
|
+
# Need to setup e.exec
|
|
10
|
+
e.exec = Chimp::Executable.new
|
|
11
|
+
e.server = Chimp::Server.new
|
|
12
|
+
e
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
before(:all) do
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe '#run' do
|
|
19
|
+
it 'should pause' do
|
|
20
|
+
# FIXME: probably need to workout some api stub/mocking
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe '#describe_work' do
|
|
25
|
+
it 'should return the formatted output' do
|
|
26
|
+
expect(e.describe_work).to be_a(String)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe '#info' do
|
|
31
|
+
it 'should be able to tell you the name' do
|
|
32
|
+
expect(e.info).to be_a(String)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe '#target' do
|
|
37
|
+
it 'should return the name of the server' do
|
|
38
|
+
expect(e.target).to be_a(String)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: right_chimp
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: '2.2'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- RightScale Operations
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-10-
|
|
11
|
+
date: 2016-10-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -84,16 +84,16 @@ dependencies:
|
|
|
84
84
|
name: rspec
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
|
-
- - "
|
|
87
|
+
- - ">="
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version:
|
|
89
|
+
version: '0'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
|
-
- - "
|
|
94
|
+
- - ">="
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version:
|
|
96
|
+
version: '0'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: pry
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -148,20 +148,20 @@ files:
|
|
|
148
148
|
- docker/right_chimp.sh
|
|
149
149
|
- lib/right_chimp.rb
|
|
150
150
|
- lib/right_chimp/Chimp.rb
|
|
151
|
-
- lib/right_chimp/IDManager.rb
|
|
152
151
|
- lib/right_chimp/Log.rb
|
|
153
|
-
- lib/right_chimp/daemon/
|
|
154
|
-
- lib/right_chimp/daemon/
|
|
155
|
-
- lib/right_chimp/exec/ExecArray.rb
|
|
156
|
-
- lib/right_chimp/exec/ExecCallback.rb
|
|
157
|
-
- lib/right_chimp/exec/ExecNoop.rb
|
|
158
|
-
- lib/right_chimp/exec/ExecReport.rb
|
|
159
|
-
- lib/right_chimp/exec/ExecRightScript.rb
|
|
160
|
-
- lib/right_chimp/exec/ExecSSH.rb
|
|
152
|
+
- lib/right_chimp/daemon/chimp_daemon.rb
|
|
153
|
+
- lib/right_chimp/daemon/chimp_daemon_client.rb
|
|
161
154
|
- lib/right_chimp/exec/Executor.rb
|
|
162
|
-
- lib/right_chimp/
|
|
163
|
-
- lib/right_chimp/
|
|
164
|
-
- lib/right_chimp/
|
|
155
|
+
- lib/right_chimp/exec/exec_array.rb
|
|
156
|
+
- lib/right_chimp/exec/exec_callback.rb
|
|
157
|
+
- lib/right_chimp/exec/exec_noop.rb
|
|
158
|
+
- lib/right_chimp/exec/exec_report.rb
|
|
159
|
+
- lib/right_chimp/exec/exec_rightscript.rb
|
|
160
|
+
- lib/right_chimp/exec/exec_ssh.rb
|
|
161
|
+
- lib/right_chimp/id_manager.rb
|
|
162
|
+
- lib/right_chimp/queue/chimp_queue.rb
|
|
163
|
+
- lib/right_chimp/queue/execution_group.rb
|
|
164
|
+
- lib/right_chimp/queue/queue_worker.rb
|
|
165
165
|
- lib/right_chimp/resources/Connection.rb
|
|
166
166
|
- lib/right_chimp/resources/Executable.rb
|
|
167
167
|
- lib/right_chimp/resources/Server.rb
|
|
@@ -173,14 +173,10 @@ files:
|
|
|
173
173
|
- lib/right_chimp/templates/invertedhotdogstand.css
|
|
174
174
|
- lib/right_chimp/templates/styleswitcher.js
|
|
175
175
|
- lib/right_chimp/version.rb
|
|
176
|
-
- spec/
|
|
177
|
-
- spec/
|
|
178
|
-
- spec/
|
|
179
|
-
- spec/
|
|
180
|
-
- spec/spec_execution_group.rb
|
|
181
|
-
- spec/spec_queue.rb
|
|
182
|
-
- spec/spec_queue_worker.rb
|
|
183
|
-
- spec/spec_selection.rb
|
|
176
|
+
- spec/chimp_daemon_client_spec.rb
|
|
177
|
+
- spec/chimp_daemon_spec.rb
|
|
178
|
+
- spec/exec_righscript_spec.rb
|
|
179
|
+
- spec/spec_helper.rb
|
|
184
180
|
homepage: https://github.com/rightscale/right_chimp
|
|
185
181
|
licenses:
|
|
186
182
|
- MIT
|
|
@@ -206,11 +202,7 @@ signing_key:
|
|
|
206
202
|
specification_version: 4
|
|
207
203
|
summary: RightScale platform command-line tool
|
|
208
204
|
test_files:
|
|
209
|
-
- spec/
|
|
210
|
-
- spec/
|
|
211
|
-
- spec/
|
|
212
|
-
- spec/
|
|
213
|
-
- spec/spec_execution_group.rb
|
|
214
|
-
- spec/spec_queue.rb
|
|
215
|
-
- spec/spec_queue_worker.rb
|
|
216
|
-
- spec/spec_selection.rb
|
|
205
|
+
- spec/chimp_daemon_client_spec.rb
|
|
206
|
+
- spec/chimp_daemon_spec.rb
|
|
207
|
+
- spec/exec_righscript_spec.rb
|
|
208
|
+
- spec/spec_helper.rb
|
data/spec/spec_chimp.rb
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test chimpd client
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
|
|
6
|
-
require 'lib/right_chimp.rb'
|
|
7
|
-
require 'rspec'
|
|
8
|
-
require 'pp'
|
|
9
|
-
|
|
10
|
-
include Chimp
|
|
11
|
-
|
|
12
|
-
describe Chimp::ExecRightScript do
|
|
13
|
-
it "can select servers with a tag query" do
|
|
14
|
-
c = Chimp::Chimp.new
|
|
15
|
-
c.tags = ["info:deployment=moo:localring91"]
|
|
16
|
-
c.script = "SYS DNSMadeEasy Register Addresses"
|
|
17
|
-
c.dry_run = false
|
|
18
|
-
c.run
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test chimpd client
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
require 'pp'
|
|
8
|
-
|
|
9
|
-
include Chimp
|
|
10
|
-
|
|
11
|
-
chimp_command = "CHIMP_TEST=true bundle exec bin/chimp --noprompt"
|
|
12
|
-
test_tag = "--tag='info:deployment=moo:localring91'"
|
|
13
|
-
test_script = "--script='SYS DNSMadeEasy Register Addresses'"
|
|
14
|
-
|
|
15
|
-
describe Chimp::Chimp do
|
|
16
|
-
#
|
|
17
|
-
# Selection options
|
|
18
|
-
#
|
|
19
|
-
#it "should not prompt when there is no action" do
|
|
20
|
-
# data =`CHIMP_TEST=true bundle exec bin/chimp #{test_tag}`
|
|
21
|
-
# $?.should == 0
|
|
22
|
-
# data.match("No actions to perform.").should != nil
|
|
23
|
-
#end
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
# RightScript execution
|
|
27
|
-
#
|
|
28
|
-
it "should run a rightscript with a tag query" do
|
|
29
|
-
system("#{chimp_command} #{test_tag} #{test_script}")
|
|
30
|
-
$?.should == 0
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it "should run scripts on an array with a concurrency of 1 and a delay of 5" do
|
|
34
|
-
system("#{chimp_command} --array='Core91' --concurrency=1 --delay=5 --script='SYS MAIL postfix configuration'")
|
|
35
|
-
$?.should == 0
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "should run scripts on an array with a concurrency of 4 and a delay of 0" do
|
|
39
|
-
system("#{chimp_command} --array='Core94' --array='Core91' --concurrency=4 --delay=0 --script='SYS MAIL postfix configuration'")
|
|
40
|
-
$?.should == 0
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
#
|
|
44
|
-
# chimpd submission
|
|
45
|
-
#
|
|
46
|
-
|
|
47
|
-
#it "should run a rightscript with a tag query via chimpd" do
|
|
48
|
-
# system('CHIMP_TEST=true bundle exec bin/chimpd')
|
|
49
|
-
# system('CHIMP_TEST=true bundle exec bin/chimp --chimpd --dry-run --noprompt --tag="info:deployment=moo:localring91" --script="SYS DNSMadeEasy Register Addresses"')
|
|
50
|
-
# $?.should == 0
|
|
51
|
-
# system('CHIMP_TEST=true bundle exec bin/chimpd --quit')
|
|
52
|
-
#end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
|
data/spec/spec_chimpd.rb
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test chimpd
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
require 'pp'
|
|
8
|
-
|
|
9
|
-
include Chimp
|
|
10
|
-
|
|
11
|
-
uri =
|
|
12
|
-
|
|
13
|
-
describe Chimp::ChimpDaemon do
|
|
14
|
-
before :all do
|
|
15
|
-
@c = ChimpDaemon.instance
|
|
16
|
-
@c.spawn_queue_runner
|
|
17
|
-
@c.spawn_webserver
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
#
|
|
21
|
-
# .spawn_queue_runner
|
|
22
|
-
#
|
|
23
|
-
it "should have 50 threads" do
|
|
24
|
-
ChimpQueue.instance.max_threads.should == 50
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
#
|
|
28
|
-
# .quit
|
|
29
|
-
#
|
|
30
|
-
after :all do
|
|
31
|
-
@c.quit
|
|
32
|
-
end
|
|
33
|
-
end
|
data/spec/spec_chimpd_client.rb
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test chimpd client
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
require 'pp'
|
|
8
|
-
|
|
9
|
-
include Chimp
|
|
10
|
-
|
|
11
|
-
host = "localhost"
|
|
12
|
-
port = "9055"
|
|
13
|
-
|
|
14
|
-
describe Chimp::ChimpDaemonClient do
|
|
15
|
-
before :all do
|
|
16
|
-
@c = ChimpDaemon.new
|
|
17
|
-
@c.verbose = false
|
|
18
|
-
@c.concurrency = 3
|
|
19
|
-
@c.spawn_queue_runner
|
|
20
|
-
@c.spawn_webserver
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
after :all do
|
|
24
|
-
@c.quit if @c
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
#it "can quit a chimpd" do
|
|
28
|
-
# response_code = ChimpDaemonClient.quit(host, port)
|
|
29
|
-
# response_code.should == 200
|
|
30
|
-
#end
|
|
31
|
-
|
|
32
|
-
#
|
|
33
|
-
# .submit
|
|
34
|
-
#
|
|
35
|
-
it "can submit work to chimpd" do
|
|
36
|
-
c = Chimp::Chimp.new
|
|
37
|
-
c.tags = ["service:auditor=true"]
|
|
38
|
-
c.script = "SYS DNSMadeEasy Register Addresses"
|
|
39
|
-
c.dry_run = false
|
|
40
|
-
ChimpDaemonClient.submit(host, port, c)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
44
|
-
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test QueueWorker
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
|
|
8
|
-
include Chimp
|
|
9
|
-
|
|
10
|
-
describe SerialExecutionGroup do
|
|
11
|
-
before :each do
|
|
12
|
-
@eg = SerialExecutionGroup.new(:test)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
#
|
|
16
|
-
# .ready?
|
|
17
|
-
#
|
|
18
|
-
it "should be ready when it has work in its queue" do
|
|
19
|
-
@eg.ready?.should == false
|
|
20
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
21
|
-
@eg.ready?.should == true
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it "should not be ready while a job is executing" do
|
|
25
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
26
|
-
@eg.push(ExecNoop.new(:job_id => 1))
|
|
27
|
-
@eg.get_job(0).status = Executor::STATUS_RUNNING
|
|
28
|
-
@eg.ready?.should == false
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
#
|
|
32
|
-
# .done?
|
|
33
|
-
#
|
|
34
|
-
it "should not be done when it has work in its queue" do
|
|
35
|
-
@eg.done?.should == true
|
|
36
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
37
|
-
@eg.done?.should == false
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
#
|
|
41
|
-
# .size
|
|
42
|
-
#
|
|
43
|
-
it "should be able to report the correct number of items in its queue" do
|
|
44
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
45
|
-
@eg.push(ExecNoop.new(:job_id => 1))
|
|
46
|
-
@eg.push(ExecNoop.new(:job_id => 2))
|
|
47
|
-
@eg.push(ExecNoop.new(:job_id => 3))
|
|
48
|
-
@eg.push(ExecNoop.new(:job_id => 4))
|
|
49
|
-
|
|
50
|
-
@eg.size.should == 5
|
|
51
|
-
|
|
52
|
-
@eg.shift
|
|
53
|
-
@eg.size.should == 4
|
|
54
|
-
|
|
55
|
-
@eg.shift
|
|
56
|
-
@eg.size.should == 3
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
#
|
|
60
|
-
# .sort!
|
|
61
|
-
#
|
|
62
|
-
it "should be able to sort its queue by server name" do
|
|
63
|
-
@eg.push(ExecNoop.new(:job_id => 1, :server => { "nickname" => "BBB", "name" => "BBB"}))
|
|
64
|
-
@eg.push(ExecNoop.new(:job_id => 1, :server => { "nickname" => "CCC", "name" => "CCC"}))
|
|
65
|
-
@eg.push(ExecNoop.new(:job_id => 0, :server => { "nickname" => "AAA", "name" => "AAA"}))
|
|
66
|
-
@eg.sort!
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
#
|
|
70
|
-
# .running?
|
|
71
|
-
#
|
|
72
|
-
it "should tell us whether it is running" do
|
|
73
|
-
@eg.running?.should == false
|
|
74
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
75
|
-
@eg.running?.should == true
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
# .requeue(id)
|
|
80
|
-
#
|
|
81
|
-
it "should requeue jobs correctly" do
|
|
82
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
83
|
-
@eg.reset!
|
|
84
|
-
@eg.size.should == 0
|
|
85
|
-
@eg.requeue(0)
|
|
86
|
-
@eg.size.should == 1
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
#
|
|
90
|
-
# .requeue_failed_jobs
|
|
91
|
-
#
|
|
92
|
-
it "should requeue all failed jobs" do
|
|
93
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
94
|
-
@eg.reset!
|
|
95
|
-
@eg.size.should == 0
|
|
96
|
-
|
|
97
|
-
@eg.get_job(0).status = Executor::STATUS_ERROR
|
|
98
|
-
@eg.requeue_failed_jobs!
|
|
99
|
-
@eg.size.should == 1
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
#
|
|
103
|
-
# .cancel(id)
|
|
104
|
-
#
|
|
105
|
-
it "should cancel a job" do
|
|
106
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
107
|
-
@eg.size.should == 1
|
|
108
|
-
@eg.cancel(0)
|
|
109
|
-
@eg.size.should == 0
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
describe ParallelExecutionGroup do
|
|
115
|
-
before :each do
|
|
116
|
-
@eg = ParallelExecutionGroup.new(:test)
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
#
|
|
120
|
-
# .ready?
|
|
121
|
-
#
|
|
122
|
-
it "should be ready when it has work in its queue" do
|
|
123
|
-
@eg.ready?.should == false
|
|
124
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
125
|
-
@eg.push(ExecNoop.new(:job_id => 1))
|
|
126
|
-
@eg.ready?.should == true
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
it "should be ready while a job is executing" do
|
|
130
|
-
@eg.push(ExecNoop.new(:job_id => 0))
|
|
131
|
-
@eg.push(ExecNoop.new(:job_id => 1))
|
|
132
|
-
@eg.get_job(0).status = Executor::STATUS_RUNNING
|
|
133
|
-
@eg.ready?.should == true
|
|
134
|
-
end
|
|
135
|
-
end
|
data/spec/spec_queue.rb
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test ChimpQueue
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
|
|
8
|
-
include Chimp
|
|
9
|
-
|
|
10
|
-
describe ChimpQueue do
|
|
11
|
-
before :all do
|
|
12
|
-
@queue = ChimpQueue.instance
|
|
13
|
-
@queue.max_threads = 3
|
|
14
|
-
@queue.start
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
before :each do
|
|
18
|
-
@queue.reset!
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it "should accept work" do
|
|
22
|
-
@queue.push(:default, ExecNoop.new(:job_id => 0))
|
|
23
|
-
@queue.group[:default].get_job(0).status.should == Executor::STATUS_NONE
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it "should distribute work" do
|
|
27
|
-
@queue.push(:default, ExecNoop.new(:job_id => 0))
|
|
28
|
-
@queue.shift.status.should == Executor::STATUS_NONE
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it "should process the queue" do
|
|
32
|
-
@queue.push(:default, ExecNoop.new(:job_id => 0))
|
|
33
|
-
@queue.wait_until_done(:default) { }
|
|
34
|
-
@queue.group[:default].get_job(0).status.should == Executor::STATUS_DONE
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
data/spec/spec_queue_worker.rb
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test QueueWorker
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
|
|
8
|
-
include Chimp
|
|
9
|
-
|
|
10
|
-
describe QueueWorker do
|
|
11
|
-
it "should instantiate" do
|
|
12
|
-
q = QueueWorker.new
|
|
13
|
-
q.delay = 10
|
|
14
|
-
q.retry_count = 10
|
|
15
|
-
q.never_exit = false
|
|
16
|
-
|
|
17
|
-
ChimpQueue.instance.group = {}
|
|
18
|
-
|
|
19
|
-
q.delay.should == 10
|
|
20
|
-
q.retry_count.should == 10
|
|
21
|
-
q.never_exit.should == false
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
#it "should run" do
|
|
25
|
-
# q = QueueWorker.new
|
|
26
|
-
# q.run
|
|
27
|
-
#end
|
|
28
|
-
|
|
29
|
-
end
|
|
30
|
-
|
data/spec/spec_selection.rb
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Test Chimp
|
|
3
|
-
#
|
|
4
|
-
$LOAD_PATH << File.dirname(__FILE__) + "/.."
|
|
5
|
-
require 'lib/right_chimp.rb'
|
|
6
|
-
require 'rspec'
|
|
7
|
-
|
|
8
|
-
describe Chimp::Chimp do
|
|
9
|
-
before :each do
|
|
10
|
-
@c = Chimp::Chimp.new
|
|
11
|
-
@c.quiet = true
|
|
12
|
-
@c.prompt = false
|
|
13
|
-
@c.progress = false
|
|
14
|
-
@c.interactive = false
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
it "performs a tag query" do
|
|
18
|
-
@c.tags = ['service:dataservice=true']
|
|
19
|
-
@c.run
|
|
20
|
-
@c.servers.size.should > 0
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it "performs a deployment query" do
|
|
24
|
-
@c.deployment_names = ['moo:globalring']
|
|
25
|
-
@c.run
|
|
26
|
-
@c.servers.size.should > 0
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "performs an array query" do
|
|
30
|
-
@c.array_names = ['Chimp Test Array']
|
|
31
|
-
@c.run
|
|
32
|
-
end
|
|
33
|
-
end
|