ood_core 0.11.2 → 0.11.3
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/CHANGELOG.md +8 -1
- data/lib/ood_core/job/adapters/linux_host/launcher.rb +12 -8
- data/lib/ood_core/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a23c90c01adf4d666e030c9279aad4dd234d36974b6b8a2d3395973d02f952e4
|
4
|
+
data.tar.gz: 628f309e893510774e19a73c04aa142ee0c7df5559e61c1dd17b00627d4b7c52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64b840badad164595ff00bcecf12ac0da049787036f12c6fae3c3d52aa959d06e4e980ac93b638072aee8b0defee1b076fb2548399bbef31d4aff5e011a6df20
|
7
|
+
data.tar.gz: 7d0f69f0fd651a523dba71e26bae6d5846be01018cb9bc36aeae7dd01cc496b4e1319c2f8c6e15ccda7dbbb52f58941377292b176301197304cfa8dfd9472070
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
|
+
## [0.11.3] - 2020-05-11
|
10
|
+
### Fixed
|
11
|
+
- LinuxhHost Adapter to work with any login shell ([#188](https://github.com/OSC/ood_core/pull/188))
|
12
|
+
- LinuxhHost Adapter needs to display long lines in pstree to successfully parse
|
13
|
+
output ([#188](https://github.com/OSC/ood_core/pull/188))
|
14
|
+
|
9
15
|
## [0.11.2] - 2020-04-23
|
10
16
|
### Fixed
|
11
17
|
- fix signature of `LinuxHost#info_where_owner`
|
@@ -222,7 +228,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
222
228
|
### Added
|
223
229
|
- Initial release!
|
224
230
|
|
225
|
-
[Unreleased]: https://github.com/OSC/ood_core/compare/v0.11.
|
231
|
+
[Unreleased]: https://github.com/OSC/ood_core/compare/v0.11.3...HEAD
|
232
|
+
[0.11.3]: https://github.com/OSC/ood_core/compare/v0.11.2...v0.11.3
|
226
233
|
[0.11.2]: https://github.com/OSC/ood_core/compare/v0.11.1...v0.11.2
|
227
234
|
[0.11.1]: https://github.com/OSC/ood_core/compare/v0.11.0...v0.11.1
|
228
235
|
[0.11.0]: https://github.com/OSC/ood_core/compare/v0.10.0...v0.11.0
|
@@ -57,7 +57,7 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
57
57
|
# @param hostname [#to_s] The hostname to submit the work to
|
58
58
|
# @param script [OodCore::Job::Script] The script object defining the work
|
59
59
|
def start_remote_session(script)
|
60
|
-
cmd = ssh_cmd(submit_host(script))
|
60
|
+
cmd = ssh_cmd(submit_host(script), ['/usr/bin/env', 'bash'])
|
61
61
|
|
62
62
|
session_name = unique_session_name
|
63
63
|
output = call(*cmd, stdin: wrapped_script(script, session_name))
|
@@ -67,13 +67,13 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def stop_remote_session(session_name, hostname)
|
70
|
-
cmd = ssh_cmd(hostname)
|
70
|
+
cmd = ssh_cmd(hostname, ['/usr/bin/env', 'bash'])
|
71
71
|
|
72
72
|
kill_cmd = <<~SCRIPT
|
73
73
|
# Get the tmux pane PID for the target session
|
74
74
|
pane_pid=$(tmux list-panes -aF '\#{session_name} \#{pane_pid}' | grep '#{session_name}' | cut -f 2 -d ' ')
|
75
75
|
# Find the Singularity sinit PID child of the pane process
|
76
|
-
pane_sinit_pid=$(pstree -p "$pane_pid" | grep -o 'sinit([[:digit:]]*' | grep -o '[[:digit:]]*')
|
76
|
+
pane_sinit_pid=$(pstree -p -l "$pane_pid" | grep -o 'sinit([[:digit:]]*' | grep -o '[[:digit:]]*')
|
77
77
|
# Kill sinit which stops both Singularity-based processes and the tmux session
|
78
78
|
kill "$pane_sinit_pid"
|
79
79
|
SCRIPT
|
@@ -116,19 +116,23 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
116
116
|
s.success? ? o : raise(Error, e)
|
117
117
|
end
|
118
118
|
|
119
|
-
# The
|
119
|
+
# The full command to ssh into the destination host and execute the command.
|
120
|
+
# SSH options include:
|
120
121
|
# -t Force pseudo-terminal allocation (required to allow tmux to run)
|
121
122
|
# -o BatchMode=yes (set mode to be non-interactive)
|
122
123
|
# if ! strict_host_checking
|
123
124
|
# -o UserKnownHostsFile=/dev/null (do not update the user's known hosts file)
|
124
125
|
# -o StrictHostKeyChecking=no (do no check the user's known hosts file)
|
125
|
-
|
126
|
+
#
|
127
|
+
# @param destination_host [#to_s] the destination host you wish to ssh into
|
128
|
+
# @param cmd [Array<#to_s>] the command to be executed on the destination host
|
129
|
+
def ssh_cmd(destination_host, cmd)
|
126
130
|
if strict_host_checking
|
127
131
|
[
|
128
132
|
'ssh', '-t',
|
129
133
|
'-o', 'BatchMode=yes',
|
130
134
|
"#{username}@#{destination_host}"
|
131
|
-
]
|
135
|
+
].concat(cmd)
|
132
136
|
else
|
133
137
|
[
|
134
138
|
'ssh', '-t',
|
@@ -136,7 +140,7 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
136
140
|
'-o', 'UserKnownHostsFile=/dev/null',
|
137
141
|
'-o', 'StrictHostKeyChecking=no',
|
138
142
|
"#{username}@#{destination_host}"
|
139
|
-
]
|
143
|
+
].concat(cmd)
|
140
144
|
end
|
141
145
|
end
|
142
146
|
|
@@ -245,7 +249,7 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
245
249
|
['#{session_name}', '#{session_created}', '#{pane_pid}'].join(UNIT_SEPARATOR)
|
246
250
|
)
|
247
251
|
keys = [:session_name, :session_created, :session_pid]
|
248
|
-
cmd = ssh_cmd(destination_host
|
252
|
+
cmd = ssh_cmd(destination_host, ['tmux', 'list-panes', '-aF', format_str])
|
249
253
|
|
250
254
|
call(*cmd).split(
|
251
255
|
"\n"
|
data/lib/ood_core/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ood_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Franz
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-05-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ood_support
|
@@ -215,7 +215,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
215
|
- !ruby/object:Gem::Version
|
216
216
|
version: '0'
|
217
217
|
requirements: []
|
218
|
-
|
218
|
+
rubyforge_project:
|
219
|
+
rubygems_version: 2.7.6.2
|
219
220
|
signing_key:
|
220
221
|
specification_version: 4
|
221
222
|
summary: Open OnDemand core library
|