LXD creates all the interfaces as the physical machine has when using MAAS.

Bug #1585847 reported by Dongwon Cho
34
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
High
John A Meinel

Bug Description

I guess it is not a bug but a thing that needs to be fixed.
LXD creates all the interfaces as the physical machine has whenever I create or deploy services or LXD containers when using MAAS. I thought it will only create the interfaces I specified with '--constraints spaces=' option but it does not. I think it should be able to create the interfaces that we only specified with constraints so that we can save the IP resources and not create unnecessary resource and configurations.

dpkg -l '*maas*' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================-====================================-============-=================================================
ii maas 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all "Metal as a Service" is a physical cloud and IPAM
ii maas-cli 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS client and command-line interface
un maas-cluster-controller <none> <none> (no description available)
ii maas-common 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS server common files
ii maas-dhcp 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS DHCP server
ii maas-dns 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS DNS server
ii maas-proxy 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS Caching Proxy
ii maas-rack-controller 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all Rack Controller for MAAS
ii maas-region-api 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all Region controller API service for MAAS
ii maas-region-controller 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all Region Controller for MAAS
un maas-region-controller-min <none> <none> (no description available)
un python-django-maas <none> <none> (no description available)
un python-maas-client <none> <none> (no description available)
un python-maas-provisioningserver <none> <none> (no description available)
ii python3-django-maas 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS server Django web framework (Python 3)
ii python3-maas-client 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS python API client (Python 3)
ii python3-maas-provisioningserver 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS server provisioning libraries (Python 3)

dpkg -l '*juju*' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-================================-============-============================================
ii juju 2.0-beta7-0ubuntu1~16.04.2~juju1 all next generation service orchestration system
ii juju-2.0 2.0-beta7-0ubuntu1~16.04.2~juju1 amd64 Juju is devops distilled - client
un juju-core <none> <none> (no description available)
un juju2 <none> <none> (no description available)

juju add-machine --constraints spaces=mgmt,^public-api,^tunnel,^storage lxd:0

ubuntu@ac1:~$ sudo lxc list
+----------------------+---------+--------------------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+----------------------+---------+--------------------------------+------+------------+-----------+
| juju-machine-0-lxd-3 | RUNNING | 10.192.228.56 (eth0) | | PERSISTENT | 0 |
| | | 192.168.101.56 (eth1) | | | |
| | | 192.168.102.56 (eth2) | | | |
| | | 10.192.229.56 (eth3) | | | |
+----------------------+---------+--------------------------------+------+------------+-----------+

Revision history for this message
Dimiter Naydenov (dimitern) wrote :

FWIW spaces constraints (or any other kind for that matter) do not apply to containers, only to machines. The `juju deploy --bind` command is meant to be the way to specify required connectivity (e.g. --bind '<name>=<space> ...') and thus imply the minimum number of NICs needed. However, --bind does not (yet) work like that for containers.

Curtis Hovey (sinzui)
tags: added: lxc maas-provider network
tags: added: spaces
Revision history for this message
James Tunnicliffe (dooferlad) wrote :

So, this will be fixed once our --bind support grows the needed parts for containers.

Changed in juju-core:
status: New → Triaged
importance: Undecided → High
affects: juju-core → juju
Changed in juju:
milestone: none → 2.1.0
John A Meinel (jameinel)
Changed in juju:
status: Triaged → In Progress
assignee: nobody → John A Meinel (jameinel)
Revision history for this message
John A Meinel (jameinel) wrote :

The group of fixes for only bridging the devices that we need for containers landed in 2.1b5

Changed in juju:
status: In Progress → Fix Committed
milestone: 2.1.0 → 2.1-rc1
Curtis Hovey (sinzui)
Changed in juju:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.