MaaS 2.0 beta 5 fails to assign IP address to nodes when multiple nodes go into deploying at once
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Invalid
|
Undecided
|
Bert JW Regeer |
Bug Description
While using JuJu 2.0 to deploy a bundle we hit a snag.
Our machines have the following set up for interfaces:
bond0: auto assign from an IPv6 address pool/IPv4 address pool
bond1: auto assign from an IPv6 address pool/IPv4 address pool
bond2: auto assign from an IPv6 address pool
enp5s0f0: PXE boot/management interface
The bonds are setup to each be part of a different "fabric" and each of them have a /64 (IPv6) or /25 (IPv4) assigned to them.
When using JuJu to deploy a bundle, it attempts to have all of our nodes (~20) go into the deploying stage at the same time and it errors out on trying to assign an IP address, as evidenced by the following traceback:
2016-05-27 06:51:19 [-] Error on request (154) machine.action:
Traceback (most recent call last):
File "/usr/lib/
self.
File "/usr/lib/
return target()
File "/usr/lib/
task()
File "/usr/lib/
task()
--- <exception caught here> ---
File "/usr/lib/
result = inContext.theWork()
File "/usr/lib/
inContext.
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func_outside_
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
return action.
File "/usr/lib/
self.
File "/usr/lib/
return func_within_
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
return self._start(user, user_data)
File "/usr/lib/
return func_within_
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
self.
File "/usr/lib/
exclude_
File "/usr/lib/
auto_ip, exclude_
File "/usr/lib/
exclude_
File "/usr/lib/
raise make_serializat
django.
After this the server goes into the allocated state, and doesn't finish deploying.
We did not see issues with deploying 20 nodes without the extra configuration of IP's on the interfaces, and I believe it may be related to the fact that MaaS is having to generate IP's for all of the machines and there are race conditions on who wins what IP address.
Scratch this, it was completely unrelated to the multiple interfaces on a single node. Filing a new bug report for the actual issue.