-
Notifications
You must be signed in to change notification settings - Fork 84
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
Proposes solutions for tracking state of BindInstance creation #680
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 would prefer to go with option 2. I think that it is the most efficient and clear way of implementing this.
For options 2 would you need to modify As an alternative, what if we were to merge the Job State into the BindingInstance (and other Instances) |
I haven't tested it, but looking further, I think this affects unbind also. If two unbind requests come in that are identical, we need to return the same "operation" token with both 202 responses. Not to mention, we don't want to start a second APB. We need a way to know that there is already an unbind job for a given So for option 2, which seems popular so far (I also like it), we would need two new fields on the
|
Option 2 could work, as @maleck13 pointed out it would require some moving around of signatures. It sounds even better to potentially attach job states directly to the instances. One obvious problem with this is that it breaks backwards compatibility with existing deployments. We haven't had any real conversations about whether or not this is acceptable. If we're talking about removing etcd for 3.10, obviously a 3.10 broker is not going to work with the existing broker state (in etcd) of previous brokers. I would expect use to need a migration plan from etcd to CRDs. I like the idea of attaching the state to the instance because you don't have to worry about atomically creating the job and setting the token on the instance. |
Here is a WIP of what option 2 would look like. Sometimes seeing it can help clarify things, so let me know if this makes anyone like any particular option more or less. Note that this branch also includes fixes to the comparison of BindInstance "Parameters", and fixes to a couple of other edge cases that had to be fixed in order to test this. |
Option 2 looks good to me. @mhrivnak is there anymore detail you want add? Or is there more discussion folks want to have around this proposal? If not I think it's ok to merge. |
@rthallisey Agreed, it sounds like we're mostly in agreement around option 2. I'll merge and if we would like to update with some details let's add in a follow-up PR. |
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes openshift#670 The solution was discussed here: openshift#680
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes openshift#670 The solution was discussed here: openshift#680
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes openshift#670 The solution was discussed here: openshift#680
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes openshift#670 The solution was discussed here: openshift#680
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes openshift#670 The solution was discussed here: openshift#680
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes openshift#670 The solution was discussed here: openshift#680
The broker now stores a reference to a bind job with the BindInstance, so that it can be looked up in the future if successive equivalent requests are received. fixes #670 The solution was discussed here: openshift/ansible-service-broker#680
Please provide feedback plus any other potential solutions you think are worth consideration.
Of the three I described, my least-favorite is the "JobState.Resource" option.