-
Notifications
You must be signed in to change notification settings - Fork 42
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
Multi-vo renew fts cronjob #126
Conversation
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.
I don't like this PR at so many levels. This build on top of rucio/containers#207, which, IMHO, shouldn't have been merged as it is right now.
Why do we have a "vo" called multi_vo? isn't the whole point of multi_vo to have more than one VO?
We now have an implicit secret name <releasename>-rucio-x509up-<voms>
which we will not be able to change without coordinate commits in two different repositories.
As per our own example in values.yaml in this repository, voms is not necessarily an alphanumeric string (example: voms: "cms:/cms/Role=production"
), and here everything assumes that "vomses" will be a list of alphanumerics separated by commas. Why?
This, and rucio/containers#20, has to go back to the drawing board. @mlassnig , @bari12 ?
Thanks for the feedback. |
Thanks Radu, that was from our misunderstanding of the renewal process and how others may use it The changes we are thinking of are checking in vo is a list to then enter a multi_vo set of code, that extracts vo and voms from the same index in the list, rather than what we have done now. As for the implicit secret name, is this a problem? This is to be changed to |
5ccc15a
to
30e2749
Compare
Add longproxy for multi-vo Add additional secrets for voms server info Add variables for multi-vo
Add multi-vo fts cronjob to documentation
30e2749
to
56a76dd
Compare
20a7f04
to
cd00ebd
Compare
I have made the changes so that vo and voms aren't the same. They are both set in a vomses section with the desired voms linked to the vo. I have also made changes reflecting this for the container (rucio/containers#226). I have also updated how the secrets are set so they can be set in the values.yaml. |
The whole architecture of this is completely opaque to me. I don't understand how this is intended to be integrated with rucio. From a helm perspective: how the releasename-rucio-x509up-vo secrets will end be mounted in whatever pod needs them? For example: submitter. From the rucio perspective: how submitter will have to be configured (in rucio.cfg terms) to use these secrets ? |
I went through rucio and my understanding is as follows: there is a configuration section This will be configured in helm charts using the following values:
Moreover, with your solution from the current PR, one will also have to manually create, inside the cluster, a bunch of
This will generate the secrets
Did I understand it correctly ? If yes, I consider that this is quite a lot of repetition. Adding an additional vo is too complex and requires 3 different values to be set in the helm chart to make it work. All these values are linked implicitly by secret names which cannot be known without looking at the helm source code. Meaning that anybody who will want to try multi-vo rucio will have an extremely high barrier of entry. We must find a way to implement the multi-vo workflow in helm charts in way that doesn't require repetition. |
@Thysk , @gmatthews20 . I prepared a change to support multi-vo fts renewals. Obviously, an associated change will have to be done in the containers repository. I would appreciate you input. Does if fit your needs? Should I implement anything else ? |
@rcarpa These changes look comprehensive and I believe should cover our usecase as well As I understand it, a Multi-VO user would then also need to create the: |
If I understood correctly what is required, the list of VOs will have to be configured only here, in the ftsRenewal section, with all the needed "longproxy" certificates as inputs. The script in the containers repository can be made to create only one single secret, with all the x509 short proxies in the same k8s secret. As long as the list of VOs is not extremely long and all certificates fit into the 1MiB limit of the kubernetes secret, the certificate can then be mounted in one go inside the pods using something like
Thanks to the change in rucio (rucio/rucio#6082), which I made on purpose recently for this use-case, only
will have to be added to rucio. As a consequence of that, only one place will have to be configured with the list of VOs. |
I'm closing this one because the use-case should be handled by #139 . |
Add variables required for multi-vo
Add additional secrets to mount extra voms info
Update readme with multi-vo info