Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
environs: Update the cross-model methods in NetworkingEnviron #7335
Conversation
| + // space can be retrieved by passing DefaultSpace (which is nil). | ||
| + // | ||
| + // This method accepts a SpaceInfo with details of the space that | ||
| + // we need provider details for - this is the Juju database's view |
| + // date). | ||
| + // | ||
| + // If the provider doesn't support space discovery then the Juju | ||
| + // database's opinion of what subnets are in the space is |
|
$$merge$$ |
|
Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju |
|
Build failed: Tests failed |
|
$$merge$$ |
|
Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju |
|
$$merge$$ |
jujubot
merged commit 3f25389
into
juju:develop
May 12, 2017
1 check failed
github-check-merge-juju
Built PR, ran unit tests, and tested LXD deploy. Use !!.*!! to request another build. IE, !!build!!, !!retry!!
Details
|
Hmm, grant check failed in different ways for the check and merge. $$merge$$ |
|
Gah, didn't refresh my page. Thanks @nskaggs! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
babbageclunk commentedMay 12, 2017
•
Edited 1 time
-
babbageclunk
May 12, 2017
Description of change
After discussing the interface with jam it became clear that the
original definitions of the methods weren't right.
With the exception of MAAS which fully supports spaces, providers don't
have any way to determine which subnets should be in a space. State is
the authority in that case, so just passing
ProviderIdintoProviderSpaceInfodoesn't work. (We could change the providers to tagsubnets with space information, but that's not straightforward - at the
provider level the subnets are shared between controllers, so multiple
controllers trying to manage the tags on one subnet could clobber each
other's changes unless care was taken.)
Change
Networking.ProviderSpaceInfoto take anetwork.SpaceInfowith state's view of the subnets instead - if the provider knows better it
can discard that, but otherwise the space info can be included in the result.
Also change
IsSpaceRoutabletoAreSpacesRoutable, which takes twospaces. The arguments to this will be the
ProviderSpaceInfos for the twoendpoints of the cross-model relation.
QA steps
No behaviour changes in this PR - it just tweaks interface methods with stub
implementations in the providers that support networking.