-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add data connectors #478
feat: add data connectors #478
Conversation
You can access the deployment of this PR at https://renku-ci-ds-478.dev.renku.ch |
3085cbb
to
ed2325a
Compare
df31b67
to
ccb09b7
Compare
ccb09b7
to
3062e07
Compare
3062e07
to
34b33aa
Compare
34b33aa
to
ae494a1
Compare
cf07450
to
1eb8c32
Compare
1eb8c32
to
6b27170
Compare
6b27170
to
cbb007d
Compare
b2532b4
to
62e197a
Compare
Co-authored-by: Samuel Gaist <[email protected]> squashme: resolve package version conflicts
NOTE: Saved secrets do not work until this is merged and released: SwissDataScienceCenter/csi-rclone#37 But if you do not save the storage secret and then type it in at session start then things will work as expected. |
ffb3570
to
5d3333b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good.
Question: Is this deployment fully functional? It would be nice to test the sessions with different combinations of data connectors (with saved or unsaved secrets, etc.).
# TODO: The UI always does this check if it is acceptable/safe | ||
# if csr_id in dcs_secrets and csr.configuration is not None: | ||
# raise errors.ValidationError( | ||
# message=f"Overriding the storage configuration for storage with ID {csr_id} " | ||
# "is not allowed because the storage has an associated saved secret.", | ||
# ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: I am not sure about the validity of this comment. What if both access_key_id
and secret_access_key
are required, but I only saved access_key_id
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I meant to remove this. I will remove it now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its gone now.
return f"{prefix[:12]}-renku-2-{server_hash[:21]}" | ||
# !NOTE: For now we limit the server name to a max of 25 characters. | ||
# NOTE: This is 12 + 1 + 12 = 25 characters | ||
return f"{prefix[:12]}-{server_hash[:12]}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that we have access to all the data-services information, it would be nice to have a human-readable session name:
{prefix}-{ns_slug}-{project_slug}-{launcher_slug}-{hash}
Also, it would be nicer to try to use Slug.from_name
for the prefix
part to avoid percent-encoded characters in it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I have been meaning to do this. And now I am using Slug
as you suggested. We actually have Slug.from_user
which fits this pretty well. I just still have to do some extra cleaning because k8s is picky about the names.
The only thing that does not work here is decrypting and using saved secrets for data connectors. It should work though once the fix I submitted for the csi rclone is rolled out on dev (the PR for this is merged and it will be released with renku 0.60.0). Rolling out a parallel version of rclone just for a CI deployment does not really work because both rclones step over one another. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trying to use the deployment from the UI, this is what I get from trying to launch a session:
{
"error": {
"code": 1422,
"message": "There are errors in the following fields, name: String should match pattern '^[a-z]([-a-z0-9]*[a-z0-9])?$'"
}
}
8545562
to
729a64e
Compare
Yes I just saw that. I am fixing it rn. |
Tearing down the temporary RenkuLab deplyoment for this PR. |
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Co-authored-by: Samuel Gaist <[email protected]> Co-authored-by: Ralf Grubenmann <[email protected]> Co-authored-by: Flora Thiebaut <[email protected]>
Enables the data connectors to work with the new amalthea.
NOTE: The target branch is not main.
/deploy renku=feat-jupyter-free-sessions amalthea-sessions=main renku-ui=andrea/jupyter-free-build extra-values=amalthea-sessions.deployCrd=false