Commit Graph

387 Commits

Author SHA1 Message Date
Michael Lumish 4c6869091e grpc-js-xds: Don't call git commands in npm scripts 2023-09-26 16:06:03 -07:00
Michael Lumish e1415fe7bc grpc-js-xds: Force submodule update and code generation in prepare script 2023-09-25 10:30:10 -07:00
Michael Lumish c8b9a45bc9 grpc-js-xds: Fix behavior when channel goes IDLE 2023-09-21 10:02:39 -07:00
Michael Lumish fe74b60440 grpc-js-xds: Add support for pick_first in xDS config 2023-09-13 14:27:25 -07:00
Michael Lumish 6567f8d7cd Update code generation with PickFirst message 2023-09-13 14:07:22 -07:00
Michael Lumish a02622572a Improve Listener resource log formatting 2023-09-12 13:00:15 -07:00
Michael Lumish 506748b8a4 Enable ring_hash tracing in interop tests 2023-09-12 12:41:35 -07:00
Michael Lumish 8df1bd712f Treat ring_hash_lb_config field as optional 2023-09-12 10:08:25 -07:00
Michael Lumish 57c1bd2ede grpc-js-xds: interop client: reduce periodic logging 2023-09-11 17:32:41 -07:00
Michael Lumish e570a99d6d Improve unvalidated resource log formatting 2023-09-11 17:29:01 -07:00
Michael Lumish 5c8b11b0be Trace parsed unvalidated resources 2023-09-11 15:39:19 -07:00
Michael Lumish c41c3dae7b Test ring_hash fallback on dropped connection 2023-09-08 14:51:58 -07:00
Michael Lumish 0b2281b028 Revert version support change, run ring_hash tests conditionallly 2023-09-08 10:12:14 -07:00
Michael Lumish 9e487e44ab grpc-js-xds: Update gts dependency for compatibility with TypeScript update 2023-09-07 18:07:20 -07:00
Michael Lumish 9974f7704d grpc-js-xds: Drop support for Node versions below 16 2023-09-07 17:59:35 -07:00
Michael Lumish 036e0e1b7f grpc-js-xds: Enable xDS affinity test 2023-09-07 17:15:20 -07:00
Michael Lumish 3a43cba3a3 grpc-js-xds: Implement ring_hash LB policy 2023-09-07 17:14:39 -07:00
Michael Lumish 3096f22ba6 grpc-js-xds: Add xxhash-wasm dependency, generate ring_hash code 2023-09-07 17:12:58 -07:00
Michael Lumish 00e1ac46a8 grpc-js: Pass channel options to LoadBalancer constructors 2023-09-06 10:39:56 -07:00
Michael Lumish e919aa7aa3 grpc-js-xds: Update LB policies to handle grpc-js changes 2023-08-30 14:47:06 -07:00
Michael Lumish 04ef12518d Add custom LB test from interop test, fix a bug 2023-08-25 10:19:01 -07:00
Michael Lumish d1f0d9f80d grpc-js-xds: interop: add custom_lb test, reformat test list 2023-08-24 13:38:56 -07:00
Michael Lumish 91631ba11c Update XdsClusterImpl LB policy to accept unset LRS config 2023-08-24 10:02:30 -07:00
Michael Lumish c8b5d3119b Fix missing proto file references 2023-08-23 16:13:00 -07:00
Michael Lumish fa26f4f70f Add spec links 2023-08-23 14:36:49 -07:00
Michael Lumish 9ca8302725 Add tests and fix bugs 2023-08-23 14:32:15 -07:00
Michael Lumish 7326035363 Fix tests 2023-08-23 09:37:47 -07:00
Michael Lumish a0e028f788 grpc-js-xds: Fix backoff timer reference when handling LRS stream messages 2023-08-22 11:19:23 -07:00
Michael Lumish c679726246 Add custom LB interop test support 2023-08-22 09:53:19 -07:00
Michael Lumish 13a6e6d273 grpc-js-xds: Update envoy-api dependency and code generation 2023-08-16 10:24:47 -07:00
Michael Lumish eb6f1338ab grpc-js-xds: Implement custom LB policies 2023-08-16 10:22:41 -07:00
Michael Lumish aa905bf289
Merge pull request #2542 from murgatroid99/grpc-js-xds_config_parsing_tests
grpc-js-xds: Add config parsing tests
2023-08-10 14:56:33 -07:00
Michael Lumish b2ad73a0f3 grpc-js-xds: Add config parsing tests 2023-08-10 13:54:43 -07:00
Michael Lumish 4f8db6907e grpc-js-xds: Fix a typo in xds_cluster_impl parsing code 2023-08-10 09:40:37 -07:00
Michael Lumish 7ae331bd93 Also enable LRS for LOGICAL_DNS test cluster resources 2023-08-09 11:07:34 -07:00
Michael Lumish 11e19fb450 Enable LRS in local tests and fix LRS config generation bugs 2023-08-09 11:02:33 -07:00
Michael Lumish 8f9bd7a9ee grpc-js-xds: Fix handling of LRS server configs 2023-08-09 10:45:07 -07:00
Michael Lumish 08bcbfc677 grpc-js-xds: Adjust LB policy config handling for grpc-js changes 2023-08-07 17:25:39 -07:00
Michael Lumish 49b629ffb0 grpc-js/grpc-js-xds: Update to 1.9.0, and update READMEs 2023-07-31 16:55:27 -07:00
Sergii Tkachenko d2a3ef45c0
grpc-js-xds: Bump the canonical server from v1.46.x to v1.56.0
Similar to https://github.com/grpc/grpc/pull/33542.

