Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qubes 4.2.0-rc5 install of fedora-38-xfce template failed in the 2 stage of the installer #8735

Closed
nestire opened this issue Nov 29, 2023 · 3 comments · Fixed by QubesOS/qubes-initial-setup#1
Labels
affects-4.2 This issue affects Qubes OS 4.2. C: installer diagnosed Technical diagnosis has been performed (see issue comments). P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. pr submitted A pull request has been submitted for this issue. r4.2-host-stable
Milestone

Comments

@nestire
Copy link

nestire commented Nov 29, 2023

Setup:

Qubes 4.2.0-rc5
Nitropad NS50 with Heads

Brief summary

fedora-38-xfce fails to install during the setup in the 2. stage of the install.
We use in our oem a kickstarter based install, that forces User Creation also in the 2. Stage. Other then that nothing changed in the image.
When checking the disk after the install I can see that the volumes are created for the fedora-38 template.
Here the relevant Log.
fail.log

The Default Qubes install worked so I suspect the issue has todo something with the kickstarter based install

Steps to reproduce

  1. Use this kickstarter file for the install:
#version=DEVEL
%pre
password="PleaseChangeMe"
echo "autopart --type thinp --encrypted --passphrase=\"$password\"" > /tmp/part-include
%end

# Use graphical install
graphical
# clear disk
zerombr
# Keyboard layouts
keyboard --vckeymap=de --xlayouts='de'
# System language
lang de_DE.UTF-8
# Network information
network  --hostname=dom0
# System timezone
timezone Europe/Berlin --utc
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader --location=mbr --boot-drive=nvme0n1
#Root password
#rootpw --lock
#FIXME for testing
rootpw --plaintext PleaseChangeMe
user --name test --password PleaseChangeMe
# Disk partitioning information
%include /tmp/part-include


# Poweroff after installation
poweroff

%packages
@^qubes-xfce
%end

  1. in the 2. Stage choose only the fedora-38 template (did not try it yet with debian)

Expected behavior

  • finished clean install

Actual behavior

  • no templates are installed

Logs

Nov 29 13:26:30 dom0 qubesd[1880]: vm.fedora-38-xfce: Creating directory: /var/lib/qubes/vm-templates/fedora-38-xfce
Nov 29 13:26:30 dom0 lvm[1552]: No longer monitoring thin pool qubes_dom0-vm--pool.
Nov 29 13:26:30 dom0 lvm[1552]: Monitoring thin pool qubes_dom0-vm--pool-tpool.
Nov 29 13:26:30 dom0 qubesd[1880]: Updating appmenus for 'fedora-38-xfce' in 'dom0'
Nov 29 13:26:30 dom0 qubesd[1880]: unhandled exception while calling src=b'dom0' meth=b'admin.vm.Create.TemplateVM' dest=b'dom0' arg=b'' len(untrusted_payload)=31
Nov 29 13:26:30 dom0 qubesd[1880]: Traceback (most recent call last):
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubes/api/__init__.py", line 297, in respond
Nov 29 13:26:30 dom0 qubesd[1880]:     response = await self.mgmt.execute(
Nov 29 13:26:30 dom0 qubesd[1880]:                ^^^^^^^^^^^^^^^^^^^^^^^^
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubes/api/admin.py", line 1129, in _vm_create
Nov 29 13:26:30 dom0 qubesd[1880]:     await vm.create_on_disk(pool=pool, pools=pools)
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubes/vm/qubesvm.py", line 1812, in create_on_disk
Nov 29 13:26:30 dom0 qubesd[1880]:     await self.fire_event_async('domain-create-on-disk')
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubes/events.py", line 234, in fire_event_async
Nov 29 13:26:30 dom0 qubesd[1880]:     effect = task.result()
Nov 29 13:26:30 dom0 qubesd[1880]:              ^^^^^^^^^^^^^
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubesappmenusext/__init__.py", line 112, in create_on_disk
Nov 29 13:26:30 dom0 qubesd[1880]:     await self.update_appmenus(vm)
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubesappmenusext/__init__.py", line 72, in update_appmenus
Nov 29 13:26:30 dom0 qubesd[1880]:     await guivm.run_service_for_stdio("qubes.UpdateAppMenusFor+" + vm.name)
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubes/vm/adminvm.py", line 313, in run_service_for_stdio
Nov 29 13:26:30 dom0 qubesd[1880]:     p = await self.run_service(*args, **kwargs)
Nov 29 13:26:30 dom0 qubesd[1880]:         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 29 13:26:30 dom0 qubesd[1880]:   File "/usr/lib/python3.11/site-packages/qubes/vm/adminvm.py", line 276, in run_service
Nov 29 13:26:30 dom0 qubesd[1880]:     user = qubes_group.gr_mem[0]
Nov 29 13:26:30 dom0 qubesd[1880]:            ~~~~~~~~~~~~~~~~~~^^^
Nov 29 13:26:30 dom0 qubesd[1880]: IndexError: list index out of range
@nestire nestire added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug labels Nov 29, 2023
@nestire nestire changed the title Qubes 4.2.0-rc5 failed install of fedora-38-xfce template in the 2 stage of the installer Qubes 4.2.0-rc5 install of fedora-38-xfce template failed in the 2 stage of the installer Nov 29, 2023
@marmarek
Copy link
Member

marmarek commented Nov 29, 2023

Is the user created already at this stage? (check earlier in the log)

BTW, you may like this new feature for the OEM install: QubesOS/qubes-lorax-templates#19 (that PR description is the only documentation of it right now...)

@nestire
Copy link
Author

nestire commented Nov 29, 2023

Ok the Problem happens if there is no user in the group qubes after adding the test user to this group I was able to install the template.

Since the user creation if not set during the 1. stage seems to happen after the template install this triggers.

@nestire
Copy link
Author

nestire commented Nov 29, 2023

Uh that is a nice helpful option, thanks for the hint.

@andrewdavidwong andrewdavidwong added C: installer needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. affects-4.2 This issue affects Qubes OS 4.2. labels Nov 30, 2023
marmarek added a commit to marmarek/qubes-initial-setup that referenced this issue Nov 30, 2023
Normally user is created in anaconda. But with OEM install, it's created
in initial setup, and that step was always skipped due to a bug in
ProgressSpoke().
See patch description for details.

Fixes QubesOS/qubes-issues#8735
@andrewdavidwong andrewdavidwong added diagnosed Technical diagnosis has been performed (see issue comments). pr submitted A pull request has been submitted for this issue. and removed needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. labels Dec 2, 2023
@andrewdavidwong andrewdavidwong added this to the Release 4.2 milestone Dec 2, 2023
marmarek added a commit to QubesOS/openqa-tests-qubesos that referenced this issue Jan 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-4.2 This issue affects Qubes OS 4.2. C: installer diagnosed Technical diagnosis has been performed (see issue comments). P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. pr submitted A pull request has been submitted for this issue. r4.2-host-stable
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants