Selecting LXD KVM Causes the machine to get stuck in Deploying Reboot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Invalid
|
High
|
Stamatis Katsaounis | ||
lxd |
Fix Released
|
Unknown
|
Bug Description
Hello MAAS Team,
While deploying a new MAAS cluster, we noticed our nodes are getting stuck in Deploying/Reboot, if LXD is selected as the KVM pod type.
MAAS Version: 3.3.5 Snaps from 3.3/stable channel (3.3.5-
Deployed OS: We tested both 22.04 (Jammy) and 20.04 (Focal) which produced the same results.
Workaround:
(1) From MAAS WebUI, go to KVM then click "Add LXD host".
(2) Complete the form and capture the generated certificate.
(3) SSH to the deploying machine and import the certificate.
(4) Back on the MAAS WebUI, complete the setup.
(5) This sets the machine in "Deployed"mode and enable creating new VM(s) using the WebUI.
More Details:
(A) It does seem that a LXD certificate was successfully created during the deployment:
ubuntu@os-node-1:~$ sudo lxc config trust ls
+------
| TYPE | NAME | COMMON NAME | FINGERPRINT | ISSUE DATE | EXPIRY DATE |
+------
| client | lxd.crt | Home-Lab | d3cf1ca2149f | Feb 5, 2024 at 5:01pm (UTC) | Feb 2, 2034 at 5:01pm (UTC) |
+------
(B) Looking into the regiond.log, this is visible (Both Jammy and Focal deployments show the same trace):
2024-02-05 17:02:34 metadataserver.
Traceback (most recent call last):
File "/usr/lib/
self.
File "/snap/
return target()
File "/snap/
task()
File "/snap/
task()
--- <exception caught here> ---
File "/snap/
result = inContext.theWork() # type: ignore[
File "/snap/
inContext.
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/
self.
File "/snap/
return func_outside_
File "/snap/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/snap/
_create_
File "/snap/
discover_
File "/snap/
raise PodProblem(
maasserver.
Please review and let me know if you need additional testing or logs.
Best,
Alan
Changed in maas: | |
status: | New → Triaged |
Changed in maas: | |
importance: | Undecided → High |
Changed in lxd: | |
status: | Unknown → Fix Released |
Changed in maas: | |
assignee: | nobody → Stamatis Katsaounis (skatsaounis) |
status: | Triaged → In Progress |
I updated to LXD to 5.20-f3dd836 and it solve the problem of "Certified Restricted". However, when I try to create a LXD vm I got another issue:
from rackd.log
2024-02-09 17:27:47 provisioningser ver.rpc. pods: [critical] server4: Failed to compose machine: RequestedMachin e(hostname= 'nasrin' , architecture= 'amd64/ generic' , cores=4, memory=20480, block_devices= [RequestedMachi neBlockDevice( size=1950000000 00, tags=['pool1'])], interfaces= [RequestedMachi neInterface( ifname= None, attach_name=None, attach_type=None, attach_ options= None, attach_vlan=None, requested_ips=[], ip_mode=None)], cpu_speed=None, known_host_ interfaces= [], pinned_cores=[], hugepages_ backed= False) python3. 10/threading. py", line 1016, in _bootstrap_inner python3. 10/threading. py", line 953, in run _target( *self._ args, **self._kwargs) maas/32469/ usr/lib/ python3/ dist-packages/ twisted/ _threads/ _threadworker. py", line 47, in work maas/32469/ usr/lib/ python3/ dist-packages/ twisted/ _threads/ _team.py" , line 182, in doWork maas/32469/ usr/lib/ python3/ dist-packages/ twisted/ python/ threadpool. py", line 244, in inContext attr-defined] maas/32469/ usr/lib/ python3/ dist-packages/ twisted/ python/ threadpool. py", line 260, in <lambda> theWork = lambda: context.call( # type: ignore[ attr-defined] maas/32469/ usr/lib/ python3/ dist-packages/ twisted/ python/ context. py", line 117, in callWithContext text(). callWithContext (ctx, func, *args, **kw) maas/32469/ usr/lib/ python3/ dist-packages/ twisted/ python/ context. py", line 82, in callWithContext maas/32469/ lib/python3. 10/site- packages/ provisioningser ver/utils/ twisted. py", line 203, in wrapper maas/32469/ lib/python3. 10/site- packages/ provisioningser ver/drivers/ pod/lxd. py", line 440, in compose self._get_ machine_ nics(request) , maas/32469/ lib/python3. 10/site- packages/ provisioningser ver/drivers/ pod/lxd. py", line 526, in _get_machine_nics rver.drivers. pod.lxd. LXDPodError: No host network to attach VM interfaces to
Traceback (most recent call last):
File "/usr/lib/
self.run()
File "/usr/lib/
self.
File "/snap/
task()
File "/snap/
task()
--- <exception caught here> ---
File "/snap/
result = inContext.theWork() # type: ignore[
File "/snap/
inContext.
File "/snap/
return self.currentCon
File "/snap/
return func(*args, **kw)
File "/snap/
result = func(*args, **kwargs)
File "/snap/
**
File "/snap/
raise LXDPodError("No host network to attach VM interfaces to")
provisioningse
Additional Info
lxc network ls ----+-- ------- -+----- ----+-- ------- ------- +------ ------- ------- ------- +------ ------- +------ ---+--- ------+ ----+-- ------- -+----- ----+-- ------- ------- +------ ------- ------- ------- +------ ------- +------ ---+--- ------+ ----+-- ------- -+----- ----+-- ------- ------- +------ ------- ------- ------- +------ ------- +------ ---+--- ------+ ----+-- ------- -+----- --...
+------
| NAME | TYPE | MANAGED | IPV4 | IPV6 | DESCRIPTION | USED BY | STATE |
+------
| br-eno1 | bridge | NO | | | | 2 | |
+------
| br-eno2 | bridge | NO | | | | 1 | |
+------