ood_core 0.17.2 → 0.17.4
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 +17 -1
- data/lib/ood_core/job/adapters/kubernetes/batch.rb +16 -0
- data/lib/ood_core/job/adapters/kubernetes/helper.rb +3 -0
- data/lib/ood_core/job/adapters/kubernetes/templates/pod.yml.erb +1 -8
- data/lib/ood_core/version.rb +1 -1
- data/ood_core.gemspec +1 -1
- metadata +2 -4
- data/.github/dependabot.yml +0 -8
- data/.github/workflows/test.yml +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c94c6fbf110564ec2cff9d885d2799566a70e1e98759f44fec00fde6eb0cdec
|
4
|
+
data.tar.gz: 7ed0326c52582dbd8b15a272706e8aa58e36a2be0555a78c65037bb74517d0a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6af308bf4acb767e6c3128ce753714ebcee4f33a17b5114a1196d73ec7df63be5d5007ad985c752329463e2533ed1bbfa8951426a2a035ef08ce9b3704b5984
|
7
|
+
data.tar.gz: 76b07812da52479c3d5c834c51dcb6c5af328721436474197a77bd0423f5061361d333d233c235da7a699e31ac772104eb65902e74ee25afb4640c6e5adc4add
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.17.4] - 7-29-2021
|
11
|
+
|
12
|
+
Functionally the same as [0.17.3] but with some CI updates.
|
13
|
+
|
14
|
+
## [0.17.3] - 7-29-2021
|
15
|
+
|
16
|
+
### Fixed
|
17
|
+
|
18
|
+
- Fixed handling of pods in a startup phase in [303](https://github.com/OSC/ood_core/pull/303).
|
19
|
+
|
20
|
+
### Added
|
21
|
+
|
22
|
+
- Enable automatic population of supplemental groups in [305](https://github.com/OSC/ood_core/pull/305).
|
23
|
+
|
10
24
|
## [0.17.2] - 7-14-2021
|
11
25
|
|
12
26
|
### Fixed
|
@@ -360,7 +374,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
360
374
|
### Added
|
361
375
|
- Initial release!
|
362
376
|
|
363
|
-
[Unreleased]: https://github.com/OSC/ood_core/compare/v0.17.
|
377
|
+
[Unreleased]: https://github.com/OSC/ood_core/compare/v0.17.4...HEAD
|
378
|
+
[0.17.4]: https://github.com/OSC/ood_core/compare/v0.17.3...v0.17.4
|
379
|
+
[0.17.3]: https://github.com/OSC/ood_core/compare/v0.17.2...v0.17.3
|
364
380
|
[0.17.2]: https://github.com/OSC/ood_core/compare/v0.17.1...v0.17.2
|
365
381
|
[0.17.1]: https://github.com/OSC/ood_core/compare/v0.17.0...v0.17.1
|
366
382
|
[0.17.0]: https://github.com/OSC/ood_core/compare/v0.16.1...v0.17.0
|
@@ -14,6 +14,7 @@ class OodCore::Job::Adapters::Kubernetes::Batch
|
|
14
14
|
attr_reader :config_file, :bin, :cluster, :mounts
|
15
15
|
attr_reader :all_namespaces, :using_context, :helper
|
16
16
|
attr_reader :username_prefix, :namespace_prefix
|
17
|
+
attr_reader :auto_supplemental_groups
|
17
18
|
|
18
19
|
def initialize(options = {})
|
19
20
|
options = options.to_h.symbolize_keys
|
@@ -25,6 +26,7 @@ class OodCore::Job::Adapters::Kubernetes::Batch
|
|
25
26
|
@all_namespaces = options.fetch(:all_namespaces, false)
|
26
27
|
@username_prefix = options.fetch(:username_prefix, '')
|
27
28
|
@namespace_prefix = options.fetch(:namespace_prefix, '')
|
29
|
+
@auto_supplemental_groups = options.fetch(:auto_supplemental_groups, false)
|
28
30
|
|
29
31
|
@using_context = false
|
30
32
|
@helper = OodCore::Job::Adapters::Kubernetes::Helper.new
|
@@ -176,6 +178,19 @@ class OodCore::Job::Adapters::Kubernetes::Batch
|
|
176
178
|
Etc.getgrgid(run_as_group).name
|
177
179
|
end
|
178
180
|
|
181
|
+
def default_supplemental_groups
|
182
|
+
OodSupport::User.new.groups.sort_by(&:id).map(&:id).reject { |id| id < 1000 }
|
183
|
+
end
|
184
|
+
|
185
|
+
def supplemental_groups(groups = [])
|
186
|
+
sgroups = []
|
187
|
+
if auto_supplemental_groups
|
188
|
+
sgroups.concat(default_supplemental_groups)
|
189
|
+
end
|
190
|
+
sgroups.concat(groups.to_a)
|
191
|
+
sgroups.uniq.sort
|
192
|
+
end
|
193
|
+
|
179
194
|
def default_env
|
180
195
|
{
|
181
196
|
USER: username,
|
@@ -191,6 +206,7 @@ class OodCore::Job::Adapters::Kubernetes::Batch
|
|
191
206
|
# create an id.
|
192
207
|
def generate_id_yml(script)
|
193
208
|
native_data = script.native
|
209
|
+
native_data[:container][:supplemental_groups] = supplemental_groups(native_data[:container][:supplemental_groups])
|
194
210
|
container = helper.container_from_native(native_data[:container], default_env)
|
195
211
|
id = generate_id(container.name)
|
196
212
|
configmap = helper.configmap_from_native(native_data, id, script.content)
|
@@ -55,6 +55,7 @@ class OodCore::Job::Adapters::Kubernetes::Helper
|
|
55
55
|
restart_policy: container[:restart_policy],
|
56
56
|
image_pull_policy: container[:image_pull_policy],
|
57
57
|
image_pull_secret: container[:image_pull_secret],
|
58
|
+
supplemental_groups: container[:supplemental_groups],
|
58
59
|
startup_probe: container[:startup_probe],
|
59
60
|
)
|
60
61
|
end
|
@@ -266,7 +267,9 @@ class OodCore::Job::Adapters::Kubernetes::Helper
|
|
266
267
|
container_statuses = json_data.dig(:status, :containerStatuses)
|
267
268
|
unschedulable = conditions.to_a.any? { |c| c.dig(:reason) == "Unschedulable" }
|
268
269
|
ready = !container_statuses.to_a.empty? && container_statuses.to_a.all? { |s| s.dig(:ready) == true }
|
270
|
+
started = !container_statuses.to_a.empty? && container_statuses.to_a.any? { |s| s.fetch(:state, {}).key?(:running) }
|
269
271
|
return "running" if ready
|
272
|
+
return "queued" if phase == "Running" && started
|
270
273
|
|
271
274
|
state = case phase
|
272
275
|
when "Pending"
|
@@ -20,14 +20,7 @@ spec:
|
|
20
20
|
runAsUser: <%= run_as_user %>
|
21
21
|
runAsGroup: <%= run_as_group %>
|
22
22
|
runAsNonRoot: true
|
23
|
-
|
24
|
-
supplementalGroups: []
|
25
|
-
<%- else -%>
|
26
|
-
supplementalGroups:
|
27
|
-
<%- spec.container.supplemental_groups.each do |supplemental_group| -%>
|
28
|
-
- "<%= supplemental_group %>"
|
29
|
-
<%- end -%>
|
30
|
-
<%- end -%>
|
23
|
+
supplementalGroups: <%= spec.container.supplemental_groups %>
|
31
24
|
fsGroup: <%= fs_group %>
|
32
25
|
hostNetwork: false
|
33
26
|
hostIPC: false
|
data/lib/ood_core/version.rb
CHANGED
data/ood_core.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
|
-
f.match(%r{^(test|spec|features)/})
|
18
|
+
f.match(%r{^(test|spec|features|.github)/})
|
19
19
|
end
|
20
20
|
spec.bindir = "exe"
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
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.17.
|
4
|
+
version: 0.17.4
|
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: 2021-07-
|
13
|
+
date: 2021-07-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ood_support
|
@@ -160,8 +160,6 @@ executables: []
|
|
160
160
|
extensions: []
|
161
161
|
extra_rdoc_files: []
|
162
162
|
files:
|
163
|
-
- ".github/dependabot.yml"
|
164
|
-
- ".github/workflows/test.yml"
|
165
163
|
- ".gitignore"
|
166
164
|
- ".rspec"
|
167
165
|
- CHANGELOG.md
|
data/.github/dependabot.yml
DELETED
data/.github/workflows/test.yml
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
name: Unit Tests
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches:
|
6
|
-
- master
|
7
|
-
pull_request:
|
8
|
-
branches:
|
9
|
-
- master
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
tests:
|
13
|
-
runs-on: ubuntu-latest
|
14
|
-
|
15
|
-
steps:
|
16
|
-
- name: checkout
|
17
|
-
uses: actions/checkout@v2
|
18
|
-
|
19
|
-
- name: Setup Ruby using Bundler
|
20
|
-
uses: ruby/setup-ruby@v1
|
21
|
-
with:
|
22
|
-
ruby-version: "2.7.1"
|
23
|
-
bundler-cache: true
|
24
|
-
bundler: "2.1.4"
|
25
|
-
|
26
|
-
- name: install gems
|
27
|
-
run: bundle install
|
28
|
-
|
29
|
-
- name: test
|
30
|
-
run: bundle exec rake spec
|