ood_core 0.24.1 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d7ae635ec6299414feac4de3589bea126a97cd427507bd99242f0bcb79553b4
4
- data.tar.gz: 29855a0d0573e1d51fe6ebf7a0679c37993c608f77e45f804f6851d84160620c
3
+ metadata.gz: ad05a0d8cf307f0237329f0e33e8a66f809781e5b164ddf20b9f03d65078451d
4
+ data.tar.gz: 396dde55b4b5aaa321ccaf6fbc3cb049d01239335533c35c39ee9a11a1aa5d9b
5
5
  SHA512:
6
- metadata.gz: 6b93ec8179ffca892538e5bdd8bcc1eae6adceac3a2d898079c7f8f3a60d5cd04ac64569e71ba0af2fb9ab9833a9b7f6d0c1f845cde1487eaf3d9c8f90b382d8
7
- data.tar.gz: 2919276a9ade663afce93339602304f0fc727fa392d6f711f0166b82003c51e8765520603c93047919e4f1d1b81104723fd5ac05c760e891e90ab3a13a5d1c8e
6
+ metadata.gz: 4a1d7cb53117266c577eaa7792d867508f3e94ef78f2f9af7817882ad1f6165d5d43e8179e17163a83dd438627215700501ea75281204ee6b7d900649c77de9f
7
+ data.tar.gz: 4aaf01f40d43e7b496a053e2ef85548769beb169c78e954cd055659ecc08f2e8ef7221561f94a184eb986b9f13d52c2efda30ffdd07faeb697fab4d9d4411ce7
data/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ # [0.25.0] - 03-27-2024
11
+
12
+ - [828](https://github.com/OSC/ood_core/pull/828) and [826](https://github.com/OSC/ood_core/pull/826)
13
+ add configurable heartbeats to noVNC connections.
14
+
15
+ # [0.24.2] - 01-24-2024
16
+
17
+ - [823](https://github.com/OSC/ood_core/pull/823) Corrected a mistake in converting duration to seconds.
18
+ - [821](https://github.com/OSC/ood_core/pull/821) add container_start_args to pass options to the start command.
19
+
10
20
  ## [0.24.1] - 11-29-2023
11
21
 
12
22
  [820](https://github.com/OSC/ood_core/pull/820) Reverts [818](https://github.com/OSC/ood_core/pull/818)
@@ -524,7 +534,10 @@ Functionally the same as [0.17.3] but with some CI updates.
524
534
  ### Added
525
535
  - Initial release!
526
536
 
527
- [Unreleased]: https://github.com/OSC/ood_core/compare/v0.23.4...HEAD
537
+ [Unreleased]: https://github.com/OSC/ood_core/compare/v0.24.2...HEAD
538
+ [0.24.2]: https://github.com/OSC/ood_core/compare/v0.24.1...v0.24.2
539
+ [0.24.1]: https://github.com/OSC/ood_core/compare/v0.24.0...v0.24.1
540
+ [0.24.0]: https://github.com/OSC/ood_core/compare/v0.23.5...v0.24.0
528
541
  [0.23.5]: https://github.com/OSC/ood_core/compare/v0.23.4...v0.23.5
529
542
  [0.23.4]: https://github.com/OSC/ood_core/compare/v0.23.3...v0.23.4
530
543
  [0.23.3]: https://github.com/OSC/ood_core/compare/v0.23.2...v0.23.3
@@ -24,6 +24,9 @@ module OodCore
24
24
  # @option context [#to_s] :websockify_cmd
25
25
  # ("${WEBSOCKIFY_CMD:-/opt/websockify/run}") the path to the
26
26
  # websockify script (assumes you don't modify `:after_script`)
27
+ # @option context [#to_s] :websockify_heartbeat_seconds
28
+ # ("${WEBSOCKIFY_HEARTBEAT_SECONDS:-30}") the websockify heartbeat
29
+ # duration in seconds. (assumes you don't modify `:after_script`)
27
30
  # @option context [#to_s] :vnc_log ("vnc.log") path to vnc server log
28
31
  # file (assumes you don't modify `:before_script` or `:after_script`)
29
32
  # @option context [#to_s] :vnc_passwd ("vnc.passwd") path to the file
@@ -130,7 +133,8 @@ module OodCore
130
133
  # successful connections so that the password can be reset
131
134
  def after_script
132
135
  websockify_cmd = context.fetch(:websockify_cmd, "${WEBSOCKIFY_CMD:-/opt/websockify/run}").to_s
133
-
136
+ websockify_hb = context.fetch(:websockify_heartbeat_seconds, "${WEBSOCKIFY_HEARTBEAT_SECONDS:-30}").to_s
137
+
134
138
  <<-EOT.gsub(/^ {14}/, "")
135
139
  #{super}
136
140
 
@@ -139,7 +143,7 @@ module OodCore
139
143
  start_websockify() {
140
144
  local log_file="./websockify.log"
141
145
  # launch websockify in background and redirect all output to a file.
142
- #{websockify_cmd} $1 $2 &> $log_file &
146
+ #{websockify_cmd} $1 --heartbeat=#{websockify_hb} $2 &> $log_file &
143
147
  local ws_pid=$!
144
148
  local counter=0
145
149
 
@@ -70,6 +70,8 @@ module OodCore
70
70
  # empty string.
71
71
  # @option context [#to_s] :container_command ("singularity") the
72
72
  # singularity or apptainer execution command
73
+ # @option context [#to_a] :container_start_args ([]) Additional
74
+ # arguements you wish to pass to the container start command.
73
75
  # @param instance_name (uuid) a name for the instance
74
76
  # @see Template
75
77
 
@@ -99,8 +101,8 @@ module OodCore
99
101
  export INSTANCE_NAME="#{@instance_name}"
100
102
  export instance_name="#{@instance_name}"
101
103
  echo "Starting instance..."
102
- #{container_command} instance start #{container_path} #{@instance_name}
103
-
104
+ #{container_command} instance start #{container_start_args} #{container_path} #{@instance_name}
105
+
104
106
  # Setup one-time use passwords and initialize the VNC password
105
107
  function change_passwd () {
106
108
  echo "Setting VNC password..."
@@ -219,6 +221,10 @@ module OodCore
219
221
  context.fetch(:container_command, "singularity").to_s
220
222
  end
221
223
 
224
+ def container_start_args
225
+ context.fetch(:container_start_args, []).to_a.join(' ')
226
+ end
227
+
222
228
  # Arguments sent to `vncserver` command
223
229
  def vnc_args
224
230
  context.fetch(:vnc_args) do
@@ -386,9 +386,8 @@ module OodCore
386
386
  # Convert duration to seconds
387
387
  def duration_in_seconds(time)
388
388
  return 0 if time.nil? or time == "-"
389
- time, days = time.split("-").reverse
390
- days.to_i * 24 * 3600 +
391
- time.split(':').map { |v| v.to_i }.inject(0) { |total, v| total * 60 + v }
389
+ matched = time.match(/\((\d+\))/)
390
+ return matched ? matched[1].to_i : 0
392
391
  end
393
392
 
394
393
  # Convert seconds to duration
@@ -1,4 +1,4 @@
1
1
  module OodCore
2
2
  # The current version of {OodCore}
3
- VERSION = "0.24.1"
3
+ VERSION = "0.25.0"
4
4
  end
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.24.1
4
+ version: 0.25.0
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-11-29 00:00:00.000000000 Z
13
+ date: 2024-03-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ood_support