Project

General

Profile

Actions

action #167830

closed

salt-states-openqa static pipeline checks fail size:S

Added by nicksinger about 1 month ago. Updated about 1 month ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Regressions/Crashes
Target version:
Start date:
2024-10-07
Due date:
% Done:

0%

Estimated time:

Description

Observation

After merging https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1283 our pipelines fail with:

----------
          ID: kdump-conf
    Function: augeas.change
      Result: False
     Comment: State 'augeas.change' was not found in SLS 'kdump'
              Reason: 'augeas' __virtual__ returned False: augeas module could not be loaded

for example in the job "test-general-mock" https://gitlab.suse.de/openqa/salt-states-openqa/-/jobs/3195852

The MR is unrelated and it seems like we're missing dependencies for Augeas in our testing container recently. Container can be pulled with podman run --rm -it registry.opensuse.org/home/okurz/container/ca/containers/tumbleweed:salt-minion-git-core-ssh. "augeas" and "python-augeas" are installed but I found https://github.com/saltstack/salt/issues/6082#issuecomment-27234648 which mentions "libpython2_7" which is in fact missing in the container - so maybe that?

Acceptance criteria

  • AC1: CI jobs in a fixing MR work consistently

Suggestions


Related issues 1 (0 open1 closed)

Copied to openQA Infrastructure - action #168475: salt-states-openqa telegraf pipeline failing with error in libcryptoRejectedlivdywan

Actions
Actions #1

Updated by ybonatakis about 1 month ago

  • Tags set to reactive work, infra
  • Category set to Regressions/Crashes
Actions #2

Updated by ybonatakis about 1 month ago

  • Target version set to Ready
Actions #3

Updated by okurz about 1 month ago

  • Subject changed from salt-states-openqa static pipeline checks fail to salt-states-openqa static pipeline checks fail size:S
  • Description updated (diff)
  • Status changed from New to Workable
Actions #4

Updated by dheidler about 1 month ago

There is another error in the log regarding a missing python3-cryptography.
SR: https://build.opensuse.org/request/show/1206314

Actions #5

Updated by dheidler about 1 month ago · Edited

  • Status changed from Workable to In Progress
  • Assignee set to dheidler

After that package is installed, it is also possible to import the python augeas module.
This is because python3-cryptography depends on python3-cffi which was not installed before.

ab8f740c8d3a:/ # python3
Python 3.11.10 (main, Sep 09 2024, 17:03:08) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import augeas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.11/site-packages/augeas/__init__.py", line 35, in <module>
    from augeas.ffi import ffi, lib
  File "/usr/lib/python3.11/site-packages/augeas/ffi.py", line 1, in <module>
    from cffi import FFI
ModuleNotFoundError: No module named 'cffi'
>>>

SR for adding missing dependency to python-augeas: https://build.opensuse.org/request/show/1206322/changes

Actions #6

Updated by dheidler about 1 month ago

  • Status changed from In Progress to Feedback
Actions #7

Updated by dheidler about 1 month ago

augeas change is already in factory.

Actions #8

Updated by okurz about 1 month ago

https://build.opensuse.org/request/show/1206314 accepted. https://build.opensuse.org/request/show/1206341 is the according change to bring the update into openSUSE Factory. Already accepted.
I retriggered a CI job but https://gitlab.suse.de/openqa/salt-states-openqa/-/jobs/3206655 still fails the same. Maybe the container image isn't yet properly published.

Actions #9

Updated by ybonatakis about 1 month ago

  • Status changed from Feedback to In Progress

back in progress as per last comment and https://gitlab.suse.de/openqa/salt-states-openqa/-/jobs

Actions #10

Updated by okurz about 1 month ago · Edited

https://build.opensuse.org/package/show/home:okurz:container:ca/salt-minion-git-core-ssh says there is a conflict in Dockerfile but I didn't see what to fix there. I removed the link and added the dependency to Dockerfile. After a bit of waiting now the container is building: https://build.opensuse.org/package/live_build_log/home:okurz:container:ca/salt-minion-git-core-ssh/containers/x86_64

EDIT: New container image was published. I retriggered https://gitlab.suse.de/openqa/salt-states-openqa/-/jobs/3208498 which now succeeded.

Actions #11

Updated by okurz about 1 month ago

  • Priority changed from Urgent to High

I guess now we can wait until the next Tumbleweed snapshot containing the updated fix is released and the container images can then remove the workaround again, right?

Actions #12

Updated by dheidler about 1 month ago · Edited

  • Status changed from In Progress to Resolved

Looks fine at https://gitlab.suse.de/openqa/salt-states-openqa/-/jobs/3208498 after @okurz pushed the changes to https://build.opensuse.org/package/show/home:okurz:container:ca/salt-minion-git-core-ssh as well.

The container image still actually needs python3-cryptograpghy. So we need to keep that.
It is only an originally unintended side effect of me fixing the cryptography error that this also
worked around the missing dependency of augeas.

Actions #13

Updated by dheidler about 1 month ago

  • Status changed from Resolved to Feedback

It seems to actually be a bug that salt doesn't require python3-cryptography so let's fix that:
https://build.opensuse.org/request/show/1206485

Actions #14

Updated by okurz about 1 month ago

dheidler wrote in #note-12:

Looks fine at https://gitlab.suse.de/openqa/salt-states-openqa/-/jobs/3208498 after @okurz pushed the changes to https://build.opensuse.org/package/show/home:okurz:container:ca/salt-minion-git-core-ssh as well.

The container image still actually needs python3-cryptograpghy. So we need to keep that.
It is only an originally unintended side effect of me fixing the cryptography error that this also
worked around the missing dependency of augeas.

Can you please elaborate on that. Why does the container still need to explicitly install python3-cryptography? Or is that assessment obsolete with

dheidler wrote in #note-13:

It seems to actually be a bug that salt doesn't require python3-cryptography so let's fix that:
https://build.opensuse.org/request/show/1206485

?

Actions #15

Updated by dheidler about 1 month ago · Edited

It will be obsolete, once that change in salt is accepted and reached Tumbleweed.
They seem to manage salt rpm sources in git, so I created https://github.com/openSUSE/salt-packaging/pull/99

Actions #16

Updated by dheidler about 1 month ago

  • Status changed from Feedback to Resolved

I guess that the salt maintainers don't like introducing another depedency even if it means runtime crashes when loading the x509 module.
So we need to keep the dependency for the container:
https://github.com/openSUSE/salt-packaging/pull/99#issuecomment-2410793632

I have a different opinion (which I expressed again in https://github.com/openSUSE/salt-packaging/pull/99#issuecomment-2413279822) but I don't have much hope here.
So closing this ticket.

Actions #17

Updated by livdywan about 1 month ago

  • Copied to action #168475: salt-states-openqa telegraf pipeline failing with error in libcrypto added
Actions

Also available in: Atom PDF