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

ERROR: InvocationError for command; xattr or inventory #116

Open
skwde opened this issue Apr 27, 2023 · 7 comments
Open

ERROR: InvocationError for command; xattr or inventory #116

skwde opened this issue Apr 27, 2023 · 7 comments

Comments

@skwde
Copy link

skwde commented Apr 27, 2023

The cause is different to the one in #72.

I am running on RHEL9 (Rocky9.1) and have tox/ tox-lsr in a conda environment.

$ python --version
Python 3.11.0

$ tox --version
3.28.0 imported from /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox/__init__.py
registered plugins:
    tox-lsr-2.14.1 at /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/hooks.py

$ ansible --version
ansible [core 2.14.4]
  config file = None
  configured module search path = ['/network/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/ansible
  ansible collection location = /network/user/.ansible/collections:/usr/share/ansible/collections
  executable location = /network/user/.conda/envs/ansible-tox-lsr/bin/ansible
  python version = 3.11.0 | packaged by conda-forge | (main, Jan 14 2023, 12:27:40) [GCC 11.3.0] (/network/user/.conda/envs/ansible-tox-lsr/bin/python)
  jinja version = 3.1.2
  libyaml = True

I just downloaded the latest version of https://raw.githubusercontent.com/linux-system-roles/linux-system-roles.github.io/master/download/linux-system-roles.json.

On Filesystems mounted via Network (NFS / BeeGFS) I get the following when setting

export LSR_QEMU_CACHE=/network/user/.cache/linux-system-roles
$ tox -e qemu-ansible-core-2.14 -- --image-name centos-7 tests/tests_default.yml
qemu-ansible-core-2.14 installed: ansible-core==2.14.4,beautifulsoup4==4.12.2,cffi==1.15.1,cryptography==40.0.2,Jinja2==3.1.2,MarkupSafe==2.1.2,packaging==23.1,productmd==1.35,pycparser==2.21,PyYAML==6.0,resolvelib==0.8.1,ruamel.yaml==0.17.21,six==1.16.0,soupsieve==2.4.1
qemu-ansible-core-2.14 run-test-pre: PYTHONHASHSEED='2184243967'
qemu-ansible-core-2.14 run-test: commands[0] | python /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_default.yml
Traceback (most recent call last):
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1486, in <module>    main()
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1457, in main
    runqemu(
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1146, in runqemu
    download_image(image, cache)
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 572, in download_image
    image_path = fetch_image(image_url, cache, image["name"])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 192, in fetch_image
    os.setxattr(image_tempfile.name, URL_XATTR, os.fsencode(url))
OSError: [Errno 95] Operation not supported: '/network/user/.cache/linux-system-roles/tmpjhfyfd3j'
ERROR: InvocationError for command /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_default.yml (exited with code 1)
____________________________________________________________________ summary ____________________________________________________________________ERROR:   qemu-ansible-core-2.14: commands failed

when I set

export LSR_QEMU_CACHE=/tmp

I get

$ tox -e qemu-ansible-core-2.14 -- --image-name centos-7 tests/tests_default.yml
qemu-ansible-core-2.14 installed: ansible-core==2.14.4,beautifulsoup4==4.12.2,cffi==1.15.1,cryptography==40.0.2,Jinja2==3.1.2,MarkupSafe==2.1.2,packaging==23.1,productmd==1.35,pycparser==2.21,PyYAML==6.0,resolvelib==0.8.1,ruamel.yaml==0.17.21,six==1.16.0,soupsieve==2.4.1
qemu-ansible-core-2.14 run-test-pre: PYTHONHASHSEED='1239476407'
qemu-ansible-core-2.14 run-test: commands[0] | python /beegfs/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_default.yml
ansible-galaxy [core 2.14.4]
  config file = None
  configured module search path = ['/network/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/lib/python3.11/site-packages/ansible
  ansible collection location = /network/user/.ansible/collections:/usr/share/ansible/collections
  executable location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/ansible-galaxy
  python version = 3.11.0 | packaged by conda-forge | (main, Jan 14 2023, 12:27:40) [GCC 11.3.0] (/network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
Starting galaxy collection install process
[WARNING]: The specified collections path '/network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/tmp' is not part of the configured
Ansible collections paths '/network/user/.ansible/collections:/usr/share/ansible/collections'. The installed collection will not be picked up
in an Ansible run, unless within a playbook-adjacent collections directory.
Process install dependency map
Starting collection install process
Downloading https://galaxy.ansible.com/download/ansible-posix-1.5.2.tar.gz to /network/user/.ansible/tmp/ansible-local-477088_duzxz25/tmp_lmic8p6/ansible-posix-1.5.2-cf2serjh
Installing 'ansible.posix:1.5.2' to '/network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/tmp/ansible_collections/ansible/posix'
ansible.posix:1.5.2 was installed successfully
ansible-playbook [core 2.14.4]
  config file = None
  configured module search path = ['/network/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/lib/python3.11/site-packages/ansible
  ansible collection location = /network/user/src/ansible-dev/ssh/.tox
  executable location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/ansible-playbook
  python version = 3.11.0 | packaged by conda-forge | (main, Jan 14 2023, 12:27:40) [GCC 11.3.0] (/network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with script plugin: Inventory script
(/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2) had an execution error: Traceback (most recent call last):   File
"/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2", line 11, in <module>     import fmf ModuleNotFoundError: No module named
'fmf'
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with yaml plugin: We were unable to read either
as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0)  Syntax Error while loading YAML.
mapping values are not allowed in this context  The error appears to be in '/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2':
line 30, column 4, but may be elsewhere in the file depending on the exact syntax problem.  The offending line appears to be:   try:    ^ here
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with ini plugin: /network/user/src/ansible-
dev/ssh/.tox/standard-inventory-qcow2:9: Expected key=value host variable assignment, got: os
ERROR! Completely failed to parse inventory source /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2
Traceback (most recent call last):
  File "/beegfs/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1486, in <module>    main()
  File "/beegfs/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1457, in main
    runqemu(
  File "/beegfs/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1172, in runqemu
    run_ansible_playbooks(
  File "/beegfs/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 968, in run_ansible_playbooks
    raise Exception("One or more tests failed")
Exception: One or more tests failed
ERROR: InvocationError for command /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python /beegfs/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_default.yml (exited with code 1)
____________________________________________________________________ summary ____________________________________________________________________ERROR:   qemu-ansible-core-2.14: commands failed

At least I get rid of the xattr error indicating that xattr are no supported on the network mounts.
Why are xattr actually required here?
I am new to tox and of course also tox-lsr. How do I fix the mentioned issue(s)?

@richm
Copy link
Contributor

richm commented Apr 27, 2023

Why are xattr actually required here?

Because we try to cache the qcow2 images, rather than either 1) downloading an 8GB image every time or 2) never downloading them again, and instead relying on you to know when to download a new one. We don't have a good place to store the cache metadata, so we use xattrs for that.

I am new to tox and of course also tox-lsr. How do I fix the mentioned issue(s)?

The first step is to file the issue here which you have done - thanks!

Looks like /tmp also doesn't support xattrs:

tox -e qemu-ansible-2.9 -- --cache /tmp --image-name ....
...
  File "/home/rmeggins/.local/lib/python3.11/site-packages/tox_lsr-2.14.1-py3.11.egg/tox_lsr/test_scripts/runqemu.py", line 192, in fetch_image
    os.setxattr(image_tempfile.name, URL_XATTR, os.fsencode(url))
OSError: [Errno 95] Operation not supported: '/tmp/tmpsmg38c6f'

Also, you are missing the python fmf library:

 Traceback (most recent call last):   File
"/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2", line 11, in <module>     import fmf ModuleNotFoundError: No module named
'fmf'

I'm assuming Rocky 9 is compatible with EL9, so you could try using EPEL9 to get fmf https://docs.fedoraproject.org/en-US/epel/ - then dnf -y install python3-fmf

Do you have any local persistent storage? Perhaps /var/tmp? Usually /var is some sort of local, non-networked, non-memory file system.

If you have no good place to use as a cache, then I guess you could download the qcow image file to some location, and use the --image-file argument instead of the --image-name argument:

tox -e qemu-ansible-2.9 -- --cache /tmp --image-file /path/to/centos-7.qcow2 ....

I apologize - almost all of the system roles developers use a Fedora or similar laptop as a development environment, and use ~/.cache/linux-system-roles as the cache which assumes /home is a local "regular" file system, etc.

So it will be good to get these differences into the developer docs.

@skwde
Copy link
Author

skwde commented Apr 28, 2023

No need to apologize! I am glad you help.

In my case, /tmp seems to support them,

$ getfattr /tmp/centos-7.qcow2c
getfattr: Removing leading '/' from absolute path names
# file: tmp/centos-7.qcow2c
user.dublincore.date
user.xdg.origin.url

$ attr -l /tmp/centos-7.qcow2c
Attribute "selinux" has a 36 byte value for /tmp/centos-7.qcow2c
Attribute "xdg.origin.url" has a 81 byte value for /tmp/centos-7.qcow2c
Attribute "dublincore.date" has a 29 byte value for /tmp/centos-7.qcow2c

In that sense I would say that /tmp is local (I did a standard install and /etc/fstab has no specific line for tmp thus is corresponds to the / entry) and 'persistant' (at least until it gets cleaned which is 10d in my case).

I installed fmf into the environment (https://pypi.org/project/fmf/), but first ran into tox-dev/tox#2929, i.e. tox-lsr seems to be incompatible with tox=4.*. I restricted tox=3.* and it works.
Maybe these dependencies should go into setup.{cfg,py}. Note, even though I see commits with tox 4 support here, I just ran into this with using git+https://github.com/linux-system-roles/tox-lsr@main as pip install url in my conda environment yml.

In any case, I still ran into

$ tox -e qemu-ansible-core-2.14 -- --image-name centos-7 tests/tests_match.yml
qemu-ansible-core-2.14 recreate: /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14
qemu-ansible-core-2.14 installdeps: productmd, PyYAML, ruamel.yaml, beautifulsoup4, ansible-core==2.14.*
qemu-ansible-core-2.14 installed: ansible-core==2.14.5,beautifulsoup4==4.12.2,cffi==1.15.1,cryptography==40.0.2,Jinja2==3.1.2,MarkupSafe==2.1.2,packaging==23.1,productmd==1.35,pycparser==2.21,PyYAML==6.0,resolvelib==0.8.1,ruamel.yaml==0.17.21,six==1.16.0,soupsieve==2.4.1
qemu-ansible-core-2.14 run-test-pre: PYTHONHASHSEED='2890108930'
qemu-ansible-core-2.14 run-test: commands[0] | python /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_match.yml
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/network/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/lib/python3.11/site-packages/ansible
  ansible collection location = /network/user/src/ansible-dev/ssh/.tox
  executable location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/ansible-playbook
  python version = 3.11.3 | packaged by conda-forge | (main, Apr  6 2023, 08:57:19) [GCC 11.3.0] (/network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with script plugin: Inventory script
(/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2) had an execution error: Traceback (most recent call last):   File
"/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2", line 11, in <module>     import fmf ModuleNotFoundError: No module named
'fmf'
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with yaml plugin: We were unable to read either
as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0)  Syntax Error while loading YAML.
mapping values are not allowed in this context  The error appears to be in '/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2':
line 30, column 4, but may be elsewhere in the file depending on the exact syntax problem.  The offending line appears to be:   try:    ^ here
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with ini plugin: /network/user/src/ansible-
dev/ssh/.tox/standard-inventory-qcow2:9: Expected key=value host variable assignment, got: os
ERROR! Completely failed to parse inventory source /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2
Traceback (most recent call last):
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1486, in <module>    main()
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1457, in main
    runqemu(
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1172, in runqemu
    run_ansible_playbooks(
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 968, in run_ansible_playbooks
    raise Exception("One or more tests failed")
Exception: One or more tests failed
ERROR: InvocationError for command /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_match.yml (exited with code 1)
____________________________________________________________________ summary ____________________________________________________________________ERROR:   qemu-ansible-core-2.14: commands failed

but note

$ conda list | grep fmf
fmf                       1.2.1                    pypi_0    pypi

and

$ python
Python 3.11.3 | packaged by conda-forge | (main, Apr  6 2023, 08:57:19) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import fmf
>>>

so what is going on here.

Note, I also tried /var/tmp with the same outcome, also getfattr and attr -l show the same as for the qcow2c file under /tmp.

Only after I installed the system package python-fmf it went a bit further

$ tox -e qemu-ansible-core-2.14 -- --image-name centos-7 tests/tests_match.yml
qemu-ansible-core-2.14 installed: ansible-core==2.14.5,beautifulsoup4==4.12.2,cffi==1.15.1,cryptography==40.0.2,Jinja2==3.1.2,MarkupSafe==2.1.2,packaging==23.1,productmd==1.35,pycparser==2.21,PyYAML==6.0,resolvelib==0.8.1,ruamel.yaml==0.17.21,six==1.16.0,soupsieve==2.4.1
qemu-ansible-core-2.14 run-test-pre: PYTHONHASHSEED='2738353912'
qemu-ansible-core-2.14 run-test: commands[0] | python /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_match.yml
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/network/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/lib/python3.11/site-packages/ansible
  ansible collection location = /network/user/src/ansible-dev/ssh/.tox
  executable location = /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/ansible-playbook
  python version = 3.11.3 | packaged by conda-forge | (main, Apr  6 2023, 08:57:19) [GCC 11.3.0] (/network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Local character set is now assumed as: 'utf-8'
[ERROR] standard-inventory-qcow2: Could not access VM launched from qcow2 image: /tmp/centos-7.qcow2c
qemu exited with code 0 pid 589197
Last lines of centos-7.qcow2c.guest.log:
-----END SSH HOST KEY KEYS-----
[   10.437341] cloud-init[1617]: Cloud-init v. 19.4 finished at Fri, 28 Apr 2023 05:30:58 +0000. Datasource DataSourceNoCloud [seed=/dev/sr0][dsmode=net].  Up 10.43 seconds
[  OK  ] Started Execute cloud user/final scripts.
[  OK  ] Reached target Cloud-init target.


CentOS Linux 7 (Core)
Kernel 3.10.0-1160.45.1.el7.x86_64 on an x86_64

localhost login:
Last lines of centos-7.qcow2c.qemu.log:
qemu-kvm: Machine type 'pc-i440fx-rhel7.6.0' is deprecated: machine types for previous major releases are deprecated
qemu-kvm: terminating on signal 15 from pid 589189 (/usr/bin/python3)

[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with script plugin: Inventory script
(/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2) had an execution error:
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with yaml plugin: We were unable to read either
as JSON nor YAML, these are the errors we got from each: JSON: Expecting value: line 1 column 1 (char 0)  Syntax Error while loading YAML.
mapping values are not allowed in this context  The error appears to be in '/network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2':
line 30, column 4, but may be elsewhere in the file depending on the exact syntax problem.  The offending line appears to be:   try:    ^ here
[WARNING]:  * Failed to parse /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2 with ini plugin: /network/user/src/ansible-
dev/ssh/.tox/standard-inventory-qcow2:9: Expected key=value host variable assignment, got: os
ERROR! Completely failed to parse inventory source /network/user/src/ansible-dev/ssh/.tox/standard-inventory-qcow2
Traceback (most recent call last):
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1486, in <module>    main()
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1457, in main
    runqemu(
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 1172, in runqemu
    run_ansible_playbooks(
  File "/network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py", line 968, in run_ansible_playbooks
    raise Exception("One or more tests failed")
Exception: One or more tests failed
ERROR: InvocationError for command /network/user/src/ansible-dev/ssh/.tox/qemu-ansible-core-2.14/bin/python /network/user/.conda/envs/ansible-tox-lsr/lib/python3.11/site-packages/tox_lsr/test_scripts/runqemu.py --image-name centos-7 tests/tests_match.yml (exited with code 1)
____________________________________________________________________ summary ____________________________________________________________________ERROR:   qemu-ansible-core-2.14: commands failed

@richm
Copy link
Contributor

richm commented May 10, 2023

ok - tox-lsr has been updated to support tox 4, add fmf, and several other fixes.

Not sure it will help in this situation.

Take a look at the files in the artifacts/ directory - you've already looked at the guest.log and qemu.log - also try default_provisioners.log.

Another thing - I noticed when I upgraded to fedora 37, I started to get OOM errors running qemu testing VMs. Try checking if you are hitting OOM or other system errors (I guess look at journalctl and see if anything jumps out).

@skwde
Copy link
Author

skwde commented Jun 14, 2023

I did a fresh install (with tox 4) but I still get the same issue.

Where should I look for artifacts?

@richm
Copy link
Contributor

richm commented Jun 14, 2023

I did a fresh install (with tox 4) but I still get the same issue.

Where should I look for artifacts?

Where you found the centos-7.qcow2c.guest.log that you reported in #116 (comment)

I guess let's take a step back - can you run qemu/kvm VMs on your machine? If so, can you run any of the images we use in system roles?

@skwde
Copy link
Author

skwde commented Jul 4, 2023

Hmm I never looked at a .guest.log everything I posted above was terminal ouptut.

In any case, I can run VMs.
Moreover I can also run the VM downloaded when using tox-lsr.

Though only after adjusting permissions and only as root.

If I start as regular (network) user I get

Traceback (most recent call last):
  File "/usr/bin/virt-install", line 6, in <module>
    from virtinst import virtinstall
  File "/usr/share/virt-manager/virtinst/__init__.py", line 60, in <module>
    from virtinst.install.installer import Installer
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 12, in <module>
    from . import unattended
  File "/usr/share/virt-manager/virtinst/install/unattended.py", line 18, in <module>
    from . import urlfetcher
  File "/usr/share/virt-manager/virtinst/install/urlfetcher.py", line 16, in <module>
    import requests
  File "$HOME/.local/lib/python3.9/site-packages/requests/__init__.py", line 118, in <module>
    from . import utils
  File "$HOME/.local/lib/python3.9/site-packages/requests/utils.py", line 25, in <module>
    from . import certs
  File "$HOME/.local/lib/python3.9/site-packages/requests/certs.py", line 15, in <module>
    from certifi import where
ModuleNotFoundError: No module named 'certifi'

@richm
Copy link
Contributor

richm commented Jul 5, 2023

I just don't know - there's just too many odd things that I don't see on a Fedora system - it's beyond my ability to diagnose without having the exact environment to try to debug

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants