-
Notifications
You must be signed in to change notification settings - Fork 27
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
Refactor registry namespace check to be compatible with OSDF topology #1038
Conversation
@jhiemstrawisc this one should be good to go. See PR description for how to test e2e locally. |
One comment about the error I get from serving the origin:
I think this is somewhat misleading, because that full namespace prefix isn't registered in topology. Is there a way to indicate specifically that in order to register a sub namespace of |
I agree the wording is kind of misleading, I can work on feeding the exact topology namespace that's taken but I think a quicker fix would be rewording the error message and say "part of the namespace ...." instead? I can do either way. |
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.
A few cleanup items, but I'm convinced that this should solve our issue by giving federation admins a way to bypass the previous restrictions we had in place.
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.
LGTM!
@turetske, I believe we need to patch this into 7.6 before EoD |
Closes #1029
Other fixes
Registry
health component to the UI to should if registering namespace succeeded or notThe updated policy is as follows (only for OSDF):
Given that a namespace exists in the topology, say
/foo
:/foo
or/foo/**/**
, and the admin starts the server without registering the namespace at registry website, the auto-registration in the origin will fail, with an error message to ask them register the namespace at the registry web UI:/foo
or/foo/**/**
via Pelican CLI (pelican namespace register
) but without the--with-identity
flag, the registration will also fail, with the same error message as aboveor
/foo//via Pelican CLI with
--with-identityflag OR via the registry web UI. The registration will succeed. However, there will be a note in the registration
Descriptionfield as
[ Attention: Prefix exists in OSDF topology ]` to warn the registry admin to pay extra attention when reviewing it.This PR also removes topology check from
checkNamespaceExists
and function alike to maintain consistency.Pitfall: This should fix all the incompatibility between Pelican namespace and OSDF legacy namespaces. However, one pitfall is that the director also fetches namespace from both OSDF and Pelican servers, and there can be two situations:
How to test
Here's the instruction to test the fix e2e:
FederationPrefix
,DbLocation
, andLoggin.Level
make web-build
in your Pelican root folderosdf
alias.Registry
component/.well-known/issuer.jwks
https://localhost:8444
, and register a new namespace with your origin's federation prefix and the public keyDirector
component should report OK (green color)If you want to take one step further, you can test if a file can be transferred through this origin and the federation (I tested locally and it works for me)