Note that there's a ticket to automatically use the one specified in the `--server_image_canonical` flag, but for now we just hardcode.
2023-06-28 13:55:27 -07:00
Michael Lumish 974f8100ea
Merge pull request #2463 from murgatroid99/grpc-js-xds_federation
grpc-js-xds: Implement federation support
2023-06-26 15:15:51 -07:00
Michael Lumish 2ee8a68ac6
Merge pull request #2477 from murgatroid99/grpc-js-xds_docker_distroless
grpc-js-xds: Use distroless Node image for interop Dockerfile
2023-06-26 09:48:43 -07:00
Michael Lumish 5d731c4c62
Merge pull request #2475 from XuanWang-Amos/file_multiple_url_map
[PSM interop] Don't fail target if sub-target already failed
2023-06-23 10:37:01 -07:00
Michael Lumish 9b7e5e66ab Use entrypoint /nodejs/bin/node 2023-06-23 09:34:29 -07:00
Michael Lumish cc89158e13 grpc-js-xds: Use distroless Node image for interop Dockerfile 2023-06-22 16:52:53 -07:00
Xuan Wang 4f9c41978a [PSM interop] Don't fail target if sub-target already failed 2023-06-22 21:21:14 +00:00
Michael Lumish 967f903ff8 Newlines at ends of files 2023-06-21 11:25:46 -07:00
Michael Lumish b4078a36da grpc-js-xds: Downgrade Node version in old test script to 16 2023-06-20 10:04:13 -07:00
Michael Lumish f253a4966a grpc-js-xds: Update Node version in old test script 2023-06-16 13:54:33 -07:00
Michael Lumish fb735d99dc Correct 'SOTW' flag for endpoint resource 2023-06-16 13:21:07 -07:00
Michael Lumish dc0094d4b0 Send initial message at the beginning of a new LRS stream, and send node in initial message 2023-06-16 11:18:36 -07:00
Michael Lumish 978f4cb012 Add tracing, reorder LRS stream start call 2023-06-16 10:12:20 -07:00
Michael Lumish 608f087231 Fix name generation and include type_url in CSDS 2023-06-15 12:56:28 -07:00
Michael Lumish 61a518c30a Fix stream end handling in xds client 2023-06-15 10:45:56 -07:00
Michael Lumish fb98794f7b grpc-js-xds: Complete federation implementation 2023-06-14 14:04:00 -07:00
Michael Lumish 596d5f1192 Merge branch 'master' into grpc-js-xds_federation 2023-06-05 11:30:24 -07:00
Michael Lumish 81e1f75b62 grpc-js-xds: Support string_match in header matching 2023-06-01 17:19:05 -07:00
Xuan Wang cd87b1287f Don't fail target if sub-target already failed 2023-06-01 00:00:47 +00:00
Michael Lumish 9d1b8493a2 Implement federation support (continued) 2023-05-31 10:41:43 -07:00
Michael Lumish 821ccfa5de PSM Interop: Increase old driver QPS to 75 2023-04-28 15:00:05 -07:00
Michael Lumish 2da3f868f2 Merge branch 'master' into grpc-js-xds_federation 2023-04-25 09:43:54 -07:00
Michael Lumish 85d227b1d3 Update test logic to account for recent validation changes 2023-04-24 17:27:44 -07:00
Michael Lumish 2f869495cc Update tests with master test framework changes 2023-04-24 17:05:28 -07:00
Michael Lumish d70d7eed07 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_upmerge 2023-04-24 16:52:54 -07:00
Michael Lumish edeeda6424
Add trailing newline in packages/grpc-js-xds/test/test-nack.ts
Co-authored-by: Sergii Tkachenko <hi@sergii.org>
2023-04-24 16:22:49 -07:00
Michael Lumish dfccd687f0 Address review comments 2023-04-24 16:21:12 -07:00
Michael Lumish 48ef1ed202 grpc-js-xds: Bump version to 1.8.2 2023-04-20 14:35:39 -07:00
Michael Lumish 856559cce1 grpc-js-xds: Fix handling of resource validation errors 2023-04-20 14:34:06 -07:00
Michael Lumish 546696c366 grpc-js: Implement federation support 2023-04-20 10:40:01 -07:00
Sergii Tkachenko 2cb6ef86d4 PSM Interop: experiment with qps affect on circuit_breaking
ref  b/232859415
2023-04-13 11:00:37 -07:00
Michael Lumish 1e9c766bc1 grpc-js-xds: Add federation support 2023-04-13 10:59:05 -07:00
Michael Lumish f05ef5592e
Merge pull request #2413 from murgatroid99/grpc-js-xds_unskip_test
grpc-js-xds: Remove extra 'only' from local testing
2023-04-12 13:53:26 -07:00
Sergii Tkachenko 0ec5463bee
PSM Interop: experiment with qps affect on circuit_breaking
ref  b/232859415
2023-04-07 14:45:21 -07:00
Michael Lumish 287b0684b0 grpc-js-xds: Render call time histograms nicely in interop logs 2023-04-06 14:22:14 -07:00
Michael Lumish 90de58ce37
Merge pull request #2409 from murgatroid99/v1.8.x_merge
Merge v1.8.x into master
2023-04-05 16:50:12 -07:00
Michael Lumish 8d16113321 grpc-js-xds: Remove extra 'only' from local testing 2023-04-05 16:42:13 -07:00
Michael Lumish 8f47d67a41 grpc-js-xds: Use the same tracers in the legacy driver as in the new one 2023-04-03 16:51:51 -07:00
Michael Lumish 59423176f0 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.8.x' into v1.8.x_merge 2023-04-03 14:19:03 -07:00
Michael Lumish 7840a108d3 grpc-js-xds: Use Debian and Node 18 in interop Dockerfile (1.8.x) 2023-04-03 09:54:38 -07:00
Michael Lumish e48b2ca846 grpc-js-xds: Use Node 18 in interop docker image 2023-03-31 12:10:36 -07:00
Michael Lumish ad719ccb94
Merge pull request #2391 from murgatroid99/grpc-js-xds_node_client_version
grpc-js-xds: Populate Node message field user_agent_version
2023-03-23 10:53:49 -07:00
Michael Lumish 6f17499e3c grpc-js-xds: Use non-alpine docker image for interop tests 2023-03-22 16:44:21 -07:00
Michael Lumish 4fa8af3969
Merge pull request #2392 from murgatroid99/grpc-js-xds_tests_1.8.x
grpc-js-xds: Add a framework for running xDS end-to-end tests (1.8.x)
2023-03-22 11:14:14 -07:00
Michael Lumish e5e6731917 grpc-js-xds: Use simpler search algorithm in weighted target picker 2023-03-10 14:12:58 -08:00
Michael Lumish e32bbc7aac grpc-js-xds: Allow tests to set bootstrap info in channel args 2023-03-10 11:47:23 -08:00
Michael Lumish 6bc6b8665b grpc-js-xds: Add unit test framework 2023-03-10 11:47:13 -08:00
Michael Lumish 481f704c77 grpc-js-xds: Populate Node message field user_agent_version 2023-03-09 16:37:04 -08:00
Michael Lumish 865731b4c5 grpc-js-xds: Use simpler search algorithm in weighted target picker 2023-02-24 09:55:45 -08:00
Michael Lumish f3c43542f8 grpc-js-xds: interop: log server events 2023-02-15 14:45:31 -08:00
Michael Lumish c4350deb4f grpc-js-xds: Pass along outlier detection config from CDS to child policy 2023-02-10 09:56:50 -08:00
Michael Lumish faf96a0e4f grpc-js-xds: Fix bug that prevented priority name reuse 2023-02-09 17:04:41 -08:00
Michael Lumish 4e148cbb77 Use the load-balancer filename prefix for the new LB policies 2023-02-03 15:16:42 -08:00
Michael Lumish b914a0388f Validate that LOGICAL_DNS address is non-empty 2023-02-03 13:27:46 -08:00
Michael Lumish 2807127ca7 Add tests and fix bugs 2023-02-02 14:56:00 -08:00
Michael Lumish 1cbadd7db0 Merge branch 'master' into grpc-js-xds_aggregate_logical_dns_clusters 2023-01-27 15:13:22 -08:00
Michael Lumish fe4272ecb6
Merge pull request #2339 from murgatroid99/grpc-js-xds_unit_tests
grpc-js-xds: Add a framework for running xDS end-to-end tests
2023-01-27 15:02:46 -08:00
Michael Lumish 5732ff9e82 grpc-js-xds: Allow tests to set bootstrap info in channel args 2023-01-27 13:39:44 -08:00
Michael Lumish 05bebcd4e2 grpc-js-xds: Add unit test framework 2023-01-27 13:39:10 -08:00
Michael Lumish 7a6fa275fe grpc-js-xds: weighted clusters: stop checking total_weight, check weight sum <= uint32 max 2023-01-18 10:55:28 -08:00
Michael Lumish d441aa687d Merge pull request #2323 from sergiitk/xds-interop-fix-buildscript-suites
xds interop: Fix buildscripts not continuing on a failed test suite
2023-01-17 16:20:20 -08:00
Sergii Tkachenko 466bc3cdd0
Address the feedback: use pre-increment instead of `&& true` 2023-01-13 20:39:32 -05:00
Sergii Tkachenko a23dc843af xds interop: Fix buildscripts not continuing on a failed test suite
Apparently there's a difference between bash 3 and bash 4.
OSX comes with bash 3 out-of-box, so for whoever wrote this logic
it "worked on my machine".
2023-01-12 17:18:00 -08:00
Michael Lumish c0182608a8 grpc-js-xds: Add aggregate and logical_dns clusters 2023-01-11 10:49:56 -08:00
Michael Lumish b72e1fc665 Merge pull request #2310 from grpc/reduce-gce-xds-interop-tests
grpc-js-xds: Reduce GCE xDS interop tests to ping_pong and circuit_breaking
2023-01-06 14:53:11 -08:00
Sergii Tkachenko 5812cad19e
grpc-js-xds: Reduce xDS GCE interop framework to ping_pong and circuit_breaking
The migration of other tests to the new framework have been completed around Aug 2022: 

