MAAS picks the wrong IP for curtin

Bug #1396663 reported by Peter Sabaini on 2014-11-26
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

We have a cluster with two networks, pub_net and priv_net. For hardware reasons we need to PXE boot of the pub_net, but we still want to use the priv_net for juju.

To accomodate this, we set pub_net to "Manage DHCP" and priv_net to "Manage DHCP and DNS". During curtin run, we notice that curtin tries to download root-tgz from the priv_net side of maas. This fails since that network is not up at this time.

In maasserver.preseed.pick_cluster_controller_address() it looks like maas is trying to find an already-associated IP, but this fails since the node has no leases up. As a fallback p_c_c_a() uses the first interface (sorted by db id). This happened to be the priv_net interface. Indeed, when the network def. are swapped, the correct download url is passed to curtin.

It would be better if maas would make sure to only pass in an IP for a network that curtin can actually reach.

(you do not want the contents of /var/log/maas/*, it's huge)

dpkg -l '*maas*'|cat
| 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 1.7.0+bzr3299-0ubuntu1~trusty all MAAS server all-in-one metapackage
ii maas-cli 1.7.0+bzr3299-0ubuntu1~trusty all MAAS command line API tool
ii maas-cluster-controller 1.7.0+bzr3299-0ubuntu1~trusty all MAAS server cluster controller
ii maas-common 1.7.0+bzr3299-0ubuntu1~trusty all MAAS server common files
ii maas-dhcp 1.7.0+bzr3299-0ubuntu1~trusty all MAAS DHCP server
ii maas-dns 1.7.0+bzr3299-0ubuntu1~trusty all MAAS DNS server
ii maas-proxy 1.7.0+bzr3299-0ubuntu1~trusty all MAAS Caching Proxy
ii maas-region-controller 1.7.0+bzr3299-0ubuntu1~trusty all MAAS server complete region controller
ii maas-region-controller-min 1.7.0+bzr3299-0ubuntu1~trusty all MAAS Server minimum region controller
ii python-django-maas 1.7.0+bzr3299-0ubuntu1~trusty all MAAS server Django web framework
ii python-maas-client 1.7.0+bzr3299-0ubuntu1~trusty all MAAS python API client
ii python-maas-provisioningserver 1.7.0+bzr3299-0ubuntu1~trusty all MAAS server provisioning libraries

JuanJo Ciarlante (jjo) on 2014-11-27
tags: added: canonical-bootstack canonical-is
Graham Binns (gmb) on 2014-11-27
Changed in maas:
status: New → Triaged
importance: Undecided → High
Christian Reis (kiko) on 2014-12-16
Changed in maas:
milestone: none → next
Changed in maas:
status: Triaged → Fix Committed
milestone: next → 1.9.0
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers