deployment fails when install_kvm/register_vmhost is true
Bug #1970962 reported by
Diego Mascialino
This bug affects 7 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Alberto Donato |
Bug Description
I am trying to deploy a machine with:
`maas labmaas machine deploy scnxtr distro_series=jammy install_kvm=true register_
This action ends with "Failed deployment".
I can connect to opelt via ssh, and I am able to compose a lxd VM:
```
ubuntu@opelt:~$ lxc launch ubuntu:20.04 --vm
Creating the instance
Instance name is: ample-sculpin
Starting ample-sculpin
```
Please find attached the sos report and opelt's cloud-init logs.
Related branches
~ack/maas:1970962-deploy-vmhost-pick-bridge-ip
Merged
into
maas:master
- MAAS Lander: Needs Fixing
- Alexsander de Souza: Approve
-
Diff: 133 lines (+42/-10)6 files modifiedsrc/maasserver/forms/interface_link.py (+4/-4)
src/maasserver/migrations/maasserver/0275_interface_children.py (+23/-0)
src/maasserver/models/interface.py (+1/-1)
src/maasserver/models/node.py (+3/-3)
src/metadataserver/api_twisted.py (+4/-1)
src/metadataserver/tests/test_api_twisted.py (+7/-1)
Changed in maas: | |
status: | Triaged → In Progress |
summary: |
- deployment of jammy image fails when install_kvm is true + deployment fails when install_kvm/register_vmhost is true |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
milestone: | 3.2.0 → 3.2.0-beta5 |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
VM host registration fails with the traceback below:
This happens because the boot interface doesn't have an IP, since we create a bridge and attach the physical interface to it (so that VMs can also get IPs from MAAS.
We should look at the bridge containing the boot interface for an IP.
2022-04-29 15:35:06 metadataserver. api_twisted: [critical] Failed to process status message instantly. python3. 8/threading. py", line 870, in run
self. _target( *self._ args, **self._kwargs) maas/x1/ lib/python3. 8/site- packages/ provisioningser ver/utils/ twisted. py", line 821, in worker maas/x1/ usr/lib/ python3/ dist-packages/ twisted/ _threads/ _threadworker. py", line 46, in work maas/x1/ usr/lib/ python3/ dist-packages/ twisted/ _threads/ _team.py" , line 190, in doWork maas/x1/ usr/lib/ python3/ dist-packages/ twisted/ python/ threadpool. py", line 250, in inContext maas/x1/ usr/lib/ python3/ dist-packages/ twisted/ python/ threadpool. py", line 266, in <lambda>
inContext. theWork = lambda: context.call(ctx, func, *args, **kw) maas/x1/ usr/lib/ python3/ dist-packages/ twisted/ python/ context. py", line 122, in callWithContext text(). callWithContext (ctx, func, *args, **kw) maas/x1/ usr/lib/ python3/ dist-packages/ twisted/ python/ context. py", line 85, in callWithContext maas/x1/ lib/python3. 8/site- packages/ provisioningser ver/utils/ twisted. py", line 856, in callInContext maas/x1/ lib/python3. 8/site- packages/ provisioningser ver/utils/ twisted. py", line 202, in wrapper maas/x1/ lib/python3. 8/site- packages/ metadataserver/ api_twisted. py", line 561, in _processMessageNow
self. _processMessage (node, message) maas/x1/ lib/python3. 8/site- packages/ maasserver/ utils/orm. py", line 756, in call_within_ transaction txn(*args, **kwargs) maas/x1/ lib/python3. 8/site- packages/ maasserver/ utils/orm. py", line 559, in retrier python3. 8/contextlib. py", line 75, in inner maas/x1/ lib/python3. 8/site- packages/ metadataserver/ api_twisted. py", line 469, in _processMessage
_create_ vmhost_ for_deployment( node) maas/x1/ lib/python3. 8/site- packages/ metadataserver/ api_twisted. py", line 207, in _create_ vmhost_ for_deployment addresses( [boot_if] )[0]
builtins. IndexError: list index out of range
Traceback (most recent call last):
File "/usr/lib/
File "/snap/
return target()
File "/snap/
task()
File "/snap/
task()
--- <exception caught here> ---
File "/snap/
result = inContext.theWork()
File "/snap/
File "/snap/
return self.currentCon
File "/snap/
return func(*args,**kw)
File "/snap/
return func(*args, **kwargs)
File "/snap/
result = func(*args, **kwargs)
File "/snap/
File "/snap/
return func_outside_
File "/snap/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/snap/
File "/snap/
ip = node.ip_