archinstall icon indicating copy to clipboard operation
archinstall copied to clipboard

2025.08.01 KeyError: 'installation_session'

Open DrPsychick opened this issue 6 months ago • 3 comments

Which ISO version are you using?

2025-08-01

The installation log

[2025-08-11 12:01:49] - INFO - Fetching Arch Linux package database...
[2025-08-11 12:01:49] - INFO - Checking version...
[2025-08-11 12:01:49] - DEBUG - Failed to check for package upgrades: archinstall
[2025-08-11 12:01:49] - DEBUG - No archinstall upgrades found
[2025-08-11 12:01:49] - INFO - Found a tailored profile for this machine called: "52-54-00-12-34-56"
[2025-08-11 12:01:59] - ERROR - Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/archinstall/__init__.py", line 104, in run_as_a_module
    rc = main()
  File "/usr/lib/python3.13/site-packages/archinstall/__init__.py", line 94, in main
    importlib.import_module(mod_name)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/lib/python3.13/site-packages/archinstall/scripts/unattended.py", line 19, in <module>
    install_session = storage['installation_session']
                      ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'installation_session'

[2025-08-11 12:01:59] - WARNING - Archinstall experienced the above error. If you think this is a bug, please report it to
https://github.com/archlinux/archinstall and include the log file "/var/log/archinstall/install.log".

Hint: To extract the log from a live ISO
curl -F'file=@/var/log/archinstall/install.log' https://0x0.st

describe the problem

Description of the issue

Related/similar to #3517

Unattended installation (build image with packer) works fine with 2025-07-01, but fails with "KeyError: storage['installation_session']" with 2025-08-01, using arch install 3.0.9.

command after booting from ISO: archinstall --config-url http://.../config.json --creds-url http://.../creds.json --silent

Config:

[...]
"profile_config": null,
[...]
"script": "unattended"
[...]

I also tried "profile_config": {"profile": {"main": "Minimal"}} but this runs into the same error.

DrPsychick avatar Aug 11 '25 12:08 DrPsychick

Can you try running it with

... "profile_config": { "profile": { "main": "Minimal" } }, ...

and don't use the --script unattended but simply

archinstall --config /tmp/user_configuration.json --creds /tmp/user_credentials.json --silent

that should work.

@Torxed From the code of unattended.py I'm struggling to grasp what this script is actually intended to do? Isn't this basically what --silent is meant to accomplish?

svartkanin avatar Aug 12 '25 11:08 svartkanin

Yes, that seems to work indeed, thank you!

In essence are you saying that the unattended script in its current form is useless?

DrPsychick avatar Aug 13 '25 09:08 DrPsychick

Yes pretty much. I'm also not entirely sure what it's intention is/was

From https://github.com/archlinux/archinstall?tab=readme-ov-file#unattended-installation-based-on-mac-address

Archinstall comes with an unattended example which will look for a matching profile for the machine it is being run on, based on any local MAC address. For instance, if the machine the code is executed on has the MAC address 52:54:00:12:34:56 it will look for a profile called 52-54-00-12-34-56.py. If it's found, the unattended installation will begin and source that profile as its installation procedure.

So this would indicate to me that there would need to be an existing profile with the devices MAC address. So I interpret this as a user needs to add that first.

svartkanin avatar Aug 13 '25 10:08 svartkanin