* Update kuryr-tempest-plugin from branch 'master'
to 115d6bd490e5afff2a40df40121e8c04894d9551
- Update python classifier in setup.cfg
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg
Change-Id: I2687b8b310bc50efb077b638ba4842419789fa84
* Update kuryr-tempest-plugin from branch 'master'
to ab45b2fadbbda3d1d97856121673e874b41de209
- Merge "Cleanup py27 support"
- Cleanup py27 support
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
Change-Id: I669204f768fa84c352158bcc1f73e13bd102e449
* Update kuryr-tempest-plugin from branch 'master'
to f4a0137c3724a11bbf05ef9b421239e303c96f06
- Use py3 as the default runtime for tox
Moving on py3 as the default runtime for tox to avoid to update
this at each new cycle.
Change-Id: Ia6a5c61fa4f946ec4593176625627bd8f3e930da
* Update kuryr-tempest-plugin from branch 'master'
to 160b9a208b423b3e940d642f024c650c1eb1e6fc
- Add stable/2023.1 jobs on master gate
As 2023.1 is released, we should add its job on master
gate to keep branchless tempest plugins compatible
to stable branch.
Ref: Tempest plugins guide for stable branch testing:
- https://docs.openstack.org/tempest/latest/stable_branch_testing_policy.html
Change-Id: I2d80915b78ac024c5db5fa21d9e71f7904a58c3f
* Update kuryr-tempest-plugin from branch 'master'
to 46a98e1716caf2142830fa61a1267f7492fe342c
- Test container: use UID instead of name
Newer OpenShift version won't allow you to specify username as `USER`
instruction argument. This commit changes the test container dockerfile
to create the user with `--uid 100` and then use `100` as the argument
instead.
Depends-On: I7ed0ae76108a409bc72bc61ab7c12164e8277257
Change-Id: I7a51b3553a17c21160f76e527a61ef829610a888
* Update kuryr-tempest-plugin from branch 'master'
to 3acaa0062a59e0e8135eee980232a5d9bf5b5b0c
- Fix get subnet name in get_port_pool
Subnet name in the form of ns/{ns_name}-subnet was added
This is the form in 3.11
Change-Id: I1d1e1a5fbc0cfe4de404089110b31c4eebd95e7b
* Update kuryr-tempest-plugin from branch 'master'
to 76f0c5ac74e2a52c4fb9301e6fc7ca3a92b8b345
- Fix get subnet name in get_port_pool
Subnet name in the form of ns_uid/ns_name was added
Change-Id: Ibbca8bf7ddc1550eb6e0c3f0fcebbc31c9b77e4c
* Update kuryr-tempest-plugin from branch 'master'
to 82934553ab8afa5109ea971b5798c407318584f8
- Update tox.ini for new tox version
Seems like passenv directive in tox.ini needs to separate multiple
environment variable names by comma now. This commit updates tox.ini
to respect that.
Change-Id: Icf63fe7697b31af29ca7e1b9de5c78874f52efe1
* Update kuryr-tempest-plugin from branch 'master'
to 34255b30a21971bb4b99a6f39973d0bc24d7e113
- Add stable/zed jobs on master gate
As zed is released, we should add its job on master
gate to keep branchless tempest plugins compatible
to stable branch.
Ref: Tempest plugins guide for stable branch testing:
- https://docs.openstack.org/tempest/latest/stable_branch_testing_policy.html
Change-Id: I04b4acadd2864ab3160a97888dbb912c18951907
* Update kuryr-tempest-plugin from branch 'master'
to 0863d4ad32d1ffb83d27096abeb2a3c54487681e
- Pin stable branch jobs nodeset to Ubuntu Focal (20.04)
In 2023.1 cycle. we are moving the default distro
version of Ubuntu to Jammy (22.04)[1] so we need to pin
the nodeset for stable branch job in master gate so that
they continue run on their supporting distro version which is
Ubuntu Focal since stable/victoria.
[1] https://governance.openstack.org/tc/goals/selected/migrate-ci-jobs-to-ubuntu-jammy.html
Depends-On: https://review.opendev.org/c/openstack/kuryr-kubernetes/+/861836
Change-Id: I1cf6bd24bf00b445ccb0e87702edd84db4d5f2a1
* Update kuryr-tempest-plugin from branch 'master'
to 1569ccfd69a89f945977d9fc08271f1fab9acefc
- Fix scenraio when LB or Pool is not ready
The patch is to fix a scenario when LB or Pool ID
is not available while attempting to reconcile members.
Change-Id: I3d6e09f0a17228994032eba2fecf9f7663e6cf14
* Update kuryr-tempest-plugin from branch 'master'
to e5a94aef465264eb4fdc24174c8833ee674e7110
- Extend loadbalancer reconciliation test to cover listeners
This commit extends the loadbalancer reconcilation tempest
test to cover for when the listeners are deleted on OpenStack
Implements: blueprint reconcile-openstack-resources-with-k8s
Change-Id: If14b468e9a5f7d2c1492881d5a75ac8807030c4e
* Update kuryr-tempest-plugin from branch 'master'
to d0840287fa0bd756bc65959015d97d36cb67d44c
- Merge "Change naming (again) for networks and subnets."
- Change naming (again) for networks and subnets.
There is a need for changing names again, since namespace id is no
longer stored in description and name for net/subnet is a compound of
name and uid.
Depends-On: https://review.opendev.org/c/openstack/kuryr-tempest-plugin/+/845745
Change-Id: Ib97a597f8afb47316e77154a9bf3ced41ce48468
* Update kuryr-tempest-plugin from branch 'master'
to 28da7f63d3c37459d4366f6b38a6107e842657ae
- Use proper ApiException from kubernetes client
Seems like folks developing Python kubernetes client had move the
ApiException around. So the backward-compatible way of using it is
kubernetes.client.rest.ApiException and trying to use it by
kubernetes.client.excetpions.ApiException will not work in older library
versions. As this client is supposed to still be compatible with
stable/victoria and kubernetes==11.0.0, this commit changes the
exception module to `rest` where needed.
Change-Id: If056529d49a053970891f89d12007174f544a551
* Update kuryr-tempest-plugin from branch 'master'
to 61bfb58898815a37657a29d6a30809ba1411d09b
- Fix the crd_lb_ip not being defined.
During execution it may happen, that there will be UnboundLocalError
exception thrown for crd_lb_ip variable, due to unmet condition for
service ip not being set in the KuryrLoadbalancerCRD. Fixed by simply
defining variable.
Change-Id: Ie879ba0b9b85111ec1b906d66ec48127ce8dd1f9
* Update kuryr-tempest-plugin from branch 'master'
to 962594cc7b3f27362d8fc7b4307ee8720e8e3381
- Merge "Adapt to new OS resource names."
- Adapt to new OS resource names.
Change-Id: Id04ef0217a14fb8c3430c10d581b520e0afdb566
* Update kuryr-tempest-plugin from branch 'master'
to d4debdd1711ac84aaea15ee3d77aea006389315d
- Update 'Maintained' stable branch jobs on master gate
We have stable/yoga released and stable/ussuri is in
'Extended Maintenance' state. Current 'Maintained'
stable branches are yoga, xena, wallaby, and victoria.
As per tempest stable branch testing policy[1], adding the
newly released stable/yoga job and remove the EM stable/ussuri
job.
[1] https://docs.openstack.org/tempest/latest/stable_branch_testing_policy.html
Change-Id: Id7434270af5fc654fc9bff9e0105e2408db392f9
* Update kuryr-tempest-plugin from branch 'master'
to 65f6cef16b2f3ca8eed2ba59800096dbad3d53e3
- Merge "Check that pod is deleted in delete_pod"
- Check that pod is deleted in delete_pod
Instead of sleeping after deletion - check that the pod is deleted for
a period of 30 seconds
Change-Id: Iaa88f8d851430b19e09b3fbe2b4bc070a93a3a93
* Update kuryr-tempest-plugin from branch 'master'
to 19da1d2fce2fa315f705cb42b2df4d038de94040
- Merge "Use one pod to check connectivity in kuryr_restart"
- Use one pod to check connectivity in kuryr_restart
In test_kuryr_restart use one pod to check connectivity to the
created pods from this pod instead of assigning a fip for each created
pod. This can solve problems when there is shortage of floating ips.
Also, Don't fail on deletion of a pod in cleanup if it's not found
Change-Id: I55a33f88356ff3d1ef6ed0ce83bb102172e46023
* Update kuryr-tempest-plugin from branch 'master'
to 113be9ebf5960fd03e963c48823fd9ddd44af160
- Initialize kns_crd variable in create_namespace()
Set kns_crd dictionary initial value in order to avoid the
unhandled error `UnboundLocalError: local variable 'kns_crd'
referenced before assignment` when the timeout_period is
reached.
Change-Id: I20f9c2400dd0ecf0171f02d7cfd3fc10923f4d18
* Update kuryr-tempest-plugin from branch 'master'
to 0e68dcf892959326351c13ad103fb6a0a70e079a
- Revert "Temporarily disable stable jobs"
This reverts commit 06b6d31ee1dc1c266d582bbe73d596b907f40030.
The stable jobs seem to be fixed now.
Depends-on: https://review.opendev.org/c/openstack/kuryr-kubernetes/+/833994
Change-Id: I42c208812862c43d4b43b87c8331218b8ba890fd
* Update kuryr-tempest-plugin from branch 'master'
to b667a5c6bc4845883cf10ea8817b97913c5e6b2c
- Bump pod exec timeout in Service connectivity tests
When testing UDP connectivity to a Service we're using ncat with `-w 5`
option. This sets the connectivity timeout to that value. However our
`exec_command_in_pod()` method is run in async mode and defaults timeout
to wait for completion to just 2 seconds. This is in conflict and if for
some reason UDP server on the pod is slow, will terminate the request
before it's completed, leaving empty stdout but also stderr, so that we
won't even log the error response.
This commit bumps that timeout to 10 seconds to give the pod time to
actually response. I decided to bump it for all the checks as we've seen
this happening with SCTP tests as well and I expect this might have the
same cause.
Change-Id: I303b87d01496cf7353b2b8b699e0dce598e032ab
* Update kuryr-tempest-plugin from branch 'master'
to 79917999e95b19b452d2d7839278fa24c62fe683
- Merge "Limit number of K8s API requests"
- Limit number of K8s API requests
As the K8s client is logging every response to every request, we're
starting to hit limits of tox' or Zuul's log side limit. This commit
attempts to limit number of requests by making sure that in case of
status checks we're iterating a list of pods instead of calling API for
every pod. Moreover many `time.sleep()` occurences are modified to
reduce the number of the requests made.
Change-Id: Ifc2dfce2405429bbcae8c01f13f06d4e9fae9c8a
* Update kuryr-tempest-plugin from branch 'master'
to d7dd6b2eb6f4a77f7f9f1963248de4246193123a
- Remove support for OCP Routes
That support is long gone from kuryr-kubernetes and this commit removes
the tests that are no longer needed.
Change-Id: I3593285d09ecde0c2bdc14805adc39630a592a49
* Update kuryr-tempest-plugin from branch 'master'
to 85807e55a997012511267726052b01a8238dc4bc
- Merge "Improve test_egress_np_to_service_wo_selectors"
- Improve test_egress_np_to_service_wo_selectors
Seems like the test in question was only waiting for the NP to get the
podSelector written into the status and not for the expected and
existing SG rules to match. This commit fixes that.
Change-Id: I04c3906225877caafe26487696991e9e3dbaf082
* Update kuryr-tempest-plugin from branch 'master'
to 06b6d31ee1dc1c266d582bbe73d596b907f40030
- Temporarily disable stable jobs
We have multiple CI stability issues going on at the moment. In order
to be able to merge master fixes, we need to disable broken stable jobs.
Once kuryr-tempest-plugin is stabilized we should be able to merge fixes
to the stable jobs and then we'll be able to revert this patch and make
them voting again.
Change-Id: I5e8fccec80b1a5593e9e32f8dadf8bc220d0424a
* Update kuryr-tempest-plugin from branch 'master'
to 49088c155a19552ac6f994ea90591c5aa181ea7f
- Merge "Add test_service_with_not_ready_endpoints test"
- Add test_service_with_not_ready_endpoints test
This test case automates the issue described in
BZ https://bugzilla.redhat.com/show_bug.cgi?id=1980957.
The new test case:
- creates a deployment with a failing readiness probe so all
the pods are not ready
- creates a service for the deployment (where the endpoints
are not ready)
- it checks Kuryr pods are not restarted
Change-Id: Id19f85625901b35900f9441aace8fe8938cb1d68
* Update kuryr-tempest-plugin from branch 'master'
to fd9ced52b3cecd97ec45eba83f0a5f431bec6df9
- Merge "Define new test_endpoints_object_removal config option"
- Define new test_endpoints_object_removal config option
There are some old kuryr-kubernetes versions that don't
support LB pool members removal upon endpoint deletion.
For such cases, and in order to be able to run the test
test_service_without_selector for all the versions, a
new configuration option test_endpoints_object_removal
is defined.
It's expected to set test_endpoints_object_removal to
False in those environments where the removal is not
supported, and keep it to the default True value in
the rest of them.
Change-Id: I8c2d6e8e66d707fcf22311456c0584a6167acea1
* Update kuryr-tempest-plugin from branch 'master'
to 8f9da81d3b9ff350ff3ff81b872e41f4ebb7aba9
- Merge "Fix lb_reconcile_timeout exception formatting"
- Fix lb_reconcile_timeout exception formatting
It was complaining about string formatting when the timeouts
were being reached:
TypeError: not all arguments converted during string formatting
Change-Id: Ia926be7d43c0f06b775a35092fe644c0c7b78b1d
* Update kuryr-tempest-plugin from branch 'master'
to 4d7bf141fa428207dda537e1c668bd676bc820ea
- Merge "Amend check_sg_rules_for_np() method"
- Amend check_sg_rules_for_np() method
Move ingress_cidrs_found and egress_cidrs_initialization to
inside the while loop so they're cleared in each iteration.
Move rule match comprobation outside the rules for loop.
Change-Id: I1acba9f407de084f19d9ee12fb6e95de03d578df
* Update kuryr-tempest-plugin from branch 'master'
to 871fe9ece61d895c951aa36513624a0287252133
- Merge "Fix test_port_pool when namespace is created"
- Fix test_port_pool when namespace is created
A pod is needed to be created also for the case where trigger_namespace_upon_pod=False
Change-Id: I2af9e1d2be84ace03ccb7224a0c9357500123a20
* Update kuryr-tempest-plugin from branch 'master'
to 5fd8c32c31bcb6b2ddc1cf889abee267f41c7c1c
- Merge "Add wait until active LB in NP test"
- Add wait until active LB in NP test
The test test_egress_np_to_service_wo_selector is failing in some
environments when checking the connectivity to services (before
the NP is applied). The endpoints are defined in kuryrloadbalancers
objects but the connectivity is not working.
This change adds the method wait_until_service_LB_is_active() and
calls it in that test before checking the connectivity to the
services.
Change-Id: I41cec1ea1db43e2fbeb0bf6d5fafb84c87e77d1c
* Update kuryr-tempest-plugin from branch 'master'
to 3a8ccf5b4f0e16998d0b5007bfc71a7c81295ab3
- Merge "Tune curl repetitions value"
- Tune curl repetitions value
For svc and route endpoint connectivity checks there is a repetition
parameter that can be tuned to be proportional to the expected number
of different endpoint responses.
For each expected different backend 10 repetitions seems to be enough
and it will save significant tests execution time.
Change-Id: Id9e6389bfafc89a4d407952ee0625a932b51ef38
* Update kuryr-tempest-plugin from branch 'master'
to cbc0e8f3265e6394f7e29ad3e4352bd3cf69d9f3
- Merge "Ensure lb is active before checking connectivity"
- Ensure lb is active before checking connectivity
This commit ensures the load-balancer is active before checking
connectivity to it for the scenario of test_pod_service_curl.
Change-Id: I935cc510d8d96ca031f30c4a3dbdfec6a6238e92
* Update kuryr-tempest-plugin from branch 'master'
to f79bb312b9b3b8cdc71d119002e1e1ca872a64ee
- Fix check_controller_pod_status_for_time_period()
The method has the status parameter but then it's not being used
to compare with the obtained status, as 'Running' is always used.
This change replaces the hardcoded status with the status parameter.
Change-Id: I7c716dd11f4ed14a31fd5d5aa4706db136cbbeed
* Update kuryr-tempest-plugin from branch 'master'
to 804a54584e002df6e1bef118d91e8335a07a7e31
- Merge "Remove LB_TIMEOUT in favor of lb_build_timeout"
- Remove LB_TIMEOUT in favor of lb_build_timeout
Using the CONF.kuryr_kubernetes.lb_build_timeout config option instead
of the LB_TIMEOUT constant allows modifing the LB creation timeout for
different environments where the LB creation time can vary
significantly.
Remove LB_RECONCILE_TIMEOUT as well in favor of a new config option
CONF.kuryr_kubernetes.lb_reconcile_timeout.
Change-Id: Id1eb72c294abd6a2e5111bd0c7f97e311969b698
* Update kuryr-tempest-plugin from branch 'master'
to 13e740911c448105f9748527e3f6c21265640fd7
- Merge "Change get_readiness_state() return type"
- Change get_readiness_state() return type
Remove the usage of the bool() method as it wasn't behaving as expected
- bool("False") returns True instead of False.
The get_readiness_state() method was returning a string when
container_name wasn't None and it's been changed to return a boolean
instead.
container.ready param is already a Boolean but condition.status is a
string.
Increase the timeout waiting for pods to be ready after scaling in the
scale_deployment() method.
Change-Id: Ie64f868b877ca4c9f1ff8916360638f013fc2926
* Update kuryr-tempest-plugin from branch 'master'
to 011dfaf62f0620951d83924fba06153359fdc5a5
- Merge "Fix Namespace handling in port pool"
- Fix Namespace handling in port pool
With the handling of Namespaces now being
dependent on Pods creation, tempests tests
need to get updated to account for that.
Updated port_pool test
Change-Id: Icd96eeb0594d43d82d72fa5f065f0c89021b935b
Depends-on: I0a69e0963aaef186238c0e1bd0bdc4430e3e197c
* Update kuryr-tempest-plugin from branch 'master'
to c62a4a8be41192081d631cc837879e15cfb6dc8f
- Merge "Small improvement in method definition and reference"
- Small improvement in method definition and reference
Clean-up in get_pod_readiness() method definition and change a reference to
get_pod_readiness() by get_container_readiness().
Change-Id: Icf2b7b99d5142298bd9a11d79ae05e83932d270a
* Update kuryr-tempest-plugin from branch 'master'
to 34378686c705359146dc81d116aabecf91a625a7
- Fallback from V1EndpointPort to CoreV1EndpointPort
For some unknown reason kubernetes==21.7.0 renamed V1EndpointPort to
CoreV1EndpointPort while other V1Endpoint* haven't got the prefix. This
seems like a bug, but in order to deal with it, this patch adds a
fallback to the new name.
Change-Id: I4c38c09faba99c8ca56abc0a32bc421011f9b2dd
* Update kuryr-tempest-plugin from branch 'master'
to e1fdcc0a5bdfa81a0f49b3018748392593b4f031
- Update scale deployment
- Move scale deployment to base
- Check pods are ready after scaling the deployment
Change-Id: I56da873e5a3e1a0e32909fdbdd65a5888c054be8
* Update kuryr-tempest-plugin from branch 'master'
to 13b5484ae9bbe8a78f510b6558ac88605fde4e98
- Merge "Update test_service_without_selector test"
- Update test_service_without_selector test
Check that loadbalancer's members are delete when deleting the endpoint
Change-Id: I5d01029bae9c782ab57d38dff8c6aea1b2128305
* Update kuryr-tempest-plugin from branch 'master'
to 14a0c07bd954248b126c294000a331965235651a
- Merge "Fix Namespace handling"
- Fix Namespace handling
With the handling of Namespaces now being
dependent on Pods creation, tempests tests
need to get updated to account for that.
Change-Id: Id0879f128ca8c057ea6ec540fec0e76d656e7b13
* Update kuryr-tempest-plugin from branch 'master'
to 15eeb47ca8fdae439abb94a86c6fe7825ba7ee09
- Increase timeout waiting for namespace deletion
Increase the timeout in test_recreate_pod_in_namespace until BZ#1997120
is fixed
Change-Id: Ib0a63190d0d07dbe1bf9ab69752703b013d5309e
* Update kuryr-tempest-plugin from branch 'master'
to 5264e4c207b07fa95a19afca4af800df55ed72d1
- Ensure connectivity is checked after members are configured
After deploymented is scaled up we should be checking the
existence of the members and then checking the connectivity
and not the other way around.
Change-Id: I02b345e8d0e0b64ee9942eb532127f739b386281
* Update kuryr-tempest-plugin from branch 'master'
to 89b66e60085ebd7c3492952a3940d88b7c3fb9b7
- Ensure lb is ACTIVE before connectivity check
When the load balancer reconciliation is triggered
besides checking if the current lb ID is different
from the previous lb, the lb members should also be
configured. This commit enforces the existence of the
lb members. Also, it checks if the load balancer is
ACTIVE before checking connectivity.
Note, that it also removes the tempests gates to avoid
a circular dependency.
Change-Id: I64d8596f8d0504eeb898d40be7a11aa6635bca17