Skip to content
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

Discussion: Broker should not fail hard when registry names collide #753

Closed
shawn-hurley opened this issue Feb 12, 2018 · 5 comments
Closed
Labels
3.11 | release-1.3 Kubernetes 1.11 | Openshift 3.11 | Broker release-1.3

Comments

@shawn-hurley
Copy link
Contributor

Currently, when a user has two registries defined that are the same name, we will not continue to run. The broker will panic with an error about the registry names are not unique.

There has been questions and concerns about the current behavior. There has been interest in other ways of handling this use case, I wanted to keep track of this discussion for later.

@shawn-hurley shawn-hurley added the 3.10 | release-1.2 Kubernetes 1.10 | Openshift 3.10 | Broker release-1.2 label Feb 12, 2018
@jianzhangbjz
Copy link

/cc @shawn-hurley Thanks a lot!

@rthallisey
Copy link
Contributor

Does it matter if the name is not unique?
Do we use name as a key for the adaptor?
Should we use a uuid to reference adaptors making name irrelevant?

Maybe as a first pass on this we can log that a registry was skipped because of a conflicting name. For a more involved solution we can evaluate how name is used.

@shawn-hurley
Copy link
Contributor Author

It does matter if the name is not unique, this is what is making sure that FQnames do not collide and overwrite each other in our etcd.

The name is used to create the FQname and the ID(which is a hash of the FQname) so that we can make sure things are unique and we do not have some very odd issues where APBs don't show up in the catalog because they are overridden.

Using a UUID was discussed. UUID needs to be gettable on bootstrap of the broker otherwise you will not be able to pull specs for instances that we created with the same broker because now the specs have different IDs.

The big concern is still, the Spec ID is the FQname hash. This must be unique and gettable across broker restarts/bootstraps.

One way that we may be able to calculate an FQname now is

registry-address+apb-image+tag.

vs

registry-name+apb-image+tag

Right now if you have two docker hub adapters pointing to same repo/tag then we would get two APBs in the service catalog, the above would not do that instead we would only get a single APB in the service catalog. I think that this might be more sane behavior but is a departure from the current behavior.

@rthallisey
Copy link
Contributor

Thanks for providing the details @shawn-hurley.

I think to track a unique APB we need registry-address + org + apb-image + tag. With registry-address+apb-image+tag I think you can still have different orgs.

@jmrodri jmrodri added 3.11 | release-1.3 Kubernetes 1.11 | Openshift 3.11 | Broker release-1.3 and removed 3.10 | release-1.2 Kubernetes 1.10 | Openshift 3.10 | Broker release-1.2 labels Jun 5, 2018
@jmrodri
Copy link
Contributor

jmrodri commented Jul 24, 2018

closing won't fix. This problem does exist, but no one has run into it. The broker relies heavily on the registry names being unique, we will continue to fail if you misconfigure the broker.

@jmrodri jmrodri closed this as completed Jul 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.11 | release-1.3 Kubernetes 1.11 | Openshift 3.11 | Broker release-1.3
Projects
None yet
Development

No branches or pull requests

4 participants