Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
juju: remove BootstrapConfig fallback in API connection #5719
Conversation
|
$$merge$$ |
|
Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju |
|
Build failed: Does not match ['fixes-1598063', 'fixes-1602732', 'fixes-1595686', 'fixes-1596493', 'fixes-1598049', 'fixes-1600237'] |
|
$$JFDI$$ |
|
Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju |
|
Build failed: Tests failed |
|
$$JFDI$$ |
|
Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju |
|
Build failed: Tests failed |
|
$$JFDI$$ |
|
Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju |
rogpeppe commentedJun 26, 2016
•
Edited 1 time
-
ericsnowcurrently
Jun 26, 2016
This logic is a significant contributor to the complexity
of this code, and it's only there to support a marginal case
that can be addressed otherwise if needed.
The specific case it's there to address is if this sequence of
events happens:
In this case, the client has no valid addresses for the controller,
but it does have the initial bootstrap configuration so it
can instantiate an Environ instance and use that to find
out the current controller addresses.
This scenario is not a problem if the client has connected any
time when any of the new servers are up.
The logic is no help if the client trying to connect was not
the specific client that originally bootstrapped, because
other clients don't have the bootstrap configuration available.
Given the relatively unlikelyhood of the scenario in general and
that most clients are unlikely to be the ones that actually bootstrapped
the controller, the complexity of the code doesn't seem warranted.
There are various alternative approaches that could be used if the
scenario really does turn out to be a problem in practice:
console and add it to the controllers.yaml file.
be used to try to recover controller addresses.
with all the current controller addresses.
the addresses from that.
(Review request: http://reviews.vapour.ws/r/5166/)