Commit Graph

27 Commits

Author SHA1 Message Date
Tom Weininger c03e9c39d2 Test new HSTS feature
Test HTTP Strict Transport Security with Octavia.

Partial-Bug: #2017972
Change-Id: Ie54714015e943fd1cb75ca95f8cf241fbc99268c
2024-04-23 18:53:25 +02:00
Omer 427701e776 Add missing cleanups after octavia resources creation
In some of the tests, cleanups were missing after creating Octavia
resources.

This patch adds the missing cleanups.

Change-Id: I848e08295580709fa739df2d216dad0efd19a795
2024-02-22 03:17:47 -05:00
Zuul e7f794e685 Merge "Add h2 traffic/scenario test" 2023-05-03 10:28:27 +00:00
Michael Johnson 554873fc00 Fix the pool client auth test
There was an intermittent test failure in the
test_pool_reencryption_client_authentication test where members are detected
as unbalanced. This was due to the time it takes for the health monitor to
bring the member back into the pool.
This change adds a waiter for the members to go operating_status ONLINE before
checking for balanced member requests.

Story: 2010660
Task: 47710
Change-Id: Ibb1f351c77f3ed7a0c69c8295973f77ab2069dad
2023-03-24 21:25:05 +00:00
Omer 6590e6e6ee Add h2 traffic/scenario test
This patch adds a test where we test both h2 and HTTP traffic on the
same load balancer.

For this purpose, we deploy an HTTP listener, a TERMINATED_HTTPS
listener with h2 alpn protocols, and an HTTP pool with h2 alpn protocol
and backend re-encryption.

Change-Id: I470268c91cce18a00baf3fb1f721299bf4662e13
2023-02-21 12:55:00 +01:00
Michael Johnson 4a61eeb5de Add scenario test for Prometheus over TLS
This patch adds a scenario test for Prometheus listeners using TLS with
client authentication.

Change-Id: Idc68a6fb0423d7682be861429d8e09f3d8b24771
2022-11-21 23:44:27 +00:00
Michael Johnson 031ecca513 Adds a pool client authentication scenario test
This patch adds a pool client authentication scenario test that uses
test servers that require client authentication.

Change-Id: Id5b200954cdf02280d31ed910012a1591a2d2697
2022-09-22 18:57:35 +00:00
Gregory Thiemonge 2f975b31c9 Fix TLS*_METHOD for old pyopenssl releases
The TLS_METHOD constant was introduced in pyopenssl 21.0.0 [0], but some
older Octavia branches (from train to victoria) still use older releases
(19.1.0 for victoria) and then don't support it. Switch back to the
previous the SSL methods if the new constanst doesn't exist.

[0] 5dc698861c

Change-Id: Ib0eeb1136c168fcc32326f4ed8b008fb7f193a30
2022-07-11 14:33:58 +02:00
Gregory Thiemonge 6b2be2fea3 Remove deprecated OpenSSL methods
TLSv1_2_METHOD and SSLv23_METHOD are deprecated in OpenSSL [0], update
SSL.Context to use the generic TLS_METHOD.

This change also fixes the c9s-based FIPS jobs (they don't support
TLSv1.2).

[0] https://www.pyopenssl.org/en/stable/api/ssl.html#context-objects

Story 2009942
Task 44847

Change-Id: I39e293db39d2a9287b581833cfe9fd469f701a7c
2022-05-02 08:11:44 +02:00
Michael Johnson 74b6f2ff50 Adds a pool re-encryption scenario test
This patch adds a pool re-encryption scenario test that covers
TLS enabled pools, pools with CA validation, and pools with
certificate revocation lists.

Co-Authored-By: Gregory Thiemonge <gthiemon@redhat.com>

Change-Id: Ib3d8d766b8eb358b48da74f8634f6d24510394b4
2021-04-02 16:20:26 +00:00
Gregory Thiemonge 3bc1f4decd Fix scenario tests issue with immutable LBs
Wait for the loadbalancer to become ACTIVE after deleting an
healthmonitor or a listener, to ensure the next test uses a LB in a
non-transitional state.

This also fixes the cidrs tests that were using the wrong waiter
timeouts.

This patch also moves individual deletion of children resources in class
tear down to a more performant way by cascade deleting the load
balancer.

Story: 2008219
Task: 41008

Depends-On: https://review.opendev.org/#/c/757604/
Depends-On: https://review.opendev.org/#/c/757840/
Depends-On: https://review.opendev.org/#/c/757841/
Depends-On: https://review.opendev.org/#/c/757842/

Co-Authored-By: Carlos Goncalves <cgoncalves@redhat.com>
Change-Id: I6a4eed7269e4f502bd0fc8613cb4ec4da13890e7
2020-10-19 10:30:00 +02:00
Zuul 67249477d8 Merge "Add HTTP/2 tempest scenario tests for listeners" 2020-09-22 10:17:30 +00:00
Zuul e054755196 Merge "Add ALPN protocol scenario tests" 2020-09-22 02:18:04 +00:00
Michael Johnson 89bdbcd125 Adjust scenario tests for NotImplemented skip
This is a patch to restructrue the scenario tests to use the
new skip_if_not_implemented capability.

