galaxyproject / galaxyproject/cloudman
Race condition for bulk project creation
- Dominant language
- Python
- Stars
- 38
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
Following https://github.com/galaxyproject/cloudman/commit/75cfd31cffc36a59db404f2b6317e1d28a8632cd there is a race condition when using `projman_load_config.py` to create projects in bulk.
The OIDC client secret injection in context, for all apps except the data browser, relies on the secret deployed by the `projman` chart. While this is fine when creating a project manually and adding subsequent apps, because `projman` gets deployed by the API when creating the project, when installing apps in bulk _right after_ creation (as is the case when using `projman_load_config.py`, it happens that some apps get deployed with `context.project.oidc_client_secret` still being `None` which subsequently breaks logins.
Solution is likely to just special case `projman` to allow that context value to be empty for that deployment, but make the API retry a few times for other apps rather than accepting the empty context value.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with projman_load_config.py and trace the bulk project-creation flow through the API and projman chart deployment. Inspect how context.project.oidc_client_secret is populated for projman and subsequent apps. Done means bulk-created apps no longer receive an empty secret and logins work reliably after creation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100