Project

General

Profile

Actions

Bug #19400

closed

Token created by login-sync on satellite expires after 5 minutes, causing login-sync to constantly create new tokens

Added by Peter Amstutz 4 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
API
Target version:
Start date:
09/26/2022
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
-

Subtasks 3 (0 open3 closed)

Task #19401: Review 19400-rubysdk-cluster-configResolvedLucas Di Pentima09/26/2022

Actions
Task #19616: Point bundler for login-sync at the development gem for arvadosResolvedLucas Di Pentima09/26/2022

Actions
Task #19619: Review 19400-login-sync-loginclusterResolvedPeter Amstutz10/13/2022

Actions
Actions #4

Updated by Lucas Di Pentima 3 months ago

  • Release set to 53
  • Status changed from New to In Progress
Actions #7

Updated by Lucas Di Pentima 3 months ago

Updates at 4a499571f - branch 19400-login-sync-logincluster
Test run: developer-run-tests: #3277

  • Adds method to Ruby SDK's Arvados class to request the cluster's exported config.
  • Makes login-sync detect LoginCluster federations and query the appropriate cluster when creating/checking tokens.
  • Updates documentation, including upgrade notes.
Actions #8

Updated by Lucas Di Pentima 3 months ago

Ok, all tests failed because login-sync's install phase couldn't be completed. Probably because of its new requirement on the arvados gem. Maybe I should split the branch in 2, and commit the Ruby SDK's changes first.

Actions #9

Updated by Peter Amstutz 3 months ago

  • Target version changed from 2022-08-31 sprint to 2022-09-14 sprint
Actions #10

Updated by Peter Amstutz 3 months ago

  • Target version changed from 2022-09-14 sprint to 2022-09-28 sprint
Actions #11

Updated by Peter Amstutz 3 months ago

  • Target version changed from 2022-09-28 sprint to 2022-09-14 sprint
Actions #12

Updated by Lucas Di Pentima 3 months ago

  • Target version changed from 2022-09-14 sprint to 2022-09-28 sprint
Actions #13

Updated by Peter Amstutz 2 months ago

  • Release deleted (53)
Actions #14

Updated by Lucas Di Pentima 2 months ago

Split the previous branch. Created 19400-rubysdk-cluster-config with only the Ruby SDK's new method at 4fb2e88
Test run: developer-run-tests: #3300

Actions #15

Updated by Lucas Di Pentima 2 months ago

Branch 19400-login-sync-logincluster at 084c954 -- rebased to 19400-rubysdk-cluster-config
Test run: waiting for 19400-rubysdk-cluster-config to be merged first so that the dependency requirement doesn't fail.

Actions #16

Updated by Peter Amstutz 2 months ago

I believe the dependency in 19400-login-sync-logincluster needs to be changed to "> 2.4.3"

I believe the development build is versioned as 2.4.4dev123, so once the ruby sdk is merged it should work fine?

Rest LGTM.

Actions #17

Updated by Lucas Di Pentima 2 months ago

Peter Amstutz wrote in #note-16:

I believe the dependency in 19400-login-sync-logincluster needs to be changed to "> 2.4.3"

Thanks, I forgot to update the dependency with the newer release. Done in 7ce7361f6

I believe the development build is versioned as 2.4.4dev123, so once the ruby sdk is merged it should work fine?

I think so, yes.
Merged 19400-rubysdk-cluster-config to main, and will wait for the package to be built before running tests.

Actions #18

Updated by Lucas Di Pentima 2 months ago

  • Target version changed from 2022-09-28 sprint to 2022-10-12 sprint
Actions #19

Updated by Lucas Di Pentima 2 months ago

After having a success arvados gem build (build-packages-python-ruby: #2456 ), the test run on the 19400-login-sync-logincluster branch still fails because it doesn't find the correct gem version: developer-run-tests: #3307

Actions #20

Updated by Lucas Di Pentima about 2 months ago

  • Target version changed from 2022-10-12 sprint to 2022-10-26 sprint
Actions #21

Updated by Lucas Di Pentima about 2 months ago

Updates at 7ebb93e - branch 19400-login-sync-logincluster
Test run: developer-run-tests: #3314

  • Adds a "pre-release" type of dependency to login-sync to prove that we won't be able to make it use a X.Y.Z.devNNNN arvados gem unless we explicitly ask for it, for example like this:
s.add_runtime_dependency 'arvados', '~> 2.4', '> 2.4.3a'

(note the 'a' suffix, makes it match a pre-release gem)

Source:

Tests above failed because it seems that the newly built arvados gem isn't explicitly installed on the developer-test-run-reminder pipeline.

Updates at d10a5d8
Test run: developer-run-tests: #3316

  • Explicitly installs Ruby SDK gem when on the login-sync install phase.

I tried on a fresh rvm gemset to install this gem and it installed the arvados v2.4.3 version from rubygems:

$ gem install arvados-login-sync-2.5.0.dev20221012195706.gem
Fetching ruby2_keywords-0.0.5.gem
Fetching faraday-0.17.5.gem
Fetching jwt-1.5.6.gem
...
Fetching arvados-2.4.3.gem
...
Successfully installed arvados-2.4.3
Successfully installed arvados-login-sync-2.5.0.dev20221012195706
...
24 gems installed

So I think this could be the solution, although we might need to adjust the dependency to ask for '> 2.4.4a' to avoid making it use 2.4.3 on preexisting environments.

Actions #22

Updated by Lucas Di Pentima about 2 months ago

Updates at 1227556ee
Test run: developer-run-tests-remainder: #3481

  • Changes the arvados gem dependency to "> 2.4.4a" so that it doesn't pull the 2.4.3 version on preexisting environments:
lucas@buster:~/arvados/services/login-sync$ gem build arvados-login-sync.gemspec
  Successfully built RubyGem
  Name: arvados-login-sync
  Version: 2.5.0.dev20221012195706
  File: arvados-login-sync-2.5.0.dev20221012195706.gem
lucas@buster:~/arvados/services/login-sync$ gem install arvados-login-sync-2.5.0.dev20221012195706.gem
ERROR:  Could not find a valid gem 'arvados' (~> 2.4, > 2.4.4a) (required by 'arvados-login-sync-2.5.0.dev20221012195706.gem' (>= 0)) in any repository
ERROR:  Possible alternatives: arvados
Actions #23

Updated by Peter Amstutz about 2 months ago

Lucas Di Pentima wrote in #note-22:

Updates at 1227556ee
Test run: developer-run-tests-remainder: #3481

  • Changes the arvados gem dependency to "> 2.4.4a" so that it doesn't pull the 2.4.3 version on preexisting environments:

[...]

great! this LGTM

Actions #24

Updated by Lucas Di Pentima about 2 months ago

  • % Done changed from 66 to 100
  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF