Skip to content

CI tests fixes (ADE related)#450

Merged
dmbaturin merged 16 commits intovyos:mainfrom
omnom62:ade-fixes
Apr 3, 2026
Merged

CI tests fixes (ADE related)#450
dmbaturin merged 16 commits intovyos:mainfrom
omnom62:ade-fixes

Conversation

@omnom62
Copy link
Copy Markdown
Contributor

@omnom62 omnom62 commented Mar 13, 2026

Change Summary

Sanity workflow is using ubuntu-latest, which, in combination with the recent change to tox-ansible ansible/tox-ansible@10d45dc breaks tests for py.3.13 and py3.14 in our environment due to missing dependency.

The change:

  1. set ignore files for action files (since symbolic links are not honoured by ADE any more)
  2. set local tox-ansible.ini to temporary skipp sanity checks for py13 and py14

The issue against upstream workflow is raised ansible/ansible-content-actions#99

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe):

Related Task(s)

Related PR(s)

Component(s) name

Proposed changes

How to test

Test results

  • Sanity tests passed
  • Unit tests passed

Tested against VyOS versions:

  • 1.4.2
  • 1.5.q2

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • I have run the ansible sanity and unit tests
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have added unit tests to cover my changes
  • I have added a file to changelogs/fragments to describe the changes

@omnom62 omnom62 requested a review from a team as a code owner March 13, 2026 21:08
@omnom62 omnom62 marked this pull request as draft March 13, 2026 21:08
@omnom62 omnom62 changed the title WIP CI tests fixes (ADE related) CI tests fixes (ADE related) Mar 16, 2026
@omnom62 omnom62 marked this pull request as ready for review March 16, 2026 10:28
Copy link
Copy Markdown
Member

@dmbaturin dmbaturin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All checks now pass so I can't see any objections.

@gaige
Copy link
Copy Markdown
Contributor

gaige commented Mar 29, 2026

@omnom62 what dependency was missing? This is removing a lot of tests from action. Can you describe a bit more what was failing here?

@omnom62
Copy link
Copy Markdown
Contributor Author

omnom62 commented Mar 29, 2026

@omnom62 what dependency was missing? This is removing a lot of tests from action. Can you describe a bit more what was failing here?

Sure, @gaige
Our CI workflow uses upstream ansible-content-action to invoke sanity tests from here https://github.com/ansible/ansible-content-actions/blob/main/.github/workflows/sanity.yaml
In turn, the action there builds tox-ansible.ini based on the other dependency https://github.com/ansible/tox-ansible (unless local tox-ansible is present).
Recently, tox-ansible had a change to delegate the test environment installation to ADE ansible/tox-ansible@10d45dc, which introduced two problems:

  1. ADE detects a need to use ansible-libssh and tries deploy it and fails because of the missing libssh in 3.13 and 3.14 based containers:
    https://github.com/vyos/vyos.vyos/actions/runs/22828001777/job/66516984993?pr=190
    /tmp/.tmp-ansible-pylibssh-pep517-2b4vp9a5/src/src/pylibsshext/session.c:1137:10: fatal error: libssh/libssh.h: No such file or directory
    1137 | #include "libssh/libssh.h"
    |
    I temporary disabled the check for 3.13 and 3.14 in local tox-ansible.ini https://github.com/omnom62/vyos.vyos/blob/ebb995f763b622c7dad557ab53a33e22a7fdca95/tox-ansible.ini and raised issue with the upstream Sanity tests are failing for py3.13 and py3.14 due to ADE and missing libssh ansible/ansible-content-actions#99
    I was not able to fix the upstream action,

  2. ADE cannot be disabled apparently.
    Next class of errors was due to ADE not honouring symbolic links vyos.py -> all our modules in plugins/action. They either have to be real files (with the same content) or put into the ingore files - we had exercised this method with plugins/action/vyos.py, so I tried and do the same for the symlinks to stop sanity failing. The ignore was only for anslible-plugin-doc.
    sanity-py3.11-2.18: commands[0]> bash -c 'cd /home/runner/work/vyos.vyos/vyos.vyos/.tox/sanity-py3.11-2.18/lib/python3.11/site-packages/ansible_collections/vyos/vyos && ansible-test sanity --local --requirements --python 3.11' Running sanity test "action-plugin-docs" Installing requirements for Python 3.11 [venv] ERROR: Found 35 action-plugin-docs issue(s) which need to be resolved: ERROR: plugins/action/banner.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/bgp_address_family.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/bgp_global.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/command.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/config.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/facts.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/firewall_global.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/firewall_interfaces.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/firewall_rules.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/hostname.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/interface.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/interfaces.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/l3_interface.py:0:0: action plugin has no matching module to provide documentation ERROR: plugins/action/l3_interfaces.py:0:0: action plugin has no matching module to provide documentation
    As far as I can see. all other sanity checks run OK

Hope, this clarifies. What is your idea?

@gaige
Copy link
Copy Markdown
Contributor

gaige commented Mar 29, 2026

@omnom62 I hear you on the action plugins. Maybe it's time for us to re-evaluate if those are actually necessary. As far as I can see they only serve the purpose to cause an error message if you attempt to use anything other than network_cli. I'm not sure that's worth the additional maintenance hassle. But, that's probably a different discussion.

I'm much more concerned about the removal of more recent python versions. Not testing on the current and immediately previous versions seems like a bad idea. I see you added libssh-dev to the bindeps file, so that didn't help. Do we need pylibssh for the testing?

@omnom62
Copy link
Copy Markdown
Contributor Author

omnom62 commented Mar 29, 2026

@omnom62 I hear you on the action plugins. Maybe it's time for us to re-evaluate if those are actually necessary. As far as I can see they only serve the purpose to cause an error message if you attempt to use anything other than network_cli. I'm not sure that's worth the additional maintenance hassle. But, that's probably a different discussion.

I'm much more concerned about the removal of more recent python versions. Not testing on the current and immediately previous versions seems like a bad idea. I see you added libssh-dev to the bindeps file, so that didn't help. Do we need pylibssh for the testing?

We do not need it for the testing, yet ADE somehow adds this as a dependency regardless the bindep.txt. Tests for earlier versions of Python do not exhibit this issue - I may be need to review (but it can well be the libssh is included in those containers)

@omnom62
Copy link
Copy Markdown
Contributor Author

omnom62 commented Mar 29, 2026

I am getting more convinced that we need own CI, etc actions

@gaige
Copy link
Copy Markdown
Contributor

gaige commented Mar 29, 2026

Let’s continue to discuss. I’m going to unblock this.

Comment thread bindep.txt
@dmbaturin dmbaturin merged commit fdc70e9 into vyos:main Apr 3, 2026
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants