2.1 containerizer config 1657449 #6898

Merged
merged 7 commits into from Feb 2, 2017

Conversation

Projects
None yet
3 participants
Owner

jameinel commented Feb 1, 2017

Description of change

Along with my change to always record all host machine devices, this should enable the original "lxdbr0" functionality that we had in 2.0.

This adds a method on Environments (providers) that we can introspect to see if we think bridging to the host device will be useful. When we would be unable to allocate a Provider level IP address for the containers, we fall back to doing DHCP on the 'lxdbr0' bridge for that container.

QA steps

  $ juju bootstrap aws # or gce or azure
  $ juju switch controller
  $ juju add-machine lxd:0
  $ juju show-machine 0

You should end up with a container that has a valid (if local) IP address (most likely 10.0.0.*).

Bug reference

https://pad.lv/1657449

jameinel added some commits Jan 31, 2017

With UseLocalBridges we now can fall back to 'lxdbr0'.
Still needs support from the bridge side, and needs support from config.
Add a new method on Networking implementation.
Allows us to check if a given provider will give us addresess for containers.
So even though EC2 does implement space support, it doesn't support
addressable containers.

I tried this on Azure, GCE and AWS. I got a container on each with the lxc config showing lxdbr0 for the parent device.

apiserver/provisioner/provisioner.go
-func (ctx *hostChangesContext) ProcessOneContainer(netEnv environs.NetworkingEnviron, idx int, host, container *state.Machine) error {
- netBondReconfigureDelay := netEnv.Config().NetBondReconfigureDelay()
+func (ctx *hostChangesContext) ProcessOneContainer(env environs.Environ, idx int, host, container *state.Machine) error {
+ netBondReconfigureDelay := env.Config().NetBondReconfigureDelay()
bridgePolicy := containerizer.BridgePolicy{
NetBondReconfigureDelay: netBondReconfigureDelay,
@frobware

frobware Feb 1, 2017

Contributor

Do we need netBondReconfigureDelay as a temporary?

Owner

jameinel commented Feb 1, 2017

$$merge$$

@jameinel jameinel changed the title from WIP: 2.1 containerizer config 1657449 to 2.1 containerizer config 1657449 Feb 1, 2017

Contributor

jujubot commented Feb 1, 2017

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

Contributor

jujubot commented Feb 1, 2017

Build failed: Tests failed
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/10169

Owner

jameinel commented Feb 2, 2017

$$merge$$ the error just says "exit code 255" which i don't see a cause

Contributor

jujubot commented Feb 2, 2017

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

Contributor

jujubot commented Feb 2, 2017

Build failed: Does not match ['fixes-1660877']
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/10174

Owner

jameinel commented Feb 2, 2017

JFDI
$$merge$$

Contributor

jujubot commented Feb 2, 2017

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

@jujubot jujubot merged commit 1b21c6b into juju:2.1 Feb 2, 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

@jameinel jameinel deleted the jameinel:2.1-containerizer-config-1657449 branch Apr 22, 2017

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