- 81083bd229/packages/grpc-js-xds/scripts/xds_k8s_lb.sh
- 81083bd229/packages/grpc-js-xds/scripts/xds_k8s_url_map.sh
2023-01-06 13:58:59 -08:00
Shubham Waje 111264badf Fix host_override param typo:
- Fix `host_override` param typo in /test/interop/interop_client.js
- Fix other typos
2022-12-15 12:41:45 +05:30
Michael Lumish 161af8ca7b grpc-js: Prepare for 1.8.0 release
De-experimentalize xDS retry support, and update versions and documentation
2022-12-01 16:02:45 -05:00
Michael Lumish 9214988c45
Merge pull request #2280 from murgatroid99/grpc-js-xds_retry
grpc-js-xds: Implement retry support
2022-11-30 10:04:47 -08:00
Michael Lumish edf612a56a grpc-js-xds: Implement retry support 2022-11-29 14:29:47 -05:00
Michael Lumish 641ed45d48 grpc-js-xds: Update failure mode behavior 2022-11-18 15:06:41 -08:00
Michael Lumish f8f95ee9bb grpc-js-xds: interop: Fix timestamp handling when config changes 2022-11-14 09:50:33 -08:00
Michael Lumish 02c48f426d grpc-js-xds: interop: Fix target directory for profile log 2022-11-09 10:08:47 -08:00
Michael Lumish e8396a5542
Don't try to create the target file as a directory
Co-authored-by: Sergii Tkachenko <hi@sergii.org>
2022-11-08 15:47:09 -08:00
Michael Lumish f844ca30bb grpc-js-xds: interop: mkdir artifact directory before running tests 2022-11-08 15:23:20 -08:00
Michael Lumish 959f698fc4
Use absolute path for logfile output
Co-authored-by: Sergii Tkachenko <hi@sergii.org>
2022-11-08 14:46:17 -08:00
Michael Lumish b4449083b9 grpc-js-xds: interop: output CPU profile logs in old framework tests 2022-11-08 12:40:22 -08:00
Michael Lumish f392d4d8c5 grpc-js-xds: interop client: correct for setInterval variance 2022-11-04 15:21:03 -07:00
Michael Lumish bcf4ce2b40 grpc-js-xds: Log stats periodically in interop tests 2022-10-21 15:21:19 -07:00
Michael Lumish aaa568fc01
Merge pull request #2248 from grpc/@grpc/grpc-js@1.7.x
Merge v1.7.x into master
2022-10-14 15:59:23 -07:00
Michael Lumish 276b7b66d0 grpc-js-xds: Fix limit representation for priority weight validation 2022-10-14 13:29:57 -07:00
Michael Lumish f3fc8dc864
Merge pull request #2244 from murgatroid99/grpc-js-xds_drop_v2
grpc-js-xds: Drop xDS v2 support
2022-10-14 11:48:16 -07:00
Michael Lumish 4ac8d6dab3 grpc-js-xds: Remove all code for handling xDS v2 2022-10-12 13:48:39 -07:00
Michael Lumish 3003dbea52 grpc-js-xds: Delete generated code for xDS v2 2022-10-12 13:48:16 -07:00
Michael Lumish 8a312e63b7 grpc-js-xds: Update code to handle modified experimental APIs 2022-10-11 16:50:49 -07:00
Michael Lumish bedc9628f5 grpc-js-xds: Validate continuity of priorities in EDS updates 2022-10-11 13:58:57 -07:00
Michael Lumish 8832fc2d39 grpc-js-xds: Validate uniqueness of addresses in EDS updates 2022-10-11 13:55:19 -07:00
Michael Lumish 7942b23e79 grpc-js-xds: Validate that endpoint weights sum to no more than 32 bit uint max per priority 2022-10-10 14:11:16 -07:00
Michael Lumish 02a43a302d grpc-js-xds: NACK WeightedCluster if total_weight is 0 2022-09-12 13:47:57 -07:00
Michael Lumish 9dd9cb0e5d
Merge pull request #2224 from murgatroid99/grpc-js_1.7.x
grpc-js: Bump to 1.7.0
2022-09-08 14:33:36 -07:00
Michael Lumish 4a861a0d4b grpc-js-xds: Update outlier detection entry in README 2022-09-07 13:13:50 -07:00
Michael Lumish 51de24ac0c grpc-js: Bump to 1.7.0 2022-09-07 13:11:14 -07:00
Michael Lumish d8022a557d grpc-js-xds: Enable outlier detection by default 2022-09-07 11:16:12 -07:00
Sergii Tkachenko 594933aa2b xDS interop: enable pod log collection in the buildscripts
- Enables pod log collection in all PSM interop jobs implemented
  in https://github.com/grpc/grpc/pull/30594.
