Minimal working implementation on network-get hook tool on MAAS #4029

Merged
merged 10 commits into from Jan 5, 2016

Conversation

Projects
None yet
2 participants
Contributor

dimitern commented Jan 4, 2016

Tested with a couple of simple charms based on the ubuntu charm, but with
a few relations, which can be bound to spaces and later the addresses we
get from network-get within each relation are logged.

Key changes:

  • network.Address, params.Address, and state.address now have SpaceName added.
  • instance.Addresses() in MAAS parse the interface_set map and return the space
    each IP is bound to (according to the links of each interface).
  • state/API endpoints now are selected first from the default space, if possible,
    which solves the problems with non-deterministic address picking and sorting.
    As a fallback, the old approach with scopes + sorting is used.
  • StartInstance() now includes EndpointBindings map, populated by the provisioner
    with all bindings from all services which have units assigned to the machine we're
    about to provision. This also takes full advantage of the "interfaces=" argument
    in MAAS (acquireNode) for bindings.

Next step should be to do the multi-NIC containers in a simplified way.

(Review request: http://reviews.vapour.ws/r/3448/)

Contributor

dimitern commented Jan 5, 2016

$$merge$$

Contributor

jujubot commented Jan 5, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

jujubot added a commit that referenced this pull request Jan 5, 2016

Merge pull request #4029 from dimitern/maas-spaces-network-get-min
Minimal working implementation on network-get hook tool on MAAS

Tested with a couple of simple charms based on the ubuntu charm, but with
a few relations, which can be bound to spaces and later the addresses we
get from network-get within each relation are logged.

Key changes:
 * network.Address, params.Address, and state.address now have SpaceName added.
 * instance.Addresses() in MAAS parse the interface_set map and return the space
   each IP is bound to (according to the links of each interface).
 * state/API endpoints now are selected first from the default space, if possible,
   which solves the problems with non-deterministic address picking and sorting.
   As a fallback, the old approach with scopes + sorting is used.
 * StartInstance() now includes EndpointBindings map, populated by the provisioner
   with all bindings from all services which have units assigned to the machine we're
   about to provision. This also takes full advantage of the "interfaces=" argument
   in MAAS (acquireNode) for bindings.

Next step should be to do the multi-NIC containers in a simplified way.

(Review request: http://reviews.vapour.ws/r/3448/)

@jujubot jujubot merged commit f21d00a into juju:maas-spaces Jan 5, 2016

@dimitern dimitern deleted the dimitern:maas-spaces-network-get-min branch Jan 5, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment