This commit includes the following changes:
1. A new load test template generator (loadtest_template.py) is added. The template generator combines existing configurations or templates for several languages into a single template that can be used to generate configurations for different languages or combinations of languages.
2. A basic template generated from the example tests in grpc/test-infra (loadtest_template_basic_all_languages.yaml) is added.
3. The load test config generator is updated to use the combined template.
4. An example run consisting of a single test (generated from the combined template) is added and set up to run continuously.
* Add CSDS xDS interop test
* Add CSDS test to the test suite
* Fix a typo
* Address comments
* Improve the logging of each attempt
* Improve Python readability
* New Python package xds_protos
* Polish the setup.py
* Adding install requirements and improve wheel validation
* Add xds-protos to the update procedure of envoy-api
* Add setup requirements
This is to add more ports for forwarding-rule.
It's in theory not necessary, because forwarding-rule doesn't need to use the
same port as the services. This is a limitation of the test framework, and can
be fixed in the future.
* LoadTest generator for OSS benchmarks framework.
This change adds a LoadTest configuration generator for the OSS
benchmarks framework. The output of the generator is a multipart
YAML file that specifies uniquely named LoadTest resources that
can be applied to a kubernetes cluster.
For the benchmarks framework, see https://github.com/github/test-infra.
* rename ChannelData to ClientChannel
* make ClientChannel class definition public
* move retry code to its own filter
* move LB call factory method to ClientChannel class
* move dynamic termination filter out of ClientChannel class
* update comments
* remove retry parsing from client channel service config parser
* fix clang-tidy
* fix service_config_test
* clang-format
* Implement FilterChainMatch logic
* Add tests for transport protocol too
* Tests for duplicate NACKing
* Introduce ConnectionManager as an interface for config fetchers
* Do not parameterize IncrementIfNonZero
* Some formatting
* Reviewer comments
* Add filter chain match information for duplicate match error
* Reviewer comments
* Some cleanup
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Clang-tidy
This caused problems internally. The interface deletion needs a cherrypick, but I will do an overnight test first, before I reintroduce. CC @nicolasnoble