mobilize-ssh 1.0.25 → 1.0.55
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +5 -3
- data/lib/mobilize-ssh/handlers/ssh.rb +7 -5
- data/lib/mobilize-ssh/version.rb +1 -1
- data/mobilize-ssh.gemspec +1 -1
- data/test/ssh_job_rows.yml +2 -2
- metadata +6 -6
data/README.md
CHANGED
@@ -81,7 +81,7 @@ The Ssh configuration consists of:
|
|
81
81
|
over to the nodes. They will be deleted afterwards, unless the job
|
82
82
|
fails in mid-copy. By default this is tmp/file/.
|
83
83
|
* nodes, identified by aliases, such as `test_node`. This alias is what you should
|
84
|
-
pass into the "
|
84
|
+
pass into the "node" param over in the ssh.run task.
|
85
85
|
|
86
86
|
Each node has a host, and optionally has a gateway. If you don't need a
|
87
87
|
gateway, remove that row from the configuration file.
|
@@ -125,10 +125,12 @@ Start
|
|
125
125
|
### Create Job
|
126
126
|
|
127
127
|
* For mobilize-ssh, the following task is available:
|
128
|
-
* ssh.run
|
128
|
+
* ssh.run `node: <node_alias>, cmd: <command>, su_user: su_user, sources:[*<gsheet_full_paths>]`, which reads
|
129
129
|
all gsheets, copies them to a temporary folder on the selected node, and
|
130
130
|
runs the command inside that folder.
|
131
|
-
*
|
131
|
+
* su_user and sources are optional; node and cmd are required. su_user
|
132
|
+
will cause the command to be prefixed with sudo su <su_user> -c.
|
133
|
+
* The test uses `ssh.run node:"test_node", cmd:"ruby code.rb", su_user: "root", sources:["Runner_mobilize(test)/code.rb","Runner_mobilize(test)/code.sh"]`
|
132
134
|
|
133
135
|
<a name='section_Start_Run_Test'></a>
|
134
136
|
### Run Test
|
@@ -141,13 +141,15 @@ module Mobilize
|
|
141
141
|
def Ssh.run_by_task_path(task_path)
|
142
142
|
t = Task.where(:path=>task_path).first
|
143
143
|
params = t.params
|
144
|
-
node, command = [params[
|
145
|
-
file_hash = if params[
|
146
|
-
gsheet_paths = params[2..-1] if params[2]
|
144
|
+
node, command = [params['node'],params['cmd']]
|
145
|
+
file_hash = if params['sources']
|
147
146
|
gdrive_slot = Gdrive.slot_worker_by_path(task_path)
|
148
|
-
Ssh.get_file_hash(
|
147
|
+
result = Ssh.get_file_hash(params['sources'],gdrive_slot)
|
148
|
+
Gdrive.unslot_worker_by_path(task_path)
|
149
|
+
result
|
149
150
|
end
|
150
|
-
|
151
|
+
su_user = t.params['su_user']
|
152
|
+
Ssh.run(node,command,file_hash,su_user)
|
151
153
|
end
|
152
154
|
end
|
153
155
|
end
|
data/lib/mobilize-ssh/version.rb
CHANGED
data/mobilize-ssh.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
|
-
gem.add_runtime_dependency "mobilize-base","
|
19
|
+
gem.add_runtime_dependency "mobilize-base","1.0.75"
|
20
20
|
gem.add_runtime_dependency "net-ssh"
|
21
21
|
gem.add_runtime_dependency "net-scp"
|
22
22
|
gem.add_runtime_dependency "net-ssh-gateway"
|
data/test/ssh_job_rows.yml
CHANGED
@@ -2,5 +2,5 @@
|
|
2
2
|
active: true
|
3
3
|
trigger: once
|
4
4
|
status: ""
|
5
|
-
task1: 'ssh.run "test_node", "ruby code.rb", "Runner_mobilize(test)/code.rb", "Runner_mobilize(test)/code.sh"'
|
6
|
-
task2: 'gsheet.write "task1", "Runner_mobilize(test)/test_ssh.out"'
|
5
|
+
task1: 'ssh.run node:"test_node", cmd:"ruby code.rb", su_user:"root", sources:["Runner_mobilize(test)/code.rb", "Runner_mobilize(test)/code.sh"]'
|
6
|
+
task2: 'gsheet.write source:"task1", target:"Runner_mobilize(test)/test_ssh.out"'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mobilize-ssh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.55
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,24 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mobilize-base
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.0.
|
21
|
+
version: 1.0.75
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.0.
|
29
|
+
version: 1.0.75
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: net-ssh
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|