- Associate test suite runs with their own log file, so it's displayed
  on the "Target Log" tab
- Adds missing `--force_cleanup` to the lb test (reduces leaked
  resources)
- Fix run_test not returning correct exit status, causing false
  positives in some cases. See https://github.com/grpc/grpc/pull/30768
2022-08-26 17:51:34 -07:00
Michael Lumish 2c6fd779d8 grpc-js-xds: Use authority override to select VirtualHost when provided 2022-08-25 14:22:00 -07:00
Michael Lumish 460fa93b9c grpc-js-xds: priority: remove currentChildFromBeforeUpdate 2022-08-23 13:38:56 -07:00
Michael Lumish ae53dd1a19
Merge pull request #2202 from murgatroid99/grpc-js-xds_priority_fixes
grpc-js-xds: Make various fixes to the priority LB policy
2022-08-22 16:06:09 -07:00
Michael Lumish 552b710b93
Merge pull request #2200 from murgatroid99/grpc-js-xds_delay_child_updates
grpc-js-xds: delay picker updates while updating children in weighted_target and xds_cluster_manager
2022-08-22 16:05:28 -07:00
Michael Lumish e1b2cad25e grpc-js-xds: Make various fixes to the priority LB policy 2022-08-22 14:28:34 -07:00
Michael Lumish 3e6730cd24 grpc-js-xds: delay picker updates while updating children in weighted target and xds_cluster_manager 2022-08-18 14:55:58 -07:00
Michael Lumish a3b698e837 Don't use tracer for ignored resource deletion logs 2022-08-17 17:00:02 -07:00
Michael Lumish 7ca0cc0069 grpc-js-xds: Implement ignore_resource_deletion option 2022-08-17 16:56:50 -07:00
Michael Lumish 9ba4ed3621 grpc-js-xds: Fix outlier detection interop test name 2022-08-15 09:36:35 -07:00
Michael Lumish 7e339b4c9e
Merge pull request #2185 from murgatroid99/grpc-js-xds_outlier_detection_interop
grpc-js-xds: Enable the outlier detection interop test
2022-08-11 09:41:16 -07:00
Michael Lumish 6ab1abccff Merge branch 'master' into grpc-js-xds_resource_timer 2022-08-08 13:52:38 -07:00
Michael Lumish d0dc6cd46e grpc-js-xds: Enable the outlier detection interop test 2022-08-08 11:36:10 -07:00
Michael Lumish 1e53150155 Update outlier detection behavior for gRFC updates 2022-08-02 13:48:16 -07:00
Michael Lumish 90e8886d98 grpc-js: Add outlier detection tracing and enable it in interop tests 2022-08-02 11:02:02 -07:00
Michael Lumish 6641494e02 Clone submodules in xds k8s url map script 2022-07-08 10:08:09 -07:00
Michael Lumish c6d7d2aa03 Backport xDS k8s interop docker image to version branch 2022-07-07 14:39:00 -07:00
Michael Lumish 1463ffa42e Backport xDS k8s test scripts to the v1.6.x branch 2022-06-28 14:05:29 -07:00