Change-Id: I49a7fb6650030f2a1115c6d42442062bd33415fd
2020-09-03 17:10:56 -07:00
Carlos Goncalves 909aa66ac2 Add HTTP/2 tempest scenario tests for listeners
Depends-On: https://review.opendev.org/#/c/744905/
Depends-On: https://review.opendev.org/#/c/747932/
Change-Id: I90594ab948c74711682c9bb14d37d1e1d7b1beeb
2020-08-25 14:10:23 +00:00
Carlos Goncalves f7718ef862 Add ALPN protocol scenario tests
Depends-On: https://review.opendev.org/#/c/744520/
Change-Id: I4ae7a03d2248c970d7bcd3fe8a43a43ca48d5084
2020-08-25 13:53:30 +00:00
Michael Johnson beb1cbaebb Fix TLS client auth tests for older amphora
Older amphora have a verison of HAProxy that does not support TLS1.3.
This means that the error returned when the client authentication
certificate is required, but improper is different between the versions.

This patch makes the test more generic to pass when the proper
exception is raised, but will no longer validate the error string
contents as this string varies across the protocol versions used.

Change-Id: Ic08135fdf5fb2e8cf35852bf065a885327a852fa
2020-06-11 17:29:44 +00:00
Brian Haley 0ae7f108b9 Use same flake8 extensions as Octavia
Enabled the same flake8 extensions as the Octavia tree,
fixing the bugs that they now caught.

Trivialfix

Change-Id: I0fc3f5e3a48dc9dc0286cf9b11847a77573ac411
2020-03-20 11:14:44 -04:00
Ann Kamyshnikova eec4229363 Use TLSv1.2 SSL context for barbican tests
Required for usage  OSWAP "B" default ciphers.

Story: 2006627


Change-Id: Ie45fe828cf8098b5d9e453d1fea831578ed635e7
2020-03-12 10:13:57 +00:00
Zuul 94c0b7a19f Merge "Run tests with algorithm supported by provider driver" 2019-12-27 05:20:21 +00:00
Maciej Józefczyk b6df5f8143 Run tests with algorithm supported by provider driver
This patch adds map of supported algorithms by
provider drivers. For a first iteration lets select
the first from supported algorithms to be used as
a default and run the tests with it.

In addition this patch splits check_members_balanced()
into subfunctions related to the algorithm
that is validated.

Story: 2006264
Task: 35972

Change-Id: Id055763f35b487da539eddfe802c543a11246503
2019-12-10 10:12:30 +00:00
Michael Johnson 0476294e4f Add a mixed HTTP and HTTPS scenario test
This patch adds a scenario test covering the "Deploy HTTP and TLS-terminated
HTTPS load balancing on the same IP and backend" usecase from the Octavia
"Basic Load Balancing Cookbook".
It creates a load balancer with two listeners, one HTTPS and one HTTP, that
point to the same backend pool of members. It then checks that the members
are balanced via both listeners.

Change-Id: Ic80eaa10645466ccaffbb19784be6efabeb92aed
2019-11-28 10:11:27 +01:00
Michael Johnson 6378663837 Add listener client authentication scenario tests
This patch adds scenario tests that cover the listener client
authentication features of TLS_TERMINATED listeners.

Depends-On: https://review.opendev.org/#/c/693586/
Change-Id: Ic3a9fa1995709378b68e64aea51e1799867c1bb0
2019-11-10 08:53:35 +00:00
Michael Johnson 402de7d80c Add TLS SNI scenario tests
This patch adds scenario tests that exercise the SNI capabilities
of the Octavia TLS offloading.

Depends-On: https://review.opendev.org/690444
Change-Id: I4bbd103e34997dd6b1bb64cb5d69b5135c6e26ea
2019-11-08 14:23:09 -08:00
Carlos Goncalves 9777f1154e Drop requirement on octavia-lib
octavia-lib is only required to get a constant which actually should be
in the octavia-tempest-plugin codebase like other protocols are.

Change-Id: I269da85a9a7adabce340aa436d9457b12dee6e36
2019-05-03 11:28:02 -06:00
Arx Cruz a1c25b3b64 Fix barbican service_available check
Tempest plugins should not explicitly set option from other plugins. The
change I7013888f94261d94e1cd4c3167dc84da7125d1da set
service_available.barbican to false if the barbican plugin doesn't
exist, but cause duplicate error if both are installed. The right way to
check if a service is available or not is checking if the attribute
exists and set the default to false. This patch fix the duplicate error.

Depends-On: https://review.openstack.org/#/c/639153/
Change-Id: I1ba353328e759391cc6a46d95b74c85c4cea6d92
Closes-Bug: 1817154
2019-03-07 13:54:49 +00:00
Michael Johnson 0a0f9b342a Add a TLS scenario using Barbican
This patch adds a TLS load balancer scenario test using Barbican.

Story: 1627383
Task: 5149

Change-Id: I7013888f94261d94e1cd4c3167dc84da7125d1da
2019-01-08 09:52:04 -08:00