1. Fixes the issue with Java PSM security tests accidentally skipped because Java was missing from the list of languages, ref https://github.com/grpc/grpc/pull/28978
2. Invert the logic of `is_supported` methods, making them normally open
3. Make languages an `enum.Flag` to avoid accidental typos when listing the languages
4. Rename `XdsKubernetesTestCase.isSupported` to `XdsKubernetesTestCase.is_supported` to be consistent with `XdsUrlMapTestCase.is_supported`
5. Add extra logging
Split `XdsKubernetesTestCase` into:
- `XdsKubernetesTestCase` top-level base class containing flag parsing logic and common `assert*` methods
- `XdsKubernetesIsolatedTestCase` extending `XdsKubernetesTestCase`, that is specific to tests that want to create ifra resources before each test, and destroy them after.
Now tests that don't need to create/destroy all resources on each run, can extend `XdsKubernetesTestCase` without having to override all setUp and implementing other unnecessary methods.
* [PSM interop] Expand the support of test config validation
* Comment the usage and source of testing_version
* Also include the comment for url-map tests
* [PSM Interop] Extend clean-up script to 2 other GKE clusters
* Use a safer apprach to invoke the cleanup script
* Handle the readonly issue
* Make sanity test happy
* Revert "Revert "Add api listener test for k8s (#27534)" (#28719)"
This reverts commit c35b93f28d.
Fix parsing logic of the RDS response from CSDS to support different response formats. Use common parsing logics from url_map in this test case for parsing.
1. Solves an issue with unpacking Operation.metadata causing
json_format.ParseError Can not find message descriptor by type_url
2. Improves the readability of the
framework.infrastructure.gcp.api.OperationError
* [xDS GKE] use randomized local forwarding port for parallism
* Implement a PortForwarder class
* Add missing types and remove unused code
* Correct the error path
* Split the connect logic from init
`packaging` was explicitly used in xds_url_map_testcase.py,
but wasn't added to the requirements.txt.
It (unintentionally) worked before because `packaging` is
a transitive dependency of `google-api-python-client@1.12.8`
via `google-api-core@1.31.5`.
With `google-api-python-client` upgraded to `1.12.10`, it's not
the case anymore.
* Revert "Revert "[App Net] Switch Router to Mesh and Add unique string to Scope (#28145)" (#28176)"
This reverts commit cc968b2158.
* Allow scope to be None
The authz test flaked as no RPCs of the expected type had completed
within the sampling window. Server logs showed authz logs completing
batch of 276 RPCs back-to-back, without the expected 40 ms separation
(qps=25). It took a bit over 1 second to process through the backlog.
With the sample duration of 500 ms and there being a polling delay
between when the channel is READY and when the test driver polls
channelz, it makes sense that we can get lucky much of the time.
Obviously, adding a sleep isn't great either, but measuring the queue
length indirectly is more complex than really appropriate here. The real
solution is to stop using this continuous-qps test client.
```
Traceback (most recent call last):
File "/tmp/work/grpc/tools/run_tests/xds_k8s_test_driver/tests/authz_test.py", line 252, in test_tls_allow
grpc.StatusCode.OK)
File "/tmp/work/grpc/tools/run_tests/xds_k8s_test_driver/tests/authz_test.py", line 183, in configure_and_assert
method=rpc_type)
File "/tmp/work/grpc/tools/run_tests/xds_k8s_test_driver/framework/xds_k8s_testcase.py", line 284, in assertRpcStatusCodes
self.assertGreater(stats.result[status_code.value[0]], 0)
AssertionError: 0 not greater than 0
```
* Add back references and scope field
* Set scope in router
* Reverse order of cleanup
* Add router_scope flag
* Use router_scope flag to create Router
* I apparently don't know how to brain
* Yapf
* Yeah, that can't be the default
* Remove debug print
* Remove impossible todos
* And another
* Switch from router-scope to config-scope
* Implement schema changes
* Use backend service URL
* Use CLH reference format to backend service
* I am an idiot
* *internal screaming*
* Try project number
* Why is this all awful
* Go back to trying project name
* Try cleaning things up
* Agh
* Address review comments
* Remove superfluous Optional type
A broken fix for the server-side bug is producing invalid configuration,
causing the server to reject all the configuration. Disable the
configuration and tests until fix is fixed.
* Support generic_xds_config in GCE/GKE frameworks and Python tests
* Correct the field name
* Address comments
* Add new CSDS support to the regular K8s testcases
* Support incomplete CSDS config dump
The control plane was updated to more properly match the principal being
present, so now plaintext and mTLS are working properly. But the change
is using slightly the wrong semantics for TLS, so we get to change which
tests are commented out.
* Add compute alpha API config file
* WIP
* Try not to create a new job
* Change from using discovery file to use version flag
* Give compute_api_version a default value
* Extend the timeout of xds_k8s_lb
* Apply suggestions from code review
Co-authored-by: Sergii Tkachenko <hi@sergii.org>
Co-authored-by: Sergii Tkachenko <hi@sergii.org>