ood_core 0.23.1 → 0.23.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -2
- data/lib/ood_core/acl/adapters/group.rb +6 -5
- data/lib/ood_core/clusters.rb +1 -1
- data/lib/ood_core/job/adapters/helper.rb +10 -1
- data/lib/ood_core/job/adapters/linux_host/launcher.rb +5 -2
- data/lib/ood_core/job/adapters/systemd/launcher.rb +2 -0
- data/lib/ood_core/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5eeeaa19f116b7edd7e4169b49e0ca74f0e43355d756ef3b3eb14edaf1f9de00
|
4
|
+
data.tar.gz: aaa6d9a8ef9a2e1a2e1f7396c27eb101faba8c639cf8b088f5a1e62adbe6e97b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f36e3835a742b19e04c699e2913ec09c601c2dd912300615cad119c2ccc71482552690a0050b626f8cf024c13f40510430fb8747942c2bf37e3fa9a5040123d4
|
7
|
+
data.tar.gz: 29dfedd6a597f8b794fc5105e74bd0f4a2933ec423a7ad026a5c3ee6f3f531a9cb2b24956140c4afd0606897df22fd34771fbeb6d10fae63e8ba3b778317c6a0
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.23.2] - 02-02-2023
|
11
|
+
|
12
|
+
### Fixed
|
13
|
+
|
14
|
+
- The linux host adapter should correctly extract the full apptainer pid in [794](https://github.com/OSC/ood_core/pull/794).
|
15
|
+
|
16
|
+
|
10
17
|
## [0.23.1] - 02-01-2023
|
11
18
|
|
12
19
|
### Fixed
|
@@ -479,8 +486,9 @@ Functionally the same as [0.17.3] but with some CI updates.
|
|
479
486
|
### Added
|
480
487
|
- Initial release!
|
481
488
|
|
482
|
-
[Unreleased]: https://github.com/OSC/ood_core/compare/v0.23.
|
483
|
-
[0.23.
|
489
|
+
[Unreleased]: https://github.com/OSC/ood_core/compare/v0.23.2...HEAD
|
490
|
+
[0.23.2]: https://github.com/OSC/ood_core/compare/v0.23.1...v0.23.2
|
491
|
+
[0.23.1]: https://github.com/OSC/ood_core/compare/v0.23.0...v0.23.1
|
484
492
|
[0.23.0]: https://github.com/OSC/ood_core/compare/v0.22.0...v0.23.0
|
485
493
|
[0.22.0]: https://github.com/OSC/ood_core/compare/v0.21.0...v0.22.0
|
486
494
|
[0.21.0]: https://github.com/OSC/ood_core/compare/v0.20.2...v0.21.0
|
@@ -8,20 +8,21 @@ module OodCore
|
|
8
8
|
# Build the group acl adapter from a configuration
|
9
9
|
# @param config [#to_h] the configuration for an acl adapter
|
10
10
|
# @option config [Array<#to_s>] :groups The list of groups
|
11
|
-
# @option config [#to_s] :type ('
|
11
|
+
# @option config [#to_s] :type ('allowlist') The type of ACL ('allowlist' or 'blocklist')
|
12
12
|
def self.build_group(config)
|
13
13
|
c = config.to_h.symbolize_keys
|
14
14
|
|
15
15
|
groups = c.fetch(:groups) { raise ArgumentError, "No groups specified. Missing argument: groups" }.map(&:to_s)
|
16
16
|
acl = OodSupport::ACL.new(entries: groups.map { |g| OodSupport::ACLEntry.new principle: g })
|
17
17
|
|
18
|
-
type
|
19
|
-
|
18
|
+
type = c.fetch(:type, 'allowlist').to_s
|
19
|
+
case type
|
20
|
+
when 'allowlist', 'whitelist'
|
20
21
|
allow = true
|
21
|
-
|
22
|
+
when 'blocklist', 'blacklist'
|
22
23
|
allow = false
|
23
24
|
else
|
24
|
-
raise ArgumentError,
|
25
|
+
raise ArgumentError, 'Invalid type specified. Valid types: allowlist, blocklist'
|
25
26
|
end
|
26
27
|
|
27
28
|
Adapters::Group.new(acl: acl, allow: allow)
|
data/lib/ood_core/clusters.rb
CHANGED
@@ -26,11 +26,20 @@ module OodCore
|
|
26
26
|
return cmd, cmd_args if submit_host.to_s.empty?
|
27
27
|
|
28
28
|
check_host = strict_host_checking ? "yes" : "no"
|
29
|
-
|
29
|
+
|
30
|
+
# Have to OodCore::Job::Adapters::Helper.ssh_port instead of self.ssh_port due to test failure
|
31
|
+
args = ['-p', OodCore::Job::Adapters::Helper.ssh_port, '-o', 'BatchMode=yes', '-o', 'UserKnownHostsFile=/dev/null', '-o', "StrictHostKeyChecking=#{check_host}", "#{submit_host}"]
|
30
32
|
env.each{|key, value| args.push("export #{key}=#{value};")}
|
31
33
|
|
32
34
|
return 'ssh', args + [cmd] + cmd_args
|
33
35
|
end
|
36
|
+
|
37
|
+
# Allows for Non-Standard Port usage in ssh commands
|
38
|
+
# To set ENV["OOD_SSH_PORT"], add assignment in /etc/ood/config/nginx_stage.yml
|
39
|
+
def self.ssh_port
|
40
|
+
return ENV["OOD_SSH_PORT"].nil? ? "22" : "#{ENV['OOD_SSH_PORT'].to_i.to_s}"
|
41
|
+
end
|
42
|
+
|
34
43
|
end
|
35
44
|
end
|
36
45
|
end
|
@@ -58,7 +58,6 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
58
58
|
# @param script [OodCore::Job::Script] The script object defining the work
|
59
59
|
def start_remote_session(script)
|
60
60
|
cmd = ssh_cmd(submit_host(script), ['/usr/bin/env', 'bash'])
|
61
|
-
|
62
61
|
session_name = unique_session_name
|
63
62
|
output = call(*cmd, stdin: wrapped_script(script, session_name))
|
64
63
|
hostname = parse_hostname(output)
|
@@ -73,7 +72,7 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
73
72
|
# Get the tmux pane PID for the target session
|
74
73
|
pane_pid=$(tmux list-panes -aF '\#{session_name} \#{pane_pid}' | grep '#{session_name}' | cut -f 2 -d ' ')
|
75
74
|
# Find the Singularity sinit PID child of the pane process
|
76
|
-
pane_sinit_pid=$(pstree -p -l "$pane_pid" | egrep -o 'sinit[(][[:digit:]]*|shim-init[(][[:digit:]]|appinit[(][[:digit:]]' | grep -o '[[:digit:]]*')
|
75
|
+
pane_sinit_pid=$(pstree -p -l "$pane_pid" | egrep -o 'sinit[(][[:digit:]]*|shim-init[(][[:digit:]]|appinit[(][[:digit:]]*' | grep -o '[[:digit:]]*')
|
77
76
|
# Kill sinit which stops both Singularity-based processes and the tmux session
|
78
77
|
kill "$pane_sinit_pid"
|
79
78
|
SCRIPT
|
@@ -122,15 +121,18 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
122
121
|
# @param destination_host [#to_s] the destination host you wish to ssh into
|
123
122
|
# @param cmd [Array<#to_s>] the command to be executed on the destination host
|
124
123
|
def ssh_cmd(destination_host, cmd)
|
124
|
+
|
125
125
|
if strict_host_checking
|
126
126
|
[
|
127
127
|
'ssh', '-t',
|
128
|
+
'-p', OodCore::Job::Adapters::Helper.ssh_port,
|
128
129
|
'-o', 'BatchMode=yes',
|
129
130
|
"#{username}@#{destination_host}"
|
130
131
|
].concat(cmd)
|
131
132
|
else
|
132
133
|
[
|
133
134
|
'ssh', '-t',
|
135
|
+
'-p', OodCore::Job::Adapters::Helper.ssh_port,
|
134
136
|
'-o', 'BatchMode=yes',
|
135
137
|
'-o', 'UserKnownHostsFile=/dev/null',
|
136
138
|
'-o', 'StrictHostKeyChecking=no',
|
@@ -291,4 +293,5 @@ class OodCore::Job::Adapters::LinuxHost::Launcher
|
|
291
293
|
line.match(/^(([\w+]|[a-zA-Z0-9][\w*-]*\.))*$/)
|
292
294
|
end.compact.last.to_s
|
293
295
|
end
|
296
|
+
|
294
297
|
end
|
@@ -104,12 +104,14 @@ class OodCore::Job::Adapters::LinuxSystemd::Launcher
|
|
104
104
|
if strict_host_checking
|
105
105
|
[
|
106
106
|
'ssh', '-t',
|
107
|
+
'-p', OodCore::Job::Adapters::Helper.ssh_port,
|
107
108
|
'-o', 'BatchMode=yes',
|
108
109
|
"#{username}@#{destination_host}"
|
109
110
|
].concat(cmd)
|
110
111
|
else
|
111
112
|
[
|
112
113
|
'ssh', '-t',
|
114
|
+
'-p', OodCore::Job::Adapters::Helper.ssh_port,
|
113
115
|
'-o', 'BatchMode=yes',
|
114
116
|
'-o', 'UserKnownHostsFile=/dev/null',
|
115
117
|
'-o', 'StrictHostKeyChecking=no',
|
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.23.
|
4
|
+
version: 0.23.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: 2023-02-
|
13
|
+
date: 2023-02-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ood_support
|