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

Add integration tests for eAPI with SSL #393

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

ClausHolbechArista
Copy link

@ClausHolbechArista ClausHolbechArista commented Dec 19, 2022

Depends-on: ansible-collections/ansible.netcommon#494

SUMMARY

Add integration tests for eAPI with SSL

There is no coverage for SSL with eAPI, which would have shown the SSL Cipher issue introduced with Python 3.10. In Python 3.10 the default ciphers are no longer compatible with current Arista EOS versions, so eAPI connection fail with [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997).

The issue can be worked around by supplying ciphers manually. Support for this went into ansible-core 2.14 and is being implemented in ansible.netcommon in ansible-collections/ansible.netcommon#494.

This PR add test cases for regular eos_command via eAPI with SSL. The test case is expected to fail with Python3.10 with the error message mentioned above.
For ansible-core >= 2.14 another test will run setting the ansible_httpapi_ciphers as introduced in the ansible.netcommon PR referenced above.

This PR will not pass CI until ansible-collections/ansible.netcommon#494 has been merged, so it will be left in draft until then.

ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME

Integration Tests

ADDITIONAL INFORMATION

@softwarefactory-project-zuul
Copy link

@ClausHolbechArista ClausHolbechArista marked this pull request as ready for review February 10, 2023 16:42
@Qalthos
Copy link
Contributor

Qalthos commented Feb 10, 2023

recheck

@softwarefactory-project-zuul
Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/460a0d91c290491e94e9a26137abadb9

✔️ ansible-test-network-integration-eos-httpapi-python39-stable214 SUCCESS in 39m 11s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable213 SUCCESS in 36m 05s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable212 SUCCESS in 35m 45s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable211 SUCCESS in 35m 21s
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario01 SUCCESS in 32m 39s (non-voting)
ansible-test-network-integration-eos-network_cli-python39-stable214-scenario02 FAILURE in 32m 29s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario01 SUCCESS in 36m 06s (non-voting)
ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario02 FAILURE in 32m 56s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario01 SUCCESS in 32m 21s (non-voting)
ansible-test-network-integration-eos-network_cli-python39-stable213-scenario02 FAILURE in 37m 39s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario01 SUCCESS in 34m 34s (non-voting)
ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario02 FAILURE in 31m 36s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario01 SUCCESS in 30m 57s (non-voting)
ansible-test-network-integration-eos-network_cli-python39-stable212-scenario02 FAILURE in 38m 46s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario01 SUCCESS in 35m 26s (non-voting)
ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario02 FAILURE in 36m 37s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario01 SUCCESS in 35m 32s (non-voting)
ansible-test-network-integration-eos-network_cli-python39-stable211-scenario02 FAILURE in 36m 16s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario01 SUCCESS in 31m 33s (non-voting)
ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario02 FAILURE in 37m 01s (non-voting)
✔️ build-ansible-collection SUCCESS in 8m 33s
✔️ ansible-tox-linters SUCCESS in 10m 17s
ansible-galaxy-importer RETRY_LIMIT in 15s

@softwarefactory-project-zuul
Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/ed806d754a7249fd9f7a4d8b0bd00304

✔️ ansible-test-network-integration-eos-httpapi-python39-stable214 SUCCESS in 45m 01s
ansible-test-network-integration-eos-httpapi-python39-stable213 RETRY_LIMIT in 1m 29s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable212 SUCCESS in 40m 42s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable211 SUCCESS in 39m 11s
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario01 SUCCESS in 32m 05s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario02 SUCCESS in 34m 06s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario01 SUCCESS in 35m 36s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario02 SUCCESS in 37m 06s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario01 SUCCESS in 35m 11s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario02 SUCCESS in 38m 03s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario01 SUCCESS in 35m 45s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario02 SUCCESS in 38m 26s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario01 SUCCESS in 35m 49s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario02 SUCCESS in 36m 42s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario01 SUCCESS in 36m 31s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario02 SUCCESS in 32m 54s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario01 SUCCESS in 33m 45s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario02 SUCCESS in 36m 47s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario01 SUCCESS in 33m 23s (non-voting)
ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario02 RETRY_LIMIT in 4m 19s (non-voting)
✔️ build-ansible-collection SUCCESS in 8m 47s
✔️ ansible-tox-linters SUCCESS in 10m 56s
✔️ ansible-galaxy-importer SUCCESS in 4m 51s

@softwarefactory-project-zuul
Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/74338890c79948ffaa56d982abdd5d04

✔️ ansible-test-network-integration-eos-httpapi-python39-stable214 SUCCESS in 43m 41s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable213 SUCCESS in 39m 46s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable212 SUCCESS in 39m 24s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable211 SUCCESS in 39m 29s
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario01 SUCCESS in 36m 24s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario02 SUCCESS in 37m 02s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario01 SUCCESS in 32m 19s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario02 SUCCESS in 38m 06s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario01 SUCCESS in 31m 05s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario02 SUCCESS in 37m 01s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario01 SUCCESS in 32m 23s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario02 SUCCESS in 38m 30s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario01 SUCCESS in 31m 59s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario02 SUCCESS in 36m 34s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario01 SUCCESS in 31m 01s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario02 SUCCESS in 37m 05s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario01 SUCCESS in 32m 09s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario02 SUCCESS in 40m 41s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario01 SUCCESS in 30m 38s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario02 SUCCESS in 37m 26s (non-voting)
✔️ build-ansible-collection SUCCESS in 8m 47s
ansible-tox-linters FAILURE in 10m 42s
✔️ ansible-galaxy-importer SUCCESS in 4m 29s

@ClausHolbechArista
Copy link
Author

recheck

@softwarefactory-project-zuul
Copy link

Build succeeded.
https://ansible.softwarefactory-project.io/zuul/buildset/4951d6fe2bb74688909814bd24b768d4

✔️ ansible-test-network-integration-eos-httpapi-python39-stable214 SUCCESS in 44m 02s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable213 SUCCESS in 43m 41s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable212 SUCCESS in 42m 31s
✔️ ansible-test-network-integration-eos-httpapi-python39-stable211 SUCCESS in 43m 23s
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario01 SUCCESS in 38m 13s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable214-scenario02 SUCCESS in 40m 51s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario01 SUCCESS in 37m 47s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable214-scenario02 SUCCESS in 32m 58s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario01 SUCCESS in 37m 42s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable213-scenario02 SUCCESS in 39m 45s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario01 SUCCESS in 31m 59s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable213-scenario02 SUCCESS in 38m 13s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario01 SUCCESS in 31m 05s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable212-scenario02 SUCCESS in 38m 53s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario01 SUCCESS in 34m 13s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable212-scenario02 SUCCESS in 39m 04s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario01 SUCCESS in 31m 10s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-python39-stable211-scenario02 SUCCESS in 37m 25s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario01 SUCCESS in 31m 29s (non-voting)
✔️ ansible-test-network-integration-eos-network_cli-libssh-python39-stable211-scenario02 SUCCESS in 37m 31s (non-voting)
✔️ build-ansible-collection SUCCESS in 8m 45s
✔️ ansible-tox-linters SUCCESS in 10m 44s
✔️ ansible-galaxy-importer SUCCESS in 5m 17s

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

Successfully merging this pull request may close these issues.

2 participants