← Back to issue list

LXDError on `pack` in 2.2

View original Github issue

Metadata

Project
charmcraft
Number
#1258
Type
issue
State
closed
Author
PietroPasotti
Labels
—
Created
Updated
Closed

Current evaluation

LXDError from Charmcraft 2.2.0 was reported fixed in 2.4.1+; the reporter confirmed 2.4.1 worked, and the maintainer closed the report in July 2024.

Resolution: closed resolved

Reason: The reporter stated that switching to Charmcraft 2.4.1 made `charmcraft pack` work. Maintainer @lengau closed the issue on 2024-07-23 saying it appeared fixed in 2.4.1+; no specific fixing commit was identified.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Bug Description ![image](https://github.com/canonical/charmcraft/assets/6230162/042005a8-48eb-4dc1-80a7-4c24846bce6e) ### To Reproduce charmcraft pack ### Environment installed: 2.2.0 (1171) 59MB classic ``` juju info v0.1 ┌──────────────┬────────────────────────────────┐ │ jhack │ 0.3.19.1.2 │ │ python │ 3.10.12 (/bin/python3) │ │ juju-* snaps │ │ │ microk8s │ MicroK8s v1.27.5 revision 5892 │ │ lxd │ 5.17 │ │ multipass │ 1.12.2 │ │ multipassd │ 1.12.2 │ │ os │ Ubuntu 22.04.3 LTS │ │ kernel │ Linux 6.2.0-32-generic x86_64 │ └──────────────┴────────────────────────────────┘ ``` ### charmcraft.yaml ```shell # Copyright 2021 Canonical Ltd. # See LICENSE file for licensing details. type: charm bases: - build-on: - name: "ubuntu" channel: "20.04" run-on: - name: "ubuntu" channel: "20.04" parts: charm: charm-binary-python-packages: [ops, PyYAML, cryptography, jsonschema] ``` ### Relevant log output ```shell 2023-09-15 09:20:17.192 Executing on host: lxc project list local: --format=yaml 2023-09-15 09:20:17.279 Set LXD instance name to 'charmcraft-alertmanager-k8s-12222867-0-0-amd64' 2023-09-15 09:20:17.279 Executing on host: lxc --project charmcraft list local: --format=yaml 2023-09-15 09:20:17.392 Executing on host: lxc --project charmcraft list local: --format=yaml 2023-09-15 09:20:17.509 Executing in container: lxc --project charmcraft exec local:charmcraft-alertmanager-k8s-12222867-0-0-amd64 -- env PATH=/usr/lo cal/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin CHARMCRAFT_MANAGED_MODE=1 cat /etc/os-release 2023-09-15 09:20:17.656 Executing in container: lxc --project charmcraft exec local:charmcraft-alertmanager-k8s-12222867-0-0-amd64 -- env PATH=/usr/lo cal/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin CHARMCRAFT_MANAGED_MODE=1 test -f /etc/craft-instance.conf 2023-09-15 09:20:17.780 Executing on host: lxc --project charmcraft file pull local:charmcraft-alertmanager-k8s-12222867-0-0-amd64/etc/craft-instance. conf /home/pietro/tmpij8if00t.tmp-craft/tmpfebx9jgv 2023-09-15 09:20:17.862 charmcraft internal error: LXDError(brief='Failed to parse instance configuration file.', details=None, resolution=None) 2023-09-15 09:20:17.863 Traceback (most recent call last): 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/bases/buildd.py", line 217, in _ensure_instance_config_compatible 2023-09-15 09:20:17.863 config = InstanceConfiguration.load( 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/bases/instance_config.py", line 126, in load 2023-09-15 09:20:17.863 return cls.unmarshal(data) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/bases/instance_config.py", line 82, in unmarshal 2023-09-15 09:20:17.863 return InstanceConfiguration(**data) 2023-09-15 09:20:17.863 File "pydantic/main.py", line 331, in pydantic.main.BaseModel.__init__ 2023-09-15 09:20:17.863 pydantic.error_wrappers.ValidationError: 1 validation error for InstanceConfiguration 2023-09-15 09:20:17.863 setup 2023-09-15 09:20:17.863 extra fields not permitted (type=value_error.extra) 2023-09-15 09:20:17.863 2023-09-15 09:20:17.863 The above exception was the direct cause of the following exception: 2023-09-15 09:20:17.863 Traceback (most recent call last): 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/lxd/lxd_provider.py", line 126, in launched_environment 2023-09-15 09:20:17.863 instance = launch( 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/lxd/launcher.py", line 176, in launch 2023-09-15 09:20:17.863 base_configuration.warmup(executor=instance) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/bases/buildd.py", line 389, in warmup 2023-09-15 09:20:17.863 self._ensure_instance_config_compatible(executor=executor, deadline=deadline) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/bases/buildd.py", line 222, in _ensure_instance_config_compatible 2023-09-15 09:20:17.863 raise BaseConfigurationError( 2023-09-15 09:20:17.863 craft_providers.bases.errors.BaseConfigurationError: Failed to parse instance configuration file. 2023-09-15 09:20:17.863 2023-09-15 09:20:17.863 The above exception was the direct cause of the following exception: 2023-09-15 09:20:17.863 Traceback (most recent call last): 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/charmcraft/main.py", line 184, in main 2023-09-15 09:20:17.863 retcode = dispatcher.run() 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_cli/dispatcher.py", line 448, in run 2023-09-15 09:20:17.863 return self._loaded_command.run(self._parsed_command_args) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/charmcraft/commands/pack.py", line 133, in run 2023-09-15 09:20:17.863 pack_method(parsed_args) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/charmcraft/commands/pack.py", line 165, in _pack_charm 2023-09-15 09:20:17.863 charms = builder.run( 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/charmcraft/instrum.py", line 152, in _f 2023-09-15 09:20:17.863 return func(*args, **kwargs) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/charmcraft/commands/build.py", line 292, in run 2023-09-15 09:20:17.863 charm_name = self.pack_charm_in_instance( 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/charmcraft/commands/build.py", line 357, in pack_charm_in_instance 2023-09-15 09:20:17.863 with self.provider.launched_environment( 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/usr/lib/python3.8/contextlib.py", line 113, in __enter__ 2023-09-15 09:20:17.863 return next(self.gen) 2023-09-15 09:20:17.863 File "/snap/charmcraft/1171/lib/craft_providers/lxd/lxd_provider.py", line 140, in launched_environment 2023-09-15 09:20:17.863 raise LXDError(str(error)) from error 2023-09-15 09:20:17.863 craft_providers.lxd.errors.LXDError: Failed to parse instance configuration file. 2023-09-15 09:20:17.863 Full execution log: '/home/pietro/.local/state/charmcraft/log/charmcraft-20230915-092016.906566.log' ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved LXDError from Charmcraft 2.2.0 was reported fixed in 2.4.1+; the reporter confirmed 2.4.1 worked, and the maintainer closed the report in July 2024.
stealth/space-bunny-alpha — closed resolved The LXDError was fixed in Charmcraft 2.4.1+; the reporter confirmed 2.4.1 worked, and the maintainer closed the report as resolved.
stealth/space-bunny-alpha — closed resolved The 2.2.0 LXD configuration parsing failure was confirmed resolved in Charmcraft 2.4.1+, and the report was closed on July 23, 2024.
stealth/space-bunny-alpha — closed resolved The 2.2.0 LXDError was fixed in 2.4.1+, which the reporter confirmed worked; the maintainer later closed the report on July 23, 2024.
qwen3.6-35b-a3b-mtp-q6 — — Fixed in v2.4.1+. The v2.2.0 LXDError during charmcraft pack resulted from a pydantic validation failure when parsing the LXD instance configuration. Upgrading resolved the issue.
qwen/qwen3.6-35b-a3b — — Resolved in version 2.4.1+. The LXDError during charmcraft pack caused by instance configuration parsing failures was fixed. The author confirmed the upgrade eliminated the error, prompting closure.
qwen/qwen3.6-35b-a3b — — Fixed in version 2.4.1+. The LXDError during charmcraft pack in v2.2 resulted from an instance configuration parsing failure. The issue was closed after the maintainer confirmed resolution in the newer release.
qwen3.6-35b-a3b-mtp-q6 — — charmcraft pack triggers an LXDError in v2.2.0 due to instance configuration parsing. The report was closed after the author verified that upgrading to v2.4.1 resolved the error. The bug is fixed in v2.4.1 and later.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#685 charmcraft pack errors with LXDError - Name can only contain alphanumeric and hyphen characters charmcraft closed Packing failures came from an upstream LXD 4.23 device-name validation regression, fixed in revision 22525 or later; no Charmcraft code change was needed.
74%
#660 `charmcraft pack` fails with error writing to lxd unix socket charmcraft closed A transient LXD socket timeout stopped packing; `charmcraft clean` restored operation, the error did not recur, and the reporter closed the report without a code fix.
72%