From bbaca29674e716f711d21e5a152b28975b394ef8 Mon Sep 17 00:00:00 2001 From: phlax Date: Mon, 14 Oct 2024 09:42:37 +0100 Subject: [PATCH 01/78] ci/bazel: Add CI reporting tool (#36539) a step towards fixing #36326 Signed-off-by: Ryan Northey --- tools/base/requirements.in | 1 + tools/base/requirements.txt | 222 ++++++++++++++++++++---------------- tools/ci/BUILD | 14 +++ 3 files changed, 136 insertions(+), 101 deletions(-) create mode 100644 tools/ci/BUILD diff --git a/tools/base/requirements.in b/tools/base/requirements.in index a252ecfd2ce4..d6108945bba1 100644 --- a/tools/base/requirements.in +++ b/tools/base/requirements.in @@ -13,6 +13,7 @@ coloredlogs cryptography>=43.0.1 dependatool>=0.2.2 envoy.base.utils>=0.5.0 +envoy.ci.report>=0.0.3 envoy.code.check>=0.5.12 envoy.dependency.check>=0.1.10 envoy.distribution.release>=0.0.9 diff --git a/tools/base/requirements.txt b/tools/base/requirements.txt index 05ac390bec2c..71f223029531 100644 --- a/tools/base/requirements.txt +++ b/tools/base/requirements.txt @@ -15,6 +15,7 @@ abstracts==0.0.12 \ # aio-run-runner # dependatool # envoy-base-utils + # envoy-ci-report # envoy-code-check # envoy-dependency-check # envoy-distribution-release @@ -25,20 +26,21 @@ aio-api-bazel==0.0.2 \ --hash=sha256:56e36463d236e477b7e282f2d870185a0b978b50e2c3803c1ebf8b8ac4b18f5b \ --hash=sha256:d3f563b7698e874437d80538a89dd4d79bc37de2e850c846330ae456e3f21dcc # via -r requirements.in -aio-api-github==0.2.6 \ - --hash=sha256:71ca0e572a48eab09f3e54267b374fb3d53e246b83f6f23fe1f29f5560acdaed \ - --hash=sha256:be12d6bf612ce2abc85c695ce74547220636f96fe80d4e64cd2de8670db69c32 +aio-api-github==0.2.10 \ + --hash=sha256:2563ad2cd219352a7933b78190c17ab460b503b437bec348a738c0f804adf45f \ + --hash=sha256:75e17073e9e03386d719d1af355f599c16d68345992eaa97aebfa6159b07ad02 # via # -r requirements.in # envoy-base-utils + # envoy-ci-report # envoy-dependency-check aio-api-nist==0.0.4 \ --hash=sha256:1f2909d60ed4fdb3a3ffc37ad6012666f34078b71648394be91f5e67bbf8b6ca \ --hash=sha256:c948ee597b9e7cda7982e17bc4aca509b8aa68510899b42e2d382c10fb0d6f89 # via envoy-dependency-check -aio-core==0.10.3 \ - --hash=sha256:9f5e87347e396a00829e83bbee3769fccdc3ead24522c429e7dfe53d67a50e07 \ - --hash=sha256:b51d32426247f3c265015c5c4b776f9feef15e01c28ca4e868c2ba7b67c556cc +aio-core==0.10.5 \ + --hash=sha256:ba512132df47514a15930b89835ba1ef13522b7e31ec83a3b0622b7431f3f42e \ + --hash=sha256:d8486a0115ade8e0362783b8e7cd988368766d0d911c62cb73b716bfe1f50a92 # via # -r requirements.in # aio-api-bazel @@ -47,6 +49,7 @@ aio-core==0.10.3 \ # aio-run-runner # dependatool # envoy-base-utils + # envoy-ci-report # envoy-code-check # envoy-dependency-check # envoy-distribution-release @@ -63,13 +66,14 @@ aio-run-checker==0.5.7 \ # envoy-dependency-check # envoy-distribution-distrotest # envoy-distribution-verify -aio-run-runner==0.3.3 \ - --hash=sha256:0a783260838a660b4df085d163781fdb35991febf4818524e8f2a13d9f999e07 \ - --hash=sha256:ce904917303723b5495b951e3b6aaacbac2373d92b7a0bd8f562f1d920cfac22 +aio-run-runner==0.3.4 \ + --hash=sha256:3f7bdb91c9a7a60d547d18c620ce2444b4e81d6e6a64a2e1ef465e54db8708bf \ + --hash=sha256:ffa5693d6452b9fc07674cbea665825959d3ea5adca4e492998d242dadf3a773 # via # aio-api-bazel # aio-run-checker # envoy-base-utils + # envoy-ci-report # envoy-distribution-release # envoy-distribution-repo # envoy-docs-sphinx-runner @@ -92,98 +96,98 @@ aiohappyeyeballs==2.4.0 \ --hash=sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2 \ --hash=sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd # via aiohttp -aiohttp==3.10.10 \ - --hash=sha256:007ec22fbc573e5eb2fb7dec4198ef8f6bf2fe4ce20020798b2eb5d0abda6138 \ - --hash=sha256:00819de9e45d42584bed046314c40ea7e9aea95411b38971082cad449392b08c \ - --hash=sha256:01948b1d570f83ee7bbf5a60ea2375a89dfb09fd419170e7f5af029510033d24 \ - --hash=sha256:038f514fe39e235e9fef6717fbf944057bfa24f9b3db9ee551a7ecf584b5b480 \ - --hash=sha256:03a42ac7895406220124c88911ebee31ba8b2d24c98507f4a8bf826b2937c7f2 \ - --hash=sha256:05646ebe6b94cc93407b3bf34b9eb26c20722384d068eb7339de802154d61bc5 \ - --hash=sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a \ - --hash=sha256:0b00807e2605f16e1e198f33a53ce3c4523114059b0c09c337209ae55e3823a8 \ - --hash=sha256:0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf \ - --hash=sha256:15ecd889a709b0080f02721255b3f80bb261c2293d3c748151274dfea93ac871 \ - --hash=sha256:1b66ccafef7336a1e1f0e389901f60c1d920102315a56df85e49552308fc0486 \ - --hash=sha256:1bbb122c557a16fafc10354b9d99ebf2f2808a660d78202f10ba9d50786384b9 \ - --hash=sha256:1eb89d3d29adaf533588f209768a9c02e44e4baf832b08118749c5fad191781d \ - --hash=sha256:258c5dd01afc10015866114e210fb7365f0d02d9d059c3c3415382ab633fcbcb \ - --hash=sha256:2609e9ab08474702cc67b7702dbb8a80e392c54613ebe80db7e8dbdb79837c68 \ - --hash=sha256:274cfa632350225ce3fdeb318c23b4a10ec25c0e2c880eff951a3842cf358ac1 \ - --hash=sha256:28529e08fde6f12eba8677f5a8608500ed33c086f974de68cc65ab218713a59d \ - --hash=sha256:2b606353da03edcc71130b52388d25f9a30a126e04caef1fd637e31683033abd \ - --hash=sha256:30ca7c3b94708a9d7ae76ff281b2f47d8eaf2579cd05971b5dc681db8caac6e1 \ - --hash=sha256:333cf6cf8e65f6a1e06e9eb3e643a0c515bb850d470902274239fea02033e9a8 \ - --hash=sha256:3455522392fb15ff549d92fbf4b73b559d5e43dc522588f7eb3e54c3f38beee7 \ - --hash=sha256:362f641f9071e5f3ee6f8e7d37d5ed0d95aae656adf4ef578313ee585b585959 \ - --hash=sha256:3bcd391d083f636c06a68715e69467963d1f9600f85ef556ea82e9ef25f043f7 \ - --hash=sha256:3dffb610a30d643983aeb185ce134f97f290f8935f0abccdd32c77bed9388b42 \ - --hash=sha256:3fe407bf93533a6fa82dece0e74dbcaaf5d684e5a51862887f9eaebe6372cd79 \ - --hash=sha256:413251f6fcf552a33c981c4709a6bba37b12710982fec8e558ae944bfb2abd38 \ - --hash=sha256:438cd072f75bb6612f2aca29f8bd7cdf6e35e8f160bc312e49fbecab77c99e3a \ - --hash=sha256:4470c73c12cd9109db8277287d11f9dd98f77fc54155fc71a7738a83ffcc8ea8 \ - --hash=sha256:45c3b868724137f713a38376fef8120c166d1eadd50da1855c112fe97954aed8 \ - --hash=sha256:486f7aabfa292719a2753c016cc3a8f8172965cabb3ea2e7f7436c7f5a22a151 \ - --hash=sha256:4f05e9727ce409358baa615dbeb9b969db94324a79b5a5cea45d39bdb01d82e6 \ - --hash=sha256:50aed5155f819873d23520919e16703fc8925e509abbb1a1491b0087d1cd969e \ - --hash=sha256:50edbcad60d8f0e3eccc68da67f37268b5144ecc34d59f27a02f9611c1d4eec7 \ - --hash=sha256:54ca74df1be3c7ca1cf7f4c971c79c2daf48d9aa65dea1a662ae18926f5bc8ce \ - --hash=sha256:578a4b875af3e0daaf1ac6fa983d93e0bbfec3ead753b6d6f33d467100cdc67b \ - --hash=sha256:597a079284b7ee65ee102bc3a6ea226a37d2b96d0418cc9047490f231dc09fe8 \ - --hash=sha256:59bb3c54aa420521dc4ce3cc2c3fe2ad82adf7b09403fa1f48ae45c0cbde6628 \ - --hash=sha256:5c6a5b8c7926ba5d8545c7dd22961a107526562da31a7a32fa2456baf040939f \ - --hash=sha256:64f6c17757251e2b8d885d728b6433d9d970573586a78b78ba8929b0f41d045a \ - --hash=sha256:679abe5d3858b33c2cf74faec299fda60ea9de62916e8b67e625d65bf069a3b7 \ - --hash=sha256:741a46d58677d8c733175d7e5aa618d277cd9d880301a380fd296975a9cdd7bc \ - --hash=sha256:7789050d9e5d0c309c706953e5e8876e38662d57d45f936902e176d19f1c58ab \ - --hash=sha256:77abf6665ae54000b98b3c742bc6ea1d1fb31c394bcabf8b5d2c1ac3ebfe7f3b \ - --hash=sha256:79019094f87c9fb44f8d769e41dbb664d6e8fcfd62f665ccce36762deaa0e911 \ - --hash=sha256:7b06b7843929e41a94ea09eb1ce3927865387e3e23ebe108e0d0d09b08d25be9 \ - --hash=sha256:7e338c0523d024fad378b376a79faff37fafb3c001872a618cde1d322400a572 \ - --hash=sha256:7ea7ffc6d6d6f8a11e6f40091a1040995cdff02cfc9ba4c2f30a516cb2633554 \ - --hash=sha256:8105fd8a890df77b76dd3054cddf01a879fc13e8af576805d667e0fa0224c35d \ - --hash=sha256:84afcdea18eda514c25bc68b9af2a2b1adea7c08899175a51fe7c4fb6d551257 \ - --hash=sha256:9294bbb581f92770e6ed5c19559e1e99255e4ca604a22c5c6397b2f9dd3ee42c \ - --hash=sha256:93429602396f3383a797a2a70e5f1de5df8e35535d7806c9f91df06f297e109b \ - --hash=sha256:9627cc1a10c8c409b5822a92d57a77f383b554463d1884008e051c32ab1b3742 \ - --hash=sha256:998f3bd3cfc95e9424a6acd7840cbdd39e45bc09ef87533c006f94ac47296090 \ - --hash=sha256:9c72109213eb9d3874f7ac8c0c5fa90e072d678e117d9061c06e30c85b4cf0e6 \ - --hash=sha256:9fc1500fd2a952c5c8e3b29aaf7e3cc6e27e9cfc0a8819b3bce48cc1b849e4cc \ - --hash=sha256:a3f00003de6eba42d6e94fabb4125600d6e484846dbf90ea8e48a800430cc142 \ - --hash=sha256:a45d85cf20b5e0d0aa5a8dca27cce8eddef3292bc29d72dcad1641f4ed50aa16 \ - --hash=sha256:a7d8d14fe962153fc681f6366bdec33d4356f98a3e3567782aac1b6e0e40109a \ - --hash=sha256:a8fa23fe62c436ccf23ff930149c047f060c7126eae3ccea005f0483f27b2e28 \ - --hash=sha256:aa6658732517ddabe22c9036479eabce6036655ba87a0224c612e1ae6af2087e \ - --hash=sha256:aafc8ee9b742ce75044ae9a4d3e60e3d918d15a4c2e08a6c3c3e38fa59b92d94 \ - --hash=sha256:ab5a5a0c7a7991d90446a198689c0535be89bbd6b410a1f9a66688f0880ec026 \ - --hash=sha256:acd48d5b80ee80f9432a165c0ac8cbf9253eaddb6113269a5e18699b33958dbb \ - --hash=sha256:ad7593bb24b2ab09e65e8a1d385606f0f47c65b5a2ae6c551db67d6653e78c28 \ - --hash=sha256:baa42524a82f75303f714108fea528ccacf0386af429b69fff141ffef1c534f9 \ - --hash=sha256:bdfcf6443637c148c4e1a20c48c566aa694fa5e288d34b20fcdc58507882fed3 \ - --hash=sha256:be7443669ae9c016b71f402e43208e13ddf00912f47f623ee5994e12fc7d4b3f \ - --hash=sha256:c02a30b904282777d872266b87b20ed8cc0d1501855e27f831320f471d54d983 \ - --hash=sha256:c1277cd707c465cd09572a774559a3cc7c7a28802eb3a2a9472588f062097205 \ - --hash=sha256:c30a0eafc89d28e7f959281b58198a9fa5e99405f716c0289b7892ca345fe45f \ - --hash=sha256:c5ce2ce7c997e1971b7184ee37deb6ea9922ef5163c6ee5aa3c274b05f9e12fa \ - --hash=sha256:c823bc3971c44ab93e611ab1a46b1eafeae474c0c844aff4b7474287b75fe49c \ - --hash=sha256:ce0cdc074d540265bfeb31336e678b4e37316849d13b308607efa527e981f5c2 \ - --hash=sha256:d1720b4f14c78a3089562b8875b53e36b51c97c51adc53325a69b79b4b48ebcb \ - --hash=sha256:d183cf9c797a5291e8301790ed6d053480ed94070637bfaad914dd38b0981f67 \ - --hash=sha256:d9010c31cd6fa59438da4e58a7f19e4753f7f264300cd152e7f90d4602449762 \ - --hash=sha256:d9e5e4a85bdb56d224f412d9c98ae4cbd032cc4f3161818f692cd81766eee65a \ - --hash=sha256:da1dee8948d2137bb51fbb8a53cce6b1bcc86003c6b42565f008438b806cccd8 \ - --hash=sha256:df9270660711670e68803107d55c2b5949c2e0f2e4896da176e1ecfc068b974a \ - --hash=sha256:e00e3505cd80440f6c98c6d69269dcc2a119f86ad0a9fd70bccc59504bebd68a \ - --hash=sha256:e48d5021a84d341bcaf95c8460b152cfbad770d28e5fe14a768988c461b821bc \ - --hash=sha256:e7f8b04d83483577fd9200461b057c9f14ced334dcb053090cea1da9c8321a91 \ - --hash=sha256:edfe3341033a6b53a5c522c802deb2079eee5cbfbb0af032a55064bd65c73a23 \ - --hash=sha256:ef9c33cc5cbca35808f6c74be11eb7f5f6b14d2311be84a15b594bd3e58b5527 \ - --hash=sha256:f2d4324a98062be0525d16f768a03e0bbb3b9fe301ceee99611dc9a7953124e6 \ - --hash=sha256:f3935f82f6f4a3820270842e90456ebad3af15810cf65932bd24da4463bc0a4c \ - --hash=sha256:f614ab0c76397661b90b6851a030004dac502e48260ea10f2441abd2207fbcc7 \ - --hash=sha256:f7db54c7914cc99d901d93a34704833568d86c20925b2762f9fa779f9cd2e70f \ - --hash=sha256:fbc6264158392bad9df19537e872d476f7c57adf718944cc1e4495cbabf38e2a \ - --hash=sha256:fe2fb38c2ed905a2582948e2de560675e9dfbee94c6d5ccdb1301c6d0a5bf092 \ - --hash=sha256:ffe595f10566f8276b76dc3a11ae4bb7eba1aac8ddd75811736a15b0d5311414 +aiohttp==3.10.9 \ + --hash=sha256:02d1d6610588bcd743fae827bd6f2e47e0d09b346f230824b4c6fb85c6065f9c \ + --hash=sha256:03690541e4cc866eef79626cfa1ef4dd729c5c1408600c8cb9e12e1137eed6ab \ + --hash=sha256:0bc059ecbce835630e635879f5f480a742e130d9821fbe3d2f76610a6698ee25 \ + --hash=sha256:0c21c82df33b264216abffff9f8370f303dab65d8eee3767efbbd2734363f677 \ + --hash=sha256:1298b854fd31d0567cbb916091be9d3278168064fca88e70b8468875ef9ff7e7 \ + --hash=sha256:1321658f12b6caffafdc35cfba6c882cb014af86bef4e78c125e7e794dfb927b \ + --hash=sha256:143b0026a9dab07a05ad2dd9e46aa859bffdd6348ddc5967b42161168c24f857 \ + --hash=sha256:16e6a51d8bc96b77f04a6764b4ad03eeef43baa32014fce71e882bd71302c7e4 \ + --hash=sha256:172ad884bb61ad31ed7beed8be776eb17e7fb423f1c1be836d5cb357a096bf12 \ + --hash=sha256:17c272cfe7b07a5bb0c6ad3f234e0c336fb53f3bf17840f66bd77b5815ab3d16 \ + --hash=sha256:1a0ee6c0d590c917f1b9629371fce5f3d3f22c317aa96fbdcce3260754d7ea21 \ + --hash=sha256:2746d8994ebca1bdc55a1e998feff4e94222da709623bb18f6e5cfec8ec01baf \ + --hash=sha256:2914caa46054f3b5ff910468d686742ff8cff54b8a67319d75f5d5945fd0a13d \ + --hash=sha256:2bbf94d4a0447705b7775417ca8bb8086cc5482023a6e17cdc8f96d0b1b5aba6 \ + --hash=sha256:2bd9f3eac515c16c4360a6a00c38119333901b8590fe93c3257a9b536026594d \ + --hash=sha256:2c33fa6e10bb7ed262e3ff03cc69d52869514f16558db0626a7c5c61dde3c29f \ + --hash=sha256:2d37f4718002863b82c6f391c8efd4d3a817da37030a29e2682a94d2716209de \ + --hash=sha256:3668d0c2a4d23fb136a753eba42caa2c0abbd3d9c5c87ee150a716a16c6deec1 \ + --hash=sha256:36d4fba838be5f083f5490ddd281813b44d69685db910907636bc5dca6322316 \ + --hash=sha256:40ff5b7660f903dc587ed36ef08a88d46840182d9d4b5694e7607877ced698a1 \ + --hash=sha256:42775de0ca04f90c10c5c46291535ec08e9bcc4756f1b48f02a0657febe89b10 \ + --hash=sha256:482c85cf3d429844396d939b22bc2a03849cb9ad33344689ad1c85697bcba33a \ + --hash=sha256:4e6cb75f8ddd9c2132d00bc03c9716add57f4beff1263463724f6398b813e7eb \ + --hash=sha256:4edc3fd701e2b9a0d605a7b23d3de4ad23137d23fc0dbab726aa71d92f11aaaf \ + --hash=sha256:4fd16b30567c5b8e167923be6e027eeae0f20cf2b8a26b98a25115f28ad48ee0 \ + --hash=sha256:5002a02c17fcfd796d20bac719981d2fca9c006aac0797eb8f430a58e9d12431 \ + --hash=sha256:51d0a4901b27272ae54e42067bc4b9a90e619a690b4dc43ea5950eb3070afc32 \ + --hash=sha256:558b3d223fd631ad134d89adea876e7fdb4c93c849ef195049c063ada82b7d08 \ + --hash=sha256:5c070430fda1a550a1c3a4c2d7281d3b8cfc0c6715f616e40e3332201a253067 \ + --hash=sha256:5f392ef50e22c31fa49b5a46af7f983fa3f118f3eccb8522063bee8bfa6755f8 \ + --hash=sha256:60555211a006d26e1a389222e3fab8cd379f28e0fbf7472ee55b16c6c529e3a6 \ + --hash=sha256:608cecd8d58d285bfd52dbca5b6251ca8d6ea567022c8a0eaae03c2589cd9af9 \ + --hash=sha256:60ad5b8a7452c0f5645c73d4dad7490afd6119d453d302cd5b72b678a85d6044 \ + --hash=sha256:63649309da83277f06a15bbdc2a54fbe75efb92caa2c25bb57ca37762789c746 \ + --hash=sha256:6ebdc3b3714afe1b134b3bbeb5f745eed3ecbcff92ab25d80e4ef299e83a5465 \ + --hash=sha256:6f3c6648aa123bcd73d6f26607d59967b607b0da8ffcc27d418a4b59f4c98c7c \ + --hash=sha256:7003f33f5f7da1eb02f0446b0f8d2ccf57d253ca6c2e7a5732d25889da82b517 \ + --hash=sha256:776e9f3c9b377fcf097c4a04b241b15691e6662d850168642ff976780609303c \ + --hash=sha256:85711eec2d875cd88c7eb40e734c4ca6d9ae477d6f26bd2b5bb4f7f60e41b156 \ + --hash=sha256:87d1e4185c5d7187684d41ebb50c9aeaaaa06ca1875f4c57593071b0409d2444 \ + --hash=sha256:8a3f063b41cc06e8d0b3fcbbfc9c05b7420f41287e0cd4f75ce0a1f3d80729e6 \ + --hash=sha256:8b3fb28a9ac8f2558760d8e637dbf27aef1e8b7f1d221e8669a1074d1a266bb2 \ + --hash=sha256:8bd9125dd0cc8ebd84bff2be64b10fdba7dc6fd7be431b5eaf67723557de3a31 \ + --hash=sha256:8be1a65487bdfc285bd5e9baf3208c2132ca92a9b4020e9f27df1b16fab998a9 \ + --hash=sha256:8cc0d13b4e3b1362d424ce3f4e8c79e1f7247a00d792823ffd640878abf28e56 \ + --hash=sha256:8d9d10d10ec27c0d46ddaecc3c5598c4db9ce4e6398ca872cdde0525765caa2f \ + --hash=sha256:8debb45545ad95b58cc16c3c1cc19ad82cffcb106db12b437885dbee265f0ab5 \ + --hash=sha256:91aa966858593f64c8a65cdefa3d6dc8fe3c2768b159da84c1ddbbb2c01ab4ef \ + --hash=sha256:9331dd34145ff105177855017920dde140b447049cd62bb589de320fd6ddd582 \ + --hash=sha256:99f9678bf0e2b1b695e8028fedac24ab6770937932eda695815d5a6618c37e04 \ + --hash=sha256:9fdf5c839bf95fc67be5794c780419edb0dbef776edcfc6c2e5e2ffd5ee755fa \ + --hash=sha256:a14e4b672c257a6b94fe934ee62666bacbc8e45b7876f9dd9502d0f0fe69db16 \ + --hash=sha256:a19caae0d670771ea7854ca30df76f676eb47e0fd9b2ee4392d44708f272122d \ + --hash=sha256:a35ed3d03910785f7d9d6f5381f0c24002b2b888b298e6f941b2fc94c5055fcd \ + --hash=sha256:a61df62966ce6507aafab24e124e0c3a1cfbe23c59732987fc0fd0d71daa0b88 \ + --hash=sha256:a6e00c8a92e7663ed2be6fcc08a2997ff06ce73c8080cd0df10cc0321a3168d7 \ + --hash=sha256:ac3196952c673822ebed8871cf8802e17254fff2a2ed4835d9c045d9b88c5ec7 \ + --hash=sha256:ac74e794e3aee92ae8f571bfeaa103a141e409863a100ab63a253b1c53b707eb \ + --hash=sha256:ad3675c126f2a95bde637d162f8231cff6bc0bc9fbe31bd78075f9ff7921e322 \ + --hash=sha256:aeebd3061f6f1747c011e1d0b0b5f04f9f54ad1a2ca183e687e7277bef2e0da2 \ + --hash=sha256:ba1a599255ad6a41022e261e31bc2f6f9355a419575b391f9655c4d9e5df5ff5 \ + --hash=sha256:bbdb8def5268f3f9cd753a265756f49228a20ed14a480d151df727808b4531dd \ + --hash=sha256:c2555e4949c8d8782f18ef20e9d39730d2656e218a6f1a21a4c4c0b56546a02e \ + --hash=sha256:c2695c61cf53a5d4345a43d689f37fc0f6d3a2dc520660aec27ec0f06288d1f9 \ + --hash=sha256:c2b627d3c8982691b06d89d31093cee158c30629fdfebe705a91814d49b554f8 \ + --hash=sha256:c46131c6112b534b178d4e002abe450a0a29840b61413ac25243f1291613806a \ + --hash=sha256:c54dc329cd44f7f7883a9f4baaefe686e8b9662e2c6c184ea15cceee587d8d69 \ + --hash=sha256:c7d7cafc11d70fdd8801abfc2ff276744ae4cb39d8060b6b542c7e44e5f2cfc2 \ + --hash=sha256:cb0b2d5d51f96b6cc19e6ab46a7b684be23240426ae951dcdac9639ab111b45e \ + --hash=sha256:d15a29424e96fad56dc2f3abed10a89c50c099f97d2416520c7a543e8fddf066 \ + --hash=sha256:d1f5c9169e26db6a61276008582d945405b8316aae2bb198220466e68114a0f5 \ + --hash=sha256:d271f770b52e32236d945911b2082f9318e90ff835d45224fa9e28374303f729 \ + --hash=sha256:d646fdd74c25bbdd4a055414f0fe32896c400f38ffbdfc78c68e62812a9e0257 \ + --hash=sha256:d6e395c3d1f773cf0651cd3559e25182eb0c03a2777b53b4575d8adc1149c6e9 \ + --hash=sha256:d7c071235a47d407b0e93aa6262b49422dbe48d7d8566e1158fecc91043dd948 \ + --hash=sha256:d97273a52d7f89a75b11ec386f786d3da7723d7efae3034b4dda79f6f093edc1 \ + --hash=sha256:dcf354661f54e6a49193d0b5653a1b011ba856e0b7a76bda2c33e4c6892f34ea \ + --hash=sha256:e3e7fabedb3fe06933f47f1538df7b3a8d78e13d7167195f51ca47ee12690373 \ + --hash=sha256:e525b69ee8a92c146ae5b4da9ecd15e518df4d40003b01b454ad694a27f498b5 \ + --hash=sha256:e709d6ac598c5416f879bb1bae3fd751366120ac3fa235a01de763537385d036 \ + --hash=sha256:e83dfefb4f7d285c2d6a07a22268344a97d61579b3e0dce482a5be0251d672ab \ + --hash=sha256:e86260b76786c28acf0b5fe31c8dca4c2add95098c709b11e8c35b424ebd4f5b \ + --hash=sha256:e883b61b75ca6efc2541fcd52a5c8ccfe288b24d97e20ac08fdf343b8ac672ea \ + --hash=sha256:f0a44bb40b6aaa4fb9a5c1ee07880570ecda2065433a96ccff409c9c20c1624a \ + --hash=sha256:f82ace0ec57c94aaf5b0e118d4366cff5889097412c75aa14b4fd5fc0c44ee3e \ + --hash=sha256:f9ca09414003c0e96a735daa1f071f7d7ed06962ef4fa29ceb6c80d06696d900 \ + --hash=sha256:fa430b871220dc62572cef9c69b41e0d70fcb9d486a4a207a5de4c1f25d82593 \ + --hash=sha256:fc262c3df78c8ff6020c782d9ce02e4bcffe4900ad71c0ecdad59943cba54442 \ + --hash=sha256:fcd546782d03181b0b1d20b43d612429a90a68779659ba8045114b867971ab71 \ + --hash=sha256:fd4ceeae2fb8cabdd1b71c82bfdd39662473d3433ec95b962200e9e752fb70d0 \ + --hash=sha256:fec5fac7aea6c060f317f07494961236434928e6f4374e170ef50b3001e14581 # via # -r requirements.in # aio-api-github @@ -522,6 +526,10 @@ envoy-base-utils==0.5.5 \ # envoy-docs-sphinx-runner # envoy-github-release # envoy-gpg-sign +envoy-ci-report==0.0.3 \ + --hash=sha256:1c4bf3cb9f92117eb482186ea4fa58ff15e26641cdaeeae45bb826ae8454859e \ + --hash=sha256:cc59d0980330a4b73cfcaba2a1b5050348c1d6530baffeb354dccea3e46672d2 + # via -r requirements.in envoy-code-check==0.5.13 \ --hash=sha256:58c31be3ba1a3273eec8a76d1dcfe1a3ae5eae4730ca9d70a85fec0d641846c4 \ --hash=sha256:6c568d477642abdf7b41a0b6a5bb21fd480d92e500c53120837a01d4436d8591 @@ -1380,6 +1388,18 @@ trycast==1.2.0 \ # via # aio-core # envoy-base-utils +types-orjson==3.6.2 \ + --hash=sha256:22ee9a79236b6b0bfb35a0684eded62ad930a88a56797fa3c449b026cf7dbfe4 \ + --hash=sha256:cf9afcc79a86325c7aff251790338109ed6f6b1bab09d2d4262dd18c85a3c638 + # via aio-core +types-pytz==2024.2.0.20241003 \ + --hash=sha256:3e22df1336c0c6ad1d29163c8fda82736909eb977281cb823c57f8bae07118b7 \ + --hash=sha256:575dc38f385a922a212bac00a7d6d2e16e141132a3c955078f4a4fd13ed6cb44 + # via aio-core +types-pyyaml==6.0.12.20240917 \ + --hash=sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570 \ + --hash=sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587 + # via aio-core typing-extensions==4.12.2 \ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 diff --git a/tools/ci/BUILD b/tools/ci/BUILD new file mode 100644 index 000000000000..209a59775583 --- /dev/null +++ b/tools/ci/BUILD @@ -0,0 +1,14 @@ +load("//bazel:envoy_build_system.bzl", "envoy_package") +load("//tools/base:envoy_python.bzl", "envoy_entry_point") +load("//tools/python:namespace.bzl", "envoy_py_namespace") + +licenses(["notice"]) # Apache 2 + +envoy_package() + +envoy_py_namespace() + +envoy_entry_point( + name = "report", + pkg = "envoy.ci.report", +) From b0f19e88455d713ebb159985324ff11f3d5241b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:51:57 +0100 Subject: [PATCH 02/78] build(deps): bump frozendict from 2.4.5 to 2.4.6 in /tools/base (#36561) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/base/requirements.txt | 79 +++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/tools/base/requirements.txt b/tools/base/requirements.txt index 71f223029531..dac71d6512d5 100644 --- a/tools/base/requirements.txt +++ b/tools/base/requirements.txt @@ -594,45 +594,46 @@ flake8==7.1.1 \ # -r requirements.in # envoy-code-check # pep8-naming -frozendict==2.4.5 \ - --hash=sha256:043bce9f5e7e8df8313d0c961b2da3346c0b002311d88c74cadae2b1f8fd2904 \ - --hash=sha256:0483776fa25f0c3f9ff75a89b5276a582231f83baea85b091dfefde99b95ac5c \ - --hash=sha256:05786d9cff61ee95149c15cdfc10cf4b4cb10e1eab1d4648b0c99ed58fedb86d \ - --hash=sha256:08e8d4ebc950916b5cdeedcb697cf893c5903d9cb8ab27dffe41072a08e1cfc1 \ - --hash=sha256:14755127b988b428f95f11fa626374e247f8a40316697218f1e2f44c107c5027 \ - --hash=sha256:1f364cfe5ef97523a4434e9f458bb4821594d3531d898621e5acae43463dcb5e \ - --hash=sha256:20cf1db30ca0c8f76a05ec1256132f505cf6f93eb382a5961c738377037b5b9d \ - --hash=sha256:24953a1cfe344415e7557413e493e21fa9c4cecbc13284b6f334837aa5601c9f \ - --hash=sha256:2b51e0aae859fc8d56138eac4be121a76647fa66ea620af8a62d9d6938729441 \ - --hash=sha256:35730ff269b8a6eb07c3d91d5fd6a7f5c32e08bef665fe1ef51012bdb2702196 \ - --hash=sha256:3702438d81deab127963ab41dca1738a0fbf11038a50a25c5f814943a2d25de5 \ - --hash=sha256:3af1b09bad761d5500b096b757c346591b5dfdc8443aa9642c2c02b4885dc09e \ - --hash=sha256:4b3eea1678607174c468fe4e3b903625bccfb3215ae2b0138220dc1f6ef71f37 \ - --hash=sha256:4f073c926b1f88fa85ed85222101f61f6c4b2180c95d1528ca6ecc7cef835442 \ - --hash=sha256:6be054ba76e8a49c6846a7369db3eaaa0593c29a644026c25923f13fdea06483 \ - --hash=sha256:6d10ad91ded20fae8737fddcfed1b6358207f95292a335f96c4cd365d97f5e30 \ - --hash=sha256:73ff80ce3f95c3ec60b38ef4ddf5cb8e20ea3edce2f56e89af7c4c45013684bf \ - --hash=sha256:754924d53b1fd2dae7b15f9c86b0610334a840ae728cc717f24aa040fc94136f \ - --hash=sha256:76c7af5f9db9ae01531edaf38fd3e8faae1bb6b94abbf8fa5bd0326f52e777df \ - --hash=sha256:8582f26ca862bb1e40ed790d934adf6afcfc904b0425dcfe01aed2103bed27fb \ - --hash=sha256:95bf788d65e3a50d9deef5c68e568c59acf473fea8a7a4d7e405a7e63ac85cdd \ - --hash=sha256:98b1483980c47bb74ef777ab748031a69eb41c43ef44494e9db79111638fdb84 \ - --hash=sha256:a5448639058157ccd7f26ba83e441066c6ae515beb68b9b99d5b2dbb0bb36b19 \ - --hash=sha256:a81d80ded07f0e34a3fa2b78235a48259b886ad20a96da5526a9404d192c6eb3 \ - --hash=sha256:a967730a115cb8b5d028e0d07cd680c04324e913ee3d1caef9e039ca740343c4 \ - --hash=sha256:af4bdffecff350a68f1a966dec84459d3ea8e2606c14fb3ebe937b8c6c9e9129 \ - --hash=sha256:b8481d83a7219e9e14c719113ea2d8321d7840af35af58c72b3864b7123e7de3 \ - --hash=sha256:bbf9dcb69a44519308c775bcf72b8417c3102f415f77df19b8eddb97b8f88d78 \ - --hash=sha256:d2b2a9c809ebb54c8c0fe2acc38d45299f3e9a9d90061773468896221cab1eaa \ - --hash=sha256:de1126d6dd39d7939be388161b973ffadb9c6e97f8f9fdcb52ba790828621191 \ - --hash=sha256:dee64c44e1a146171bdd2bf4501210f273a5ab73cc2e924a01f81b14e4612f94 \ - --hash=sha256:e591124818f2d5d8f2d284a7b78604f4180e73d770c33252370edccff5969293 \ - --hash=sha256:eb58e0c41bc6bb60a8b0852d50da8836380fb78311608dc26791e3e9aa25bcfe \ - --hash=sha256:ee3e6f4013446d17c580ce0bac41a1f81371c21dd6e34a85c0f26bae94fdfd9b \ - --hash=sha256:f1385852cb05a31ae76c972caa3a07679414b01a664848bde2bae71c9910f045 \ - --hash=sha256:f2ff03ed21657cde7ea04fffc76f0c1736100a03671e4682722685e63486cd96 \ - --hash=sha256:f8d677a6066ca3289181028fccabf77413addddaa7a6629485d52aeaa4f4899c \ - --hash=sha256:fd7add309789595c044c0155a0bddfa9d20c77f65de1e33a14aa3033b936ef63 +frozendict==2.4.6 \ + --hash=sha256:02331541611f3897f260900a1815b63389654951126e6e65545e529b63c08361 \ + --hash=sha256:0aaa11e7c472150efe65adbcd6c17ac0f586896096ab3963775e1c5c58ac0098 \ + --hash=sha256:18d50a2598350b89189da9150058191f55057581e40533e470db46c942373acf \ + --hash=sha256:1b4a3f8f6dd51bee74a50995c39b5a606b612847862203dd5483b9cd91b0d36a \ + --hash=sha256:1f42e6b75254ea2afe428ad6d095b62f95a7ae6d4f8272f0bd44a25dddd20f67 \ + --hash=sha256:2d69418479bfb834ba75b0e764f058af46ceee3d655deb6a0dd0c0c1a5e82f09 \ + --hash=sha256:323f1b674a2cc18f86ab81698e22aba8145d7a755e0ac2cccf142ee2db58620d \ + --hash=sha256:377a65be0a700188fc21e669c07de60f4f6d35fae8071c292b7df04776a1c27b \ + --hash=sha256:49344abe90fb75f0f9fdefe6d4ef6d4894e640fadab71f11009d52ad97f370b9 \ + --hash=sha256:49ffaf09241bc1417daa19362a2241a4aa435f758fd4375c39ce9790443a39cd \ + --hash=sha256:622301b1c29c4f9bba633667d592a3a2b093cb408ba3ce578b8901ace3931ef3 \ + --hash=sha256:665fad3f0f815aa41294e561d98dbedba4b483b3968e7e8cab7d728d64b96e33 \ + --hash=sha256:669237c571856be575eca28a69e92a3d18f8490511eff184937283dc6093bd67 \ + --hash=sha256:7088102345d1606450bd1801a61139bbaa2cb0d805b9b692f8d81918ea835da6 \ + --hash=sha256:7134a2bb95d4a16556bb5f2b9736dceb6ea848fa5b6f3f6c2d6dba93b44b4757 \ + --hash=sha256:7291abacf51798d5ffe632771a69c14fb423ab98d63c4ccd1aa382619afe2f89 \ + --hash=sha256:74b6b26c15dddfefddeb89813e455b00ebf78d0a3662b89506b4d55c6445a9f4 \ + --hash=sha256:7730f8ebe791d147a1586cbf6a42629351d4597773317002181b66a2da0d509e \ + --hash=sha256:807862e14b0e9665042458fde692c4431d660c4219b9bb240817f5b918182222 \ + --hash=sha256:94321e646cc39bebc66954a31edd1847d3a2a3483cf52ff051cd0996e7db07db \ + --hash=sha256:9647c74efe3d845faa666d4853cfeabbaee403b53270cabfc635b321f770e6b8 \ + --hash=sha256:9a8a43036754a941601635ea9c788ebd7a7efbed2becba01b54a887b41b175b9 \ + --hash=sha256:a4e3737cb99ed03200cd303bdcd5514c9f34b29ee48f405c1184141bd68611c9 \ + --hash=sha256:a76cee5c4be2a5d1ff063188232fffcce05dde6fd5edd6afe7b75b247526490e \ + --hash=sha256:b8f2829048f29fe115da4a60409be2130e69402e29029339663fac39c90e6e2b \ + --hash=sha256:ba5ef7328706db857a2bdb2c2a17b4cd37c32a19c017cff1bb7eeebc86b0f411 \ + --hash=sha256:c131f10c4d3906866454c4e89b87a7e0027d533cce8f4652aa5255112c4d6677 \ + --hash=sha256:c3a05c0a50cab96b4bb0ea25aa752efbfceed5ccb24c007612bc63e51299336f \ + --hash=sha256:c9905dcf7aa659e6a11b8051114c9fa76dfde3a6e50e6dc129d5aece75b449a2 \ + --hash=sha256:ce1e9217b85eec6ba9560d520d5089c82dbb15f977906eb345d81459723dd7e3 \ + --hash=sha256:d065db6a44db2e2375c23eac816f1a022feb2fa98cbb50df44a9e83700accbea \ + --hash=sha256:da6a10164c8a50b34b9ab508a9420df38f4edf286b9ca7b7df8a91767baecb34 \ + --hash=sha256:df7cd16470fbd26fc4969a208efadc46319334eb97def1ddf48919b351192b8e \ + --hash=sha256:e72fb86e48811957d66ffb3e95580af7b1af1e6fbd760ad63d7bd79b2c9a07f8 \ + --hash=sha256:eabd21d8e5db0c58b60d26b4bb9839cac13132e88277e1376970172a85ee04b3 \ + --hash=sha256:eddabeb769fab1e122d3a6872982c78179b5bcc909fdc769f3cf1964f55a6d20 \ + --hash=sha256:f4c789fd70879ccb6289a603cdebdc4953e7e5dea047d30c1b180529b28257b5 \ + --hash=sha256:f5b94d5b07c00986f9e37a38dd83c13f5fe3bf3f1ccc8e88edea8fe15d6cd88c \ + --hash=sha256:fc67cbb3c96af7a798fab53d52589752c1673027e516b702ab355510ddf6bdff # via # -r requirements.in # aio-run-runner From 3e03b6963370deebf1a4da3ff90301763fadd992 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:52:24 +0100 Subject: [PATCH 03/78] build(deps): bump actions/upload-artifact from 4.4.0 to 4.4.3 (#36528) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 88324734fb7e..05c18a27ad09 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -33,7 +33,7 @@ jobs: publish_results: true - name: "Upload artifact" - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: SARIF file path: results.sarif From d4a72e04cee55dbd8f1e6c7c91ef1853046069d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 08:52:45 +0000 Subject: [PATCH 04/78] build(deps): bump yarl from 1.13.1 to 1.15.2 in /tools/base (#36559) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/base/requirements.txt | 292 ++++++++++++++++++++++++------------ 1 file changed, 199 insertions(+), 93 deletions(-) diff --git a/tools/base/requirements.txt b/tools/base/requirements.txt index dac71d6512d5..cbdbc10bce6f 100644 --- a/tools/base/requirements.txt +++ b/tools/base/requirements.txt @@ -1071,6 +1071,106 @@ ply==3.11 \ --hash=sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 \ --hash=sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce # via -r requirements.in +propcache==0.2.0 \ + --hash=sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9 \ + --hash=sha256:0e53cb83fdd61cbd67202735e6a6687a7b491c8742dfc39c9e01e80354956763 \ + --hash=sha256:1235c01ddaa80da8235741e80815ce381c5267f96cc49b1477fdcf8c047ef325 \ + --hash=sha256:140fbf08ab3588b3468932974a9331aff43c0ab8a2ec2c608b6d7d1756dbb6cb \ + --hash=sha256:191db28dc6dcd29d1a3e063c3be0b40688ed76434622c53a284e5427565bbd9b \ + --hash=sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09 \ + --hash=sha256:1ec43d76b9677637a89d6ab86e1fef70d739217fefa208c65352ecf0282be957 \ + --hash=sha256:20a617c776f520c3875cf4511e0d1db847a076d720714ae35ffe0df3e440be68 \ + --hash=sha256:218db2a3c297a3768c11a34812e63b3ac1c3234c3a086def9c0fee50d35add1f \ + --hash=sha256:22aa8f2272d81d9317ff5756bb108021a056805ce63dd3630e27d042c8092798 \ + --hash=sha256:25a1f88b471b3bc911d18b935ecb7115dff3a192b6fef46f0bfaf71ff4f12418 \ + --hash=sha256:25c8d773a62ce0451b020c7b29a35cfbc05de8b291163a7a0f3b7904f27253e6 \ + --hash=sha256:2a60ad3e2553a74168d275a0ef35e8c0a965448ffbc3b300ab3a5bb9956c2162 \ + --hash=sha256:2a66df3d4992bc1d725b9aa803e8c5a66c010c65c741ad901e260ece77f58d2f \ + --hash=sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036 \ + --hash=sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8 \ + --hash=sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2 \ + --hash=sha256:33ac8f098df0585c0b53009f039dfd913b38c1d2edafed0cedcc0c32a05aa110 \ + --hash=sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23 \ + --hash=sha256:363ea8cd3c5cb6679f1c2f5f1f9669587361c062e4899fce56758efa928728f8 \ + --hash=sha256:375a12d7556d462dc64d70475a9ee5982465fbb3d2b364f16b86ba9135793638 \ + --hash=sha256:388f3217649d6d59292b722d940d4d2e1e6a7003259eb835724092a1cca0203a \ + --hash=sha256:3947483a381259c06921612550867b37d22e1df6d6d7e8361264b6d037595f44 \ + --hash=sha256:39e104da444a34830751715f45ef9fc537475ba21b7f1f5b0f4d71a3b60d7fe2 \ + --hash=sha256:3c997f8c44ec9b9b0bcbf2d422cc00a1d9b9c681f56efa6ca149a941e5560da2 \ + --hash=sha256:3dfafb44f7bb35c0c06eda6b2ab4bfd58f02729e7c4045e179f9a861b07c9850 \ + --hash=sha256:3ebbcf2a07621f29638799828b8d8668c421bfb94c6cb04269130d8de4fb7136 \ + --hash=sha256:3f88a4095e913f98988f5b338c1d4d5d07dbb0b6bad19892fd447484e483ba6b \ + --hash=sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887 \ + --hash=sha256:4569158070180c3855e9c0791c56be3ceeb192defa2cdf6a3f39e54319e56b89 \ + --hash=sha256:466c219deee4536fbc83c08d09115249db301550625c7fef1c5563a584c9bc87 \ + --hash=sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348 \ + --hash=sha256:4c7dde9e533c0a49d802b4f3f218fa9ad0a1ce21f2c2eb80d5216565202acab4 \ + --hash=sha256:53d1bd3f979ed529f0805dd35ddaca330f80a9a6d90bc0121d2ff398f8ed8861 \ + --hash=sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e \ + --hash=sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c \ + --hash=sha256:56bb5c98f058a41bb58eead194b4db8c05b088c93d94d5161728515bd52b052b \ + --hash=sha256:5a5b3bb545ead161be780ee85a2b54fdf7092815995661947812dde94a40f6fb \ + --hash=sha256:5f2564ec89058ee7c7989a7b719115bdfe2a2fb8e7a4543b8d1c0cc4cf6478c1 \ + --hash=sha256:608cce1da6f2672a56b24a015b42db4ac612ee709f3d29f27a00c943d9e851de \ + --hash=sha256:63f13bf09cc3336eb04a837490b8f332e0db41da66995c9fd1ba04552e516354 \ + --hash=sha256:662dd62358bdeaca0aee5761de8727cfd6861432e3bb828dc2a693aa0471a563 \ + --hash=sha256:676135dcf3262c9c5081cc8f19ad55c8a64e3f7282a21266d05544450bffc3a5 \ + --hash=sha256:67aeb72e0f482709991aa91345a831d0b707d16b0257e8ef88a2ad246a7280bf \ + --hash=sha256:67b69535c870670c9f9b14a75d28baa32221d06f6b6fa6f77a0a13c5a7b0a5b9 \ + --hash=sha256:682a7c79a2fbf40f5dbb1eb6bfe2cd865376deeac65acf9beb607505dced9e12 \ + --hash=sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4 \ + --hash=sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5 \ + --hash=sha256:6e2e54267980349b723cff366d1e29b138b9a60fa376664a157a342689553f71 \ + --hash=sha256:73e4b40ea0eda421b115248d7e79b59214411109a5bc47d0d48e4c73e3b8fcf9 \ + --hash=sha256:74acd6e291f885678631b7ebc85d2d4aec458dd849b8c841b57ef04047833bed \ + --hash=sha256:7665f04d0c7f26ff8bb534e1c65068409bf4687aa2534faf7104d7182debb336 \ + --hash=sha256:7735e82e3498c27bcb2d17cb65d62c14f1100b71723b68362872bca7d0913d90 \ + --hash=sha256:77a86c261679ea5f3896ec060be9dc8e365788248cc1e049632a1be682442063 \ + --hash=sha256:7cf18abf9764746b9c8704774d8b06714bcb0a63641518a3a89c7f85cc02c2ad \ + --hash=sha256:83928404adf8fb3d26793665633ea79b7361efa0287dfbd372a7e74311d51ee6 \ + --hash=sha256:8e40876731f99b6f3c897b66b803c9e1c07a989b366c6b5b475fafd1f7ba3fb8 \ + --hash=sha256:8f188cfcc64fb1266f4684206c9de0e80f54622c3f22a910cbd200478aeae61e \ + --hash=sha256:91997d9cb4a325b60d4e3f20967f8eb08dfcb32b22554d5ef78e6fd1dda743a2 \ + --hash=sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7 \ + --hash=sha256:92fe151145a990c22cbccf9ae15cae8ae9eddabfc949a219c9f667877e40853d \ + --hash=sha256:945db8ee295d3af9dbdbb698cce9bbc5c59b5c3fe328bbc4387f59a8a35f998d \ + --hash=sha256:9517d5e9e0731957468c29dbfd0f976736a0e55afaea843726e887f36fe017df \ + --hash=sha256:952e0d9d07609d9c5be361f33b0d6d650cd2bae393aabb11d9b719364521984b \ + --hash=sha256:97a58a28bcf63284e8b4d7b460cbee1edaab24634e82059c7b8c09e65284f178 \ + --hash=sha256:97e48e8875e6c13909c800fa344cd54cc4b2b0db1d5f911f840458a500fde2c2 \ + --hash=sha256:9e0f07b42d2a50c7dd2d8675d50f7343d998c64008f1da5fef888396b7f84630 \ + --hash=sha256:a3dc1a4b165283bd865e8f8cb5f0c64c05001e0718ed06250d8cac9bec115b48 \ + --hash=sha256:a3ebe9a75be7ab0b7da2464a77bb27febcb4fab46a34f9288f39d74833db7f61 \ + --hash=sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89 \ + --hash=sha256:a6ed8db0a556343d566a5c124ee483ae113acc9a557a807d439bcecc44e7dfbb \ + --hash=sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3 \ + --hash=sha256:b33d7a286c0dc1a15f5fc864cc48ae92a846df287ceac2dd499926c3801054a6 \ + --hash=sha256:bc092ba439d91df90aea38168e11f75c655880c12782facf5cf9c00f3d42b562 \ + --hash=sha256:c436130cc779806bdf5d5fae0d848713105472b8566b75ff70048c47d3961c5b \ + --hash=sha256:c5869b8fd70b81835a6f187c5fdbe67917a04d7e52b6e7cc4e5fe39d55c39d58 \ + --hash=sha256:c5ecca8f9bab618340c8e848d340baf68bcd8ad90a8ecd7a4524a81c1764b3db \ + --hash=sha256:cfac69017ef97db2438efb854edf24f5a29fd09a536ff3a992b75990720cdc99 \ + --hash=sha256:d2f0d0f976985f85dfb5f3d685697ef769faa6b71993b46b295cdbbd6be8cc37 \ + --hash=sha256:d5bed7f9805cc29c780f3aee05de3262ee7ce1f47083cfe9f77471e9d6777e83 \ + --hash=sha256:d6a21ef516d36909931a2967621eecb256018aeb11fc48656e3257e73e2e247a \ + --hash=sha256:d9b6ddac6408194e934002a69bcaadbc88c10b5f38fb9307779d1c629181815d \ + --hash=sha256:db47514ffdbd91ccdc7e6f8407aac4ee94cc871b15b577c1c324236b013ddd04 \ + --hash=sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70 \ + --hash=sha256:e4a91d44379f45f5e540971d41e4626dacd7f01004826a18cb048e7da7e96544 \ + --hash=sha256:e63e3e1e0271f374ed489ff5ee73d4b6e7c60710e1f76af5f0e1a6117cd26394 \ + --hash=sha256:e70fac33e8b4ac63dfc4c956fd7d85a0b1139adcfc0d964ce288b7c527537fea \ + --hash=sha256:ecddc221a077a8132cf7c747d5352a15ed763b674c0448d811f408bf803d9ad7 \ + --hash=sha256:f45eec587dafd4b2d41ac189c2156461ebd0c1082d2fe7013571598abb8505d1 \ + --hash=sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793 \ + --hash=sha256:f571aea50ba5623c308aa146eb650eebf7dbe0fd8c5d946e28343cb3b5aad577 \ + --hash=sha256:f60f0ac7005b9f5a6091009b09a419ace1610e163fa5deaba5ce3484341840e7 \ + --hash=sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57 \ + --hash=sha256:f6d5749fdd33d90e34c2efb174c7e236829147a2713334d708746e94c4bde40d \ + --hash=sha256:f902804113e032e2cdf8c71015651c97af6418363bea8d78dc0911d56c335032 \ + --hash=sha256:fa1076244f54bb76e65e22cb6910365779d5c3d71d1f18b275f1dfc7b0d71b4d \ + --hash=sha256:fc2db02409338bf36590aa985a461b2c96fce91f8e7e0f14c50c5fcc4f229016 \ + --hash=sha256:ffcad6c564fe6b9b8916c1aefbb37a362deebf9394bd2974e9d84232e3e08504 + # via yarl protobuf==5.28.2 \ --hash=sha256:2c69461a7fcc8e24be697624c09a839976d82ae75062b11a0972e41fd2cd9132 \ --hash=sha256:35cfcb15f213449af7ff6198d6eb5f739c37d7e4f1c09b5d0641babf2cc0c68f \ @@ -1544,99 +1644,105 @@ yapf==0.40.2 \ # via # -r requirements.in # envoy-code-check -yarl==1.13.1 \ - --hash=sha256:08d7148ff11cb8e886d86dadbfd2e466a76d5dd38c7ea8ebd9b0e07946e76e4b \ - --hash=sha256:098b870c18f1341786f290b4d699504e18f1cd050ed179af8123fd8232513424 \ - --hash=sha256:11b3ca8b42a024513adce810385fcabdd682772411d95bbbda3b9ed1a4257644 \ - --hash=sha256:1891d69a6ba16e89473909665cd355d783a8a31bc84720902c5911dbb6373465 \ - --hash=sha256:1bbb418f46c7f7355084833051701b2301092e4611d9e392360c3ba2e3e69f88 \ - --hash=sha256:1d0828e17fa701b557c6eaed5edbd9098eb62d8838344486248489ff233998b8 \ - --hash=sha256:1d8e3ca29f643dd121f264a7c89f329f0fcb2e4461833f02de6e39fef80f89da \ - --hash=sha256:1fa56f34b2236f5192cb5fceba7bbb09620e5337e0b6dfe2ea0ddbd19dd5b154 \ - --hash=sha256:216a6785f296169ed52cd7dcdc2612f82c20f8c9634bf7446327f50398732a51 \ - --hash=sha256:22b739f99c7e4787922903f27a892744189482125cc7b95b747f04dd5c83aa9f \ - --hash=sha256:2430cf996113abe5aee387d39ee19529327205cda975d2b82c0e7e96e5fdabdc \ - --hash=sha256:269c201bbc01d2cbba5b86997a1e0f73ba5e2f471cfa6e226bcaa7fd664b598d \ - --hash=sha256:298c1eecfd3257aa16c0cb0bdffb54411e3e831351cd69e6b0739be16b1bdaa8 \ - --hash=sha256:2a93a4557f7fc74a38ca5a404abb443a242217b91cd0c4840b1ebedaad8919d4 \ - --hash=sha256:2b2442a415a5f4c55ced0fade7b72123210d579f7d950e0b5527fc598866e62c \ - --hash=sha256:2db874dd1d22d4c2c657807562411ffdfabec38ce4c5ce48b4c654be552759dc \ - --hash=sha256:309c104ecf67626c033845b860d31594a41343766a46fa58c3309c538a1e22b2 \ - --hash=sha256:31497aefd68036d8e31bfbacef915826ca2e741dbb97a8d6c7eac66deda3b606 \ - --hash=sha256:373f16f38721c680316a6a00ae21cc178e3a8ef43c0227f88356a24c5193abd6 \ - --hash=sha256:396e59b8de7e4d59ff5507fb4322d2329865b909f29a7ed7ca37e63ade7f835c \ - --hash=sha256:3bb83a0f12701c0b91112a11148b5217617982e1e466069d0555be9b372f2734 \ - --hash=sha256:3de86547c820e4f4da4606d1c8ab5765dd633189791f15247706a2eeabc783ae \ - --hash=sha256:3fdbf0418489525231723cdb6c79e7738b3cbacbaed2b750cb033e4ea208f220 \ - --hash=sha256:40c6e73c03a6befb85b72da213638b8aaa80fe4136ec8691560cf98b11b8ae6e \ - --hash=sha256:44a4c40a6f84e4d5955b63462a0e2a988f8982fba245cf885ce3be7618f6aa7d \ - --hash=sha256:44b07e1690f010c3c01d353b5790ec73b2f59b4eae5b0000593199766b3f7a5c \ - --hash=sha256:45d23c4668d4925688e2ea251b53f36a498e9ea860913ce43b52d9605d3d8177 \ - --hash=sha256:45f209fb4bbfe8630e3d2e2052535ca5b53d4ce2d2026bed4d0637b0416830da \ - --hash=sha256:4afdf84610ca44dcffe8b6c22c68f309aff96be55f5ea2fa31c0c225d6b83e23 \ - --hash=sha256:4feaaa4742517eaceafcbe74595ed335a494c84634d33961214b278126ec1485 \ - --hash=sha256:576365c9f7469e1f6124d67b001639b77113cfd05e85ce0310f5f318fd02fe85 \ - --hash=sha256:5820bd4178e6a639b3ef1db8b18500a82ceab6d8b89309e121a6859f56585b05 \ - --hash=sha256:5989a38ba1281e43e4663931a53fbf356f78a0325251fd6af09dd03b1d676a09 \ - --hash=sha256:5a9bacedbb99685a75ad033fd4de37129449e69808e50e08034034c0bf063f99 \ - --hash=sha256:5b66c87da3c6da8f8e8b648878903ca54589038a0b1e08dde2c86d9cd92d4ac9 \ - --hash=sha256:5c5e32fef09ce101fe14acd0f498232b5710effe13abac14cd95de9c274e689e \ - --hash=sha256:658e8449b84b92a4373f99305de042b6bd0d19bf2080c093881e0516557474a5 \ - --hash=sha256:6a2acde25be0cf9be23a8f6cbd31734536a264723fca860af3ae5e89d771cd71 \ - --hash=sha256:6a5185ad722ab4dd52d5fb1f30dcc73282eb1ed494906a92d1a228d3f89607b0 \ - --hash=sha256:6b7f6e699304717fdc265a7e1922561b02a93ceffdaefdc877acaf9b9f3080b8 \ - --hash=sha256:703b0f584fcf157ef87816a3c0ff868e8c9f3c370009a8b23b56255885528f10 \ - --hash=sha256:7055bbade838d68af73aea13f8c86588e4bcc00c2235b4b6d6edb0dbd174e246 \ - --hash=sha256:78f271722423b2d4851cf1f4fa1a1c4833a128d020062721ba35e1a87154a049 \ - --hash=sha256:7addd26594e588503bdef03908fc207206adac5bd90b6d4bc3e3cf33a829f57d \ - --hash=sha256:81bad32c8f8b5897c909bf3468bf601f1b855d12f53b6af0271963ee67fff0d2 \ - --hash=sha256:82e692fb325013a18a5b73a4fed5a1edaa7c58144dc67ad9ef3d604eccd451ad \ - --hash=sha256:84bbcdcf393139f0abc9f642bf03f00cac31010f3034faa03224a9ef0bb74323 \ - --hash=sha256:86c438ce920e089c8c2388c7dcc8ab30dfe13c09b8af3d306bcabb46a053d6f7 \ - --hash=sha256:8be8cdfe20787e6a5fcbd010f8066227e2bb9058331a4eccddec6c0db2bb85b2 \ - --hash=sha256:8c723c91c94a3bc8033dd2696a0f53e5d5f8496186013167bddc3fb5d9df46a3 \ - --hash=sha256:8ca53632007c69ddcdefe1e8cbc3920dd88825e618153795b57e6ebcc92e752a \ - --hash=sha256:8f722f30366474a99745533cc4015b1781ee54b08de73260b2bbe13316079851 \ - --hash=sha256:942c80a832a79c3707cca46bd12ab8aa58fddb34b1626d42b05aa8f0bcefc206 \ - --hash=sha256:94a993f976cdcb2dc1b855d8b89b792893220db8862d1a619efa7451817c836b \ - --hash=sha256:95c6737f28069153c399d875317f226bbdea939fd48a6349a3b03da6829fb550 \ - --hash=sha256:9915300fe5a0aa663c01363db37e4ae8e7c15996ebe2c6cce995e7033ff6457f \ - --hash=sha256:9a18595e6a2ee0826bf7dfdee823b6ab55c9b70e8f80f8b77c37e694288f5de1 \ - --hash=sha256:9c8854b9f80693d20cec797d8e48a848c2fb273eb6f2587b57763ccba3f3bd4b \ - --hash=sha256:9cec42a20eae8bebf81e9ce23fb0d0c729fc54cf00643eb251ce7c0215ad49fe \ - --hash=sha256:9d2e1626be8712333a9f71270366f4a132f476ffbe83b689dd6dc0d114796c74 \ - --hash=sha256:9d74f3c335cfe9c21ea78988e67f18eb9822f5d31f88b41aec3a1ec5ecd32da5 \ - --hash=sha256:9fb4134cc6e005b99fa29dbc86f1ea0a298440ab6b07c6b3ee09232a3b48f495 \ - --hash=sha256:a0ae6637b173d0c40b9c1462e12a7a2000a71a3258fa88756a34c7d38926911c \ - --hash=sha256:a31d21089894942f7d9a8df166b495101b7258ff11ae0abec58e32daf8088813 \ - --hash=sha256:a3442c31c11088e462d44a644a454d48110f0588de830921fd201060ff19612a \ - --hash=sha256:ab9524e45ee809a083338a749af3b53cc7efec458c3ad084361c1dbf7aaf82a2 \ - --hash=sha256:b1481c048fe787f65e34cb06f7d6824376d5d99f1231eae4778bbe5c3831076d \ - --hash=sha256:b8c837ab90c455f3ea8e68bee143472ee87828bff19ba19776e16ff961425b57 \ - --hash=sha256:bbf2c3f04ff50f16404ce70f822cdc59760e5e2d7965905f0e700270feb2bbfc \ - --hash=sha256:bbf9c2a589be7414ac4a534d54e4517d03f1cbb142c0041191b729c2fa23f320 \ - --hash=sha256:bcd5bf4132e6a8d3eb54b8d56885f3d3a38ecd7ecae8426ecf7d9673b270de43 \ - --hash=sha256:c14c16831b565707149c742d87a6203eb5597f4329278446d5c0ae7a1a43928e \ - --hash=sha256:c49f3e379177f4477f929097f7ed4b0622a586b0aa40c07ac8c0f8e40659a1ac \ - --hash=sha256:c92b89bffc660f1274779cb6fbb290ec1f90d6dfe14492523a0667f10170de26 \ - --hash=sha256:cd66152561632ed4b2a9192e7f8e5a1d41e28f58120b4761622e0355f0fe034c \ - --hash=sha256:cf1ad338620249f8dd6d4b6a91a69d1f265387df3697ad5dc996305cf6c26fb2 \ - --hash=sha256:d07b52c8c450f9366c34aa205754355e933922c79135125541daae6cbf31c799 \ - --hash=sha256:d0d12fe78dcf60efa205e9a63f395b5d343e801cf31e5e1dda0d2c1fb618073d \ - --hash=sha256:d4ee1d240b84e2f213565f0ec08caef27a0e657d4c42859809155cf3a29d1735 \ - --hash=sha256:d959fe96e5c2712c1876d69af0507d98f0b0e8d81bee14cfb3f6737470205419 \ - --hash=sha256:dcaef817e13eafa547cdfdc5284fe77970b891f731266545aae08d6cce52161e \ - --hash=sha256:df4e82e68f43a07735ae70a2d84c0353e58e20add20ec0af611f32cd5ba43fb4 \ - --hash=sha256:ec8cfe2295f3e5e44c51f57272afbd69414ae629ec7c6b27f5a410efc78b70a0 \ - --hash=sha256:ec9dd328016d8d25702a24ee274932aebf6be9787ed1c28d021945d264235b3c \ - --hash=sha256:ef9b85fa1bc91c4db24407e7c4da93a5822a73dd4513d67b454ca7064e8dc6a3 \ - --hash=sha256:f3bf60444269345d712838bb11cc4eadaf51ff1a364ae39ce87a5ca8ad3bb2c8 \ - --hash=sha256:f452cc1436151387d3d50533523291d5f77c6bc7913c116eb985304abdbd9ec9 \ - --hash=sha256:f7917697bcaa3bc3e83db91aa3a0e448bf5cde43c84b7fc1ae2427d2417c0224 \ - --hash=sha256:f90575e9fe3aae2c1e686393a9689c724cd00045275407f71771ae5d690ccf38 \ - --hash=sha256:fb382fd7b4377363cc9f13ba7c819c3c78ed97c36a82f16f3f92f108c787cbbf \ - --hash=sha256:fb9f59f3848edf186a76446eb8bcf4c900fe147cb756fbbd730ef43b2e67c6a7 \ - --hash=sha256:fc2931ac9ce9c61c9968989ec831d3a5e6fcaaff9474e7cfa8de80b7aff5a093 +yarl==1.15.2 \ + --hash=sha256:0545de8c688fbbf3088f9e8b801157923be4bf8e7b03e97c2ecd4dfa39e48e0e \ + --hash=sha256:076b1ed2ac819933895b1a000904f62d615fe4533a5cf3e052ff9a1da560575c \ + --hash=sha256:0afad2cd484908f472c8fe2e8ef499facee54a0a6978be0e0cff67b1254fd747 \ + --hash=sha256:0ccaa1bc98751fbfcf53dc8dfdb90d96e98838010fc254180dd6707a6e8bb179 \ + --hash=sha256:0d3105efab7c5c091609abacad33afff33bdff0035bece164c98bcf5a85ef90a \ + --hash=sha256:0e1af74a9529a1137c67c887ed9cde62cff53aa4d84a3adbec329f9ec47a3936 \ + --hash=sha256:136f9db0f53c0206db38b8cd0c985c78ded5fd596c9a86ce5c0b92afb91c3a19 \ + --hash=sha256:156ececdf636143f508770bf8a3a0498de64da5abd890c7dbb42ca9e3b6c05b8 \ + --hash=sha256:15c87339490100c63472a76d87fe7097a0835c705eb5ae79fd96e343473629ed \ + --hash=sha256:1695497bb2a02a6de60064c9f077a4ae9c25c73624e0d43e3aa9d16d983073c2 \ + --hash=sha256:173563f3696124372831007e3d4b9821746964a95968628f7075d9231ac6bb33 \ + --hash=sha256:173866d9f7409c0fb514cf6e78952e65816600cb888c68b37b41147349fe0057 \ + --hash=sha256:23ec1d3c31882b2a8a69c801ef58ebf7bae2553211ebbddf04235be275a38548 \ + --hash=sha256:243fbbbf003754fe41b5bdf10ce1e7f80bcc70732b5b54222c124d6b4c2ab31c \ + --hash=sha256:28c6cf1d92edf936ceedc7afa61b07e9d78a27b15244aa46bbcd534c7458ee1b \ + --hash=sha256:2aa738e0282be54eede1e3f36b81f1e46aee7ec7602aa563e81e0e8d7b67963f \ + --hash=sha256:2cf441c4b6e538ba0d2591574f95d3fdd33f1efafa864faa077d9636ecc0c4e9 \ + --hash=sha256:30c3ff305f6e06650a761c4393666f77384f1cc6c5c0251965d6bfa5fbc88f7f \ + --hash=sha256:31561a5b4d8dbef1559b3600b045607cf804bae040f64b5f5bca77da38084a8a \ + --hash=sha256:32b66be100ac5739065496c74c4b7f3015cef792c3174982809274d7e51b3e04 \ + --hash=sha256:3433da95b51a75692dcf6cc8117a31410447c75a9a8187888f02ad45c0a86c50 \ + --hash=sha256:34a2d76a1984cac04ff8b1bfc939ec9dc0914821264d4a9c8fd0ed6aa8d4cfd2 \ + --hash=sha256:353665775be69bbfc6d54c8d134bfc533e332149faeddd631b0bc79df0897f46 \ + --hash=sha256:38d0124fa992dbacd0c48b1b755d3ee0a9f924f427f95b0ef376556a24debf01 \ + --hash=sha256:3c56ec1eacd0a5d35b8a29f468659c47f4fe61b2cab948ca756c39b7617f0aa5 \ + --hash=sha256:3db817b4e95eb05c362e3b45dafe7144b18603e1211f4a5b36eb9522ecc62bcf \ + --hash=sha256:3e52474256a7db9dcf3c5f4ca0b300fdea6c21cca0148c8891d03a025649d935 \ + --hash=sha256:416f2e3beaeae81e2f7a45dc711258be5bdc79c940a9a270b266c0bec038fb84 \ + --hash=sha256:435aca062444a7f0c884861d2e3ea79883bd1cd19d0a381928b69ae1b85bc51d \ + --hash=sha256:4388c72174868884f76affcdd3656544c426407e0043c89b684d22fb265e04a5 \ + --hash=sha256:43ebdcc120e2ca679dba01a779333a8ea76b50547b55e812b8b92818d604662c \ + --hash=sha256:458c0c65802d816a6b955cf3603186de79e8fdb46d4f19abaec4ef0a906f50a7 \ + --hash=sha256:533a28754e7f7439f217550a497bb026c54072dbe16402b183fdbca2431935a9 \ + --hash=sha256:553dad9af802a9ad1a6525e7528152a015b85fb8dbf764ebfc755c695f488367 \ + --hash=sha256:5838f2b79dc8f96fdc44077c9e4e2e33d7089b10788464609df788eb97d03aad \ + --hash=sha256:5b48388ded01f6f2429a8c55012bdbd1c2a0c3735b3e73e221649e524c34a58d \ + --hash=sha256:5bc0df728e4def5e15a754521e8882ba5a5121bd6b5a3a0ff7efda5d6558ab3d \ + --hash=sha256:63eab904f8630aed5a68f2d0aeab565dcfc595dc1bf0b91b71d9ddd43dea3aea \ + --hash=sha256:66f629632220a4e7858b58e4857927dd01a850a4cef2fb4044c8662787165cf7 \ + --hash=sha256:670eb11325ed3a6209339974b276811867defe52f4188fe18dc49855774fa9cf \ + --hash=sha256:69d5856d526802cbda768d3e6246cd0d77450fa2a4bc2ea0ea14f0d972c2894b \ + --hash=sha256:6e840553c9c494a35e449a987ca2c4f8372668ee954a03a9a9685075228e5036 \ + --hash=sha256:711bdfae4e699a6d4f371137cbe9e740dc958530cb920eb6f43ff9551e17cfbc \ + --hash=sha256:74abb8709ea54cc483c4fb57fb17bb66f8e0f04438cff6ded322074dbd17c7ec \ + --hash=sha256:75119badf45f7183e10e348edff5a76a94dc19ba9287d94001ff05e81475967b \ + --hash=sha256:766dcc00b943c089349d4060b935c76281f6be225e39994c2ccec3a2a36ad627 \ + --hash=sha256:78e6fdc976ec966b99e4daa3812fac0274cc28cd2b24b0d92462e2e5ef90d368 \ + --hash=sha256:81dadafb3aa124f86dc267a2168f71bbd2bfb163663661ab0038f6e4b8edb810 \ + --hash=sha256:82d5161e8cb8f36ec778fd7ac4d740415d84030f5b9ef8fe4da54784a1f46c94 \ + --hash=sha256:833547179c31f9bec39b49601d282d6f0ea1633620701288934c5f66d88c3e50 \ + --hash=sha256:856b7f1a7b98a8c31823285786bd566cf06226ac4f38b3ef462f593c608a9bd6 \ + --hash=sha256:8657d3f37f781d987037f9cc20bbc8b40425fa14380c87da0cb8dfce7c92d0fb \ + --hash=sha256:93bed8a8084544c6efe8856c362af08a23e959340c87a95687fdbe9c9f280c8b \ + --hash=sha256:954dde77c404084c2544e572f342aef384240b3e434e06cecc71597e95fd1ce7 \ + --hash=sha256:98f68df80ec6ca3015186b2677c208c096d646ef37bbf8b49764ab4a38183931 \ + --hash=sha256:99e12d2bf587b44deb74e0d6170fec37adb489964dbca656ec41a7cd8f2ff178 \ + --hash=sha256:9a13a07532e8e1c4a5a3afff0ca4553da23409fad65def1b71186fb867eeae8d \ + --hash=sha256:9c1e3ff4b89cdd2e1a24c214f141e848b9e0451f08d7d4963cb4108d4d798f1f \ + --hash=sha256:9ce2e0f6123a60bd1a7f5ae3b2c49b240c12c132847f17aa990b841a417598a2 \ + --hash=sha256:9fcda20b2de7042cc35cf911702fa3d8311bd40055a14446c1e62403684afdc5 \ + --hash=sha256:a32d58f4b521bb98b2c0aa9da407f8bd57ca81f34362bcb090e4a79e9924fefc \ + --hash=sha256:a39c36f4218a5bb668b4f06874d676d35a035ee668e6e7e3538835c703634b84 \ + --hash=sha256:a5cafb02cf097a82d74403f7e0b6b9df3ffbfe8edf9415ea816314711764a27b \ + --hash=sha256:a7cf963a357c5f00cb55b1955df8bbe68d2f2f65de065160a1c26b85a1e44172 \ + --hash=sha256:a880372e2e5dbb9258a4e8ff43f13888039abb9dd6d515f28611c54361bc5644 \ + --hash=sha256:ace4cad790f3bf872c082366c9edd7f8f8f77afe3992b134cfc810332206884f \ + --hash=sha256:af8ff8d7dc07ce873f643de6dfbcd45dc3db2c87462e5c387267197f59e6d776 \ + --hash=sha256:b47a6000a7e833ebfe5886b56a31cb2ff12120b1efd4578a6fcc38df16cc77bd \ + --hash=sha256:b71862a652f50babab4a43a487f157d26b464b1dedbcc0afda02fd64f3809d04 \ + --hash=sha256:b7f227ca6db5a9fda0a2b935a2ea34a7267589ffc63c8045f0e4edb8d8dcf956 \ + --hash=sha256:bc8936d06cd53fddd4892677d65e98af514c8d78c79864f418bbf78a4a2edde4 \ + --hash=sha256:bed1b5dbf90bad3bfc19439258c97873eab453c71d8b6869c136346acfe497e7 \ + --hash=sha256:c45817e3e6972109d1a2c65091504a537e257bc3c885b4e78a95baa96df6a3f8 \ + --hash=sha256:c68e820879ff39992c7f148113b46efcd6ec765a4865581f2902b3c43a5f4bbb \ + --hash=sha256:c77494a2f2282d9bbbbcab7c227a4d1b4bb829875c96251f66fb5f3bae4fb053 \ + --hash=sha256:c998d0558805860503bc3a595994895ca0f7835e00668dadc673bbf7f5fbfcbe \ + --hash=sha256:ccad2800dfdff34392448c4bf834be124f10a5bc102f254521d931c1c53c455a \ + --hash=sha256:cd126498171f752dd85737ab1544329a4520c53eed3997f9b08aefbafb1cc53b \ + --hash=sha256:ce44217ad99ffad8027d2fde0269ae368c86db66ea0571c62a000798d69401fb \ + --hash=sha256:d1ac2bc069f4a458634c26b101c2341b18da85cb96afe0015990507efec2e417 \ + --hash=sha256:d417a4f6943112fae3924bae2af7112562285848d9bcee737fc4ff7cbd450e6c \ + --hash=sha256:d538df442c0d9665664ab6dd5fccd0110fa3b364914f9c85b3ef9b7b2e157980 \ + --hash=sha256:ded1b1803151dd0f20a8945508786d57c2f97a50289b16f2629f85433e546d47 \ + --hash=sha256:e2e93b88ecc8f74074012e18d679fb2e9c746f2a56f79cd5e2b1afcf2a8a786b \ + --hash=sha256:e4ca3b9f370f218cc2a0309542cab8d0acdfd66667e7c37d04d617012485f904 \ + --hash=sha256:e4ee8b8639070ff246ad3649294336b06db37a94bdea0d09ea491603e0be73b8 \ + --hash=sha256:e52f77a0cd246086afde8815039f3e16f8d2be51786c0a39b57104c563c5cbb0 \ + --hash=sha256:eaea112aed589131f73d50d570a6864728bd7c0c66ef6c9154ed7b59f24da611 \ + --hash=sha256:ed20a4bdc635f36cb19e630bfc644181dd075839b6fc84cac51c0f381ac472e2 \ + --hash=sha256:eedc3f247ee7b3808ea07205f3e7d7879bc19ad3e6222195cd5fbf9988853e4d \ + --hash=sha256:f0e1844ad47c7bd5d6fa784f1d4accc5f4168b48999303a868fe0f8597bde715 \ + --hash=sha256:f4fe99ce44128c71233d0d72152db31ca119711dfc5f2c82385ad611d8d7f897 \ + --hash=sha256:f8cfd847e6b9ecf9f2f2531c8427035f291ec286c0a4944b0a9fce58c6446046 \ + --hash=sha256:f9ca0e6ce7774dc7830dc0cc4bb6b3eec769db667f230e7c770a628c1aa5681b \ + --hash=sha256:fa2bea05ff0a8fb4d8124498e00e02398f06d23cdadd0fe027d84a3f7afde31e \ + --hash=sha256:fbbb63bed5fcd70cd3dd23a087cd78e4675fb5a2963b8af53f945cbbca79ae16 \ + --hash=sha256:fbda058a9a68bec347962595f50546a8a4a34fd7b0654a7b9697917dc2bf810d \ + --hash=sha256:ffd591e22b22f9cb48e472529db6a47203c41c2c5911ff0a52e85723196c0d75 # via # -r requirements.in # aiohttp From de4fd589d9b64b93446c369259bc1416d7e418f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 08:52:53 +0000 Subject: [PATCH 05/78] build(deps): bump icalendar from 6.0.0 to 6.0.1 in /tools/base (#36560) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/base/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/base/requirements.txt b/tools/base/requirements.txt index cbdbc10bce6f..bbec6c57a17e 100644 --- a/tools/base/requirements.txt +++ b/tools/base/requirements.txt @@ -778,9 +778,9 @@ humanfriendly==10.0 \ --hash=sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477 \ --hash=sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc # via coloredlogs -icalendar==6.0.0 \ - --hash=sha256:567e718551d800362db04ca09777295336e1803f6fc6bc0a7a5e258917fa8ed0 \ - --hash=sha256:7ddf60d343f3c1f716de9b62f6e80ffd95d03cab62464894a0539feab7b5c76e +icalendar==6.0.1 \ + --hash=sha256:1ff44825d7b41c3f77eac9e09cc67a770dd3c2377430c23b0eb7d91603088892 \ + --hash=sha256:9bf3d69203bd0366a9a29a8b0e220574580b86d7918afcb628fc6920287922f3 # via -r requirements.in idna==3.10 \ --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ From 706c4222c538f62ba4ab27421282003835da2a4e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:56:19 +0100 Subject: [PATCH 06/78] build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /contrib/golang/filters/http/test/test_data/access_log in the contrib-golang group (#36479) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- contrib/golang/filters/http/test/test_data/access_log/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/golang/filters/http/test/test_data/access_log/go.mod b/contrib/golang/filters/http/test/test_data/access_log/go.mod index b1e07cfaf97d..4cf78bab422a 100644 --- a/contrib/golang/filters/http/test/test_data/access_log/go.mod +++ b/contrib/golang/filters/http/test/test_data/access_log/go.mod @@ -4,6 +4,6 @@ go 1.22 require github.com/envoyproxy/envoy v1.24.0 -require google.golang.org/protobuf v1.34.2 +require google.golang.org/protobuf v1.35.1 replace github.com/envoyproxy/envoy => ../../../../../../../ From e742e85f33a796b05b6c1516b41fbe3bc7bd9d68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:56:39 +0100 Subject: [PATCH 07/78] build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /contrib/golang/filters/http/test/test_data/echo in the contrib-golang group (#36481) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- contrib/golang/filters/http/test/test_data/echo/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/golang/filters/http/test/test_data/echo/go.mod b/contrib/golang/filters/http/test/test_data/echo/go.mod index d77fa5a01c18..585f4386da20 100644 --- a/contrib/golang/filters/http/test/test_data/echo/go.mod +++ b/contrib/golang/filters/http/test/test_data/echo/go.mod @@ -15,7 +15,7 @@ require ( require ( github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/golang/protobuf v1.5.3 // indirect - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 ) replace github.com/envoyproxy/envoy => ../../../../../../../ From 906a491a13b0b0abe945500f56032acfbcffa355 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:56:55 +0100 Subject: [PATCH 08/78] build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /contrib/golang/filters/http/test/test_data/metric in the contrib-golang group (#36485) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- contrib/golang/filters/http/test/test_data/metric/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/golang/filters/http/test/test_data/metric/go.mod b/contrib/golang/filters/http/test/test_data/metric/go.mod index 470e4da15e39..fb8dc3f95b6c 100644 --- a/contrib/golang/filters/http/test/test_data/metric/go.mod +++ b/contrib/golang/filters/http/test/test_data/metric/go.mod @@ -4,6 +4,6 @@ go 1.22 require github.com/envoyproxy/envoy v1.24.0 -require google.golang.org/protobuf v1.34.2 +require google.golang.org/protobuf v1.35.1 replace github.com/envoyproxy/envoy => ../../../../../../../ From ddfc68846a2a581aa7b4fff2411cc5a5573c3407 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:57:10 +0100 Subject: [PATCH 09/78] build(deps): bump github/codeql-action from 3.26.11 to 3.26.12 (#36484) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-daily.yml | 4 ++-- .github/workflows/codeql-push.yml | 4 ++-- .github/workflows/scorecard.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-daily.yml b/.github/workflows/codeql-daily.yml index 8a3e2ad85ef0..409b30eb4c11 100644 --- a/.github/workflows/codeql-daily.yml +++ b/.github/workflows/codeql-daily.yml @@ -34,7 +34,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # codeql-bundle-v3.26.11 + uses: github/codeql-action/init@c36620d31ac7c881962c3d9dd939c40ec9434f2b # codeql-bundle-v3.26.12 # Override language selection by uncommenting this and choosing your languages with: languages: cpp @@ -74,4 +74,4 @@ jobs: git clean -xdf - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # codeql-bundle-v3.26.11 + uses: github/codeql-action/analyze@c36620d31ac7c881962c3d9dd939c40ec9434f2b # codeql-bundle-v3.26.12 diff --git a/.github/workflows/codeql-push.yml b/.github/workflows/codeql-push.yml index f336d11cc80b..7c9fa2ebccd2 100644 --- a/.github/workflows/codeql-push.yml +++ b/.github/workflows/codeql-push.yml @@ -65,7 +65,7 @@ jobs: - name: Initialize CodeQL if: ${{ env.BUILD_TARGETS != '' }} - uses: github/codeql-action/init@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # codeql-bundle-v3.26.11 + uses: github/codeql-action/init@c36620d31ac7c881962c3d9dd939c40ec9434f2b # codeql-bundle-v3.26.12 with: languages: cpp @@ -109,4 +109,4 @@ jobs: - name: Perform CodeQL Analysis if: ${{ env.BUILD_TARGETS != '' }} - uses: github/codeql-action/analyze@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # codeql-bundle-v3.26.11 + uses: github/codeql-action/analyze@c36620d31ac7c881962c3d9dd939c40ec9434f2b # codeql-bundle-v3.26.12 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 05c18a27ad09..ef45128864cb 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -40,6 +40,6 @@ jobs: retention-days: 5 - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11 + uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 with: sarif_file: results.sarif From b52271435f9d224be5e28665d80ada2e7e43f94e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:57:20 +0100 Subject: [PATCH 10/78] build(deps): bump actions/checkout from 4.2.0 to 4.2.1 (#36483) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/_precheck_deps.yml | 2 +- .github/workflows/codeql-daily.yml | 2 +- .github/workflows/codeql-push.yml | 2 +- .github/workflows/envoy-dependency.yml | 4 ++-- .github/workflows/mobile-release.yml | 2 +- .github/workflows/mobile-traffic_director.yml | 2 +- .github/workflows/pr_notifier.yml | 2 +- .github/workflows/scorecard.yml | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/_precheck_deps.yml b/.github/workflows/_precheck_deps.yml index 5254d1633ab1..1623b42b0633 100644 --- a/.github/workflows/_precheck_deps.yml +++ b/.github/workflows/_precheck_deps.yml @@ -51,7 +51,7 @@ jobs: if: ${{ inputs.dependency-review }} steps: - name: Checkout Repository - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: ref: ${{ fromJSON(inputs.request).request.sha }} persist-credentials: false diff --git a/.github/workflows/codeql-daily.yml b/.github/workflows/codeql-daily.yml index 409b30eb4c11..ae500fc24566 100644 --- a/.github/workflows/codeql-daily.yml +++ b/.github/workflows/codeql-daily.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Free disk space uses: envoyproxy/toolshed/gh-actions/diskspace@actions-v0.2.36 diff --git a/.github/workflows/codeql-push.yml b/.github/workflows/codeql-push.yml index 7c9fa2ebccd2..92b612837b78 100644 --- a/.github/workflows/codeql-push.yml +++ b/.github/workflows/codeql-push.yml @@ -32,7 +32,7 @@ jobs: if: github.repository == 'envoyproxy/envoy' steps: - name: Checkout repository - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: fetch-depth: 2 diff --git a/.github/workflows/envoy-dependency.yml b/.github/workflows/envoy-dependency.yml index 933dad42184a..9d98995b7b7c 100644 --- a/.github/workflows/envoy-dependency.yml +++ b/.github/workflows/envoy-dependency.yml @@ -146,7 +146,7 @@ jobs: path: envoy fetch-depth: 0 token: ${{ steps.appauth.outputs.token }} - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 name: Checkout Envoy build tools repository with: repository: envoyproxy/envoy-build-tools @@ -238,7 +238,7 @@ jobs: issues: write steps: - name: Checkout repository - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Run dependency checker run: | TODAY_DATE=$(date -u -I"date") diff --git a/.github/workflows/mobile-release.yml b/.github/workflows/mobile-release.yml index 35d5f6ba293e..4f6610eac50c 100644 --- a/.github/workflows/mobile-release.yml +++ b/.github/workflows/mobile-release.yml @@ -86,7 +86,7 @@ jobs: include: - output: envoy steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: fetch-depth: 0 - name: Add safe directory diff --git a/.github/workflows/mobile-traffic_director.yml b/.github/workflows/mobile-traffic_director.yml index 6405c96b782f..e3fc6d55beed 100644 --- a/.github/workflows/mobile-traffic_director.yml +++ b/.github/workflows/mobile-traffic_director.yml @@ -30,7 +30,7 @@ jobs: timeout-minutes: 120 steps: - name: Checkout repository - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Add safe directory run: git config --global --add safe.directory /__w/envoy/envoy - name: 'Run GcpTrafficDirectorIntegrationTest' diff --git a/.github/workflows/pr_notifier.yml b/.github/workflows/pr_notifier.yml index 9172af147e60..2024bee40088 100644 --- a/.github/workflows/pr_notifier.yml +++ b/.github/workflows/pr_notifier.yml @@ -22,7 +22,7 @@ jobs: || !contains(github.actor, '[bot]')) }} steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Notify about PRs run: | ARGS=() diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ef45128864cb..987f7c2b62df 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -21,7 +21,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: persist-credentials: false From a2210f405f24fdd2166e4508209e140b6ec26221 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:57:34 +0100 Subject: [PATCH 11/78] build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#36487) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 396033361adc..c03a70049530 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,6 @@ module github.com/envoyproxy/envoy go 1.22 -require google.golang.org/protobuf v1.34.2 +require google.golang.org/protobuf v1.35.1 require github.com/google/go-cmp v0.5.9 // indirect diff --git a/go.sum b/go.sum index 2fc4d88980c5..a4b3f4ab140e 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,4 @@ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= From d1ec84ce95ad25f607da21c6af5be3f92360dabf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:57:44 +0100 Subject: [PATCH 12/78] build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /contrib/golang/filters/http/test/test_data/routeconfig in the contrib-golang group (#36488) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- contrib/golang/filters/http/test/test_data/routeconfig/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/golang/filters/http/test/test_data/routeconfig/go.mod b/contrib/golang/filters/http/test/test_data/routeconfig/go.mod index 7e51fdbaf5a0..971599f7dbe6 100644 --- a/contrib/golang/filters/http/test/test_data/routeconfig/go.mod +++ b/contrib/golang/filters/http/test/test_data/routeconfig/go.mod @@ -15,7 +15,7 @@ require ( require ( github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/golang/protobuf v1.5.3 // indirect - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 ) replace github.com/envoyproxy/envoy => ../../../../../../../ From 5916b89e0dbb3f03532f155aee852b432eb41531 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:58:41 +0100 Subject: [PATCH 13/78] build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /contrib/golang/router/cluster_specifier/test/test_data/simple in the contrib-golang group (#36480) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../router/cluster_specifier/test/test_data/simple/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/golang/router/cluster_specifier/test/test_data/simple/go.mod b/contrib/golang/router/cluster_specifier/test/test_data/simple/go.mod index 82f1b15caf80..c173dd68bb6e 100644 --- a/contrib/golang/router/cluster_specifier/test/test_data/simple/go.mod +++ b/contrib/golang/router/cluster_specifier/test/test_data/simple/go.mod @@ -15,7 +15,7 @@ require ( require ( github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/golang/protobuf v1.5.3 // indirect - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 ) replace github.com/envoyproxy/envoy => ../../../../../../../ From 844c7c873faed3a6c492e57390cbcd1344b8a2ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:12:30 +0000 Subject: [PATCH 14/78] build(deps): bump envoy-code-check from 0.5.13 to 0.5.14 in /tools/base (#36558) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/base/requirements.txt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/base/requirements.txt b/tools/base/requirements.txt index bbec6c57a17e..946096ea2253 100644 --- a/tools/base/requirements.txt +++ b/tools/base/requirements.txt @@ -57,9 +57,9 @@ aio-core==0.10.5 \ # envoy-github-abstract # envoy-github-release # envoy-gpg-identity -aio-run-checker==0.5.7 \ - --hash=sha256:19ce85bc48800c5e0049430346a92d5b2ae98dda95b12ae5332ba1b28e7450e8 \ - --hash=sha256:5b9c5296c824206aebb10ade175eb07e89497761da6749b6ba09507ce03f64af +aio-run-checker==0.5.8 \ + --hash=sha256:9bf5e20773f83113b2eee39277f0ec3e014aeecfd33deb44103b0ed2482d3ff5 \ + --hash=sha256:b5fcb91651da986b13eefd340a45b402100a2967e1eb1a1b941ccfbc36fe0eda # via # dependatool # envoy-code-check @@ -530,9 +530,9 @@ envoy-ci-report==0.0.3 \ --hash=sha256:1c4bf3cb9f92117eb482186ea4fa58ff15e26641cdaeeae45bb826ae8454859e \ --hash=sha256:cc59d0980330a4b73cfcaba2a1b5050348c1d6530baffeb354dccea3e46672d2 # via -r requirements.in -envoy-code-check==0.5.13 \ - --hash=sha256:58c31be3ba1a3273eec8a76d1dcfe1a3ae5eae4730ca9d70a85fec0d641846c4 \ - --hash=sha256:6c568d477642abdf7b41a0b6a5bb21fd480d92e500c53120837a01d4436d8591 +envoy-code-check==0.5.14 \ + --hash=sha256:56ed152ba633b8d6846509424a4dc94996ed0eb3d656495ec2b32a94144ed904 \ + --hash=sha256:83cce34e3c2ee3d1b9a375922ee0d08fedbd8d3621f72d3ee55dd0a7d26a0e0e # via -r requirements.in envoy-dependency-check==0.1.13 \ --hash=sha256:4337b9c4129ae723dc92f70733b167a8dde187368d873687c6c54732d6fb5e48 \ @@ -1500,7 +1500,9 @@ types-pytz==2024.2.0.20241003 \ types-pyyaml==6.0.12.20240917 \ --hash=sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570 \ --hash=sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587 - # via aio-core + # via + # aio-core + # envoy-code-check typing-extensions==4.12.2 \ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 From df48c7d10e72a18445c15396e84815add1757d8a Mon Sep 17 00:00:00 2001 From: Nandan B N Date: Mon, 14 Oct 2024 18:48:19 +0530 Subject: [PATCH 15/78] dynamic_forward_proxy: fix sub_cluster_confg stuck with warm up due to DFPCluster removed (#35848) Commit Message: - Add an optional argument called `ignore_removal` to `ClusterManagerImpl::addOrUpdateCluster` and `ClusterManagerImpl::loadCluster`. This argument defaults to `false`, so it won't affect any existing flows. We'll be setting this in Cluster Data. - If the `ignore_removal` value is `true`, then the cluster won't be removed when `ClusterManagerImpl::removeCluster` is called. - To remove a cluster that has been added with `ignore_removal` set to `true`, the `remove_ignored` argument must be set to `true` when `ClusterManagerImpl::removeCluster` is called. This helps to manage clusters whose lifecycle is managed by custom implementations similar to DFP clusters. Additional Description: - Currently clusters that are dynamically added with custom implementations from filters, etc. are removed when a CDS event is triggered. This is because these dynamically created clusters will come in diff of CDS and will be removed by the cluster manager. Risk Level: low Testing: unit test Docs Changes: no Release Notes: no --- changelogs/current.yaml | 4 + envoy/upstream/cluster_manager.h | 12 +- source/common/runtime/runtime_features.cc | 1 + .../common/upstream/cluster_manager_impl.cc | 27 ++-- source/common/upstream/cluster_manager_impl.h | 16 ++- .../clusters/dynamic_forward_proxy/cluster.cc | 8 +- .../dynamic_forward_proxy/proxy_filter.cc | 9 +- test/common/upstream/cds_api_impl_test.cc | 11 +- .../upstream/cluster_manager_impl_test.cc | 50 +++++++ .../proxy_filter_integration_test.cc | 123 ++++++++++++++++++ test/mocks/upstream/cluster_manager.h | 6 +- 11 files changed, 236 insertions(+), 31 deletions(-) diff --git a/changelogs/current.yaml b/changelogs/current.yaml index 2a24f8c539f6..6937b4594a59 100644 --- a/changelogs/current.yaml +++ b/changelogs/current.yaml @@ -216,6 +216,10 @@ bug_fixes: - area: tracing change: | Fixed a bug where the OpenTelemetry tracer exports the OTLP request even when no spans are present. +- area: dynamic_forward_proxy + change: | + Fixed a bug where DFP sub-cluster gets removed due to CDS update and doesn't gets recreated. This behavior can be reverted by + setting the runtime guard ``envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update`` to false. removed_config_or_runtime: # *Normally occurs at the end of the* :ref:`deprecation period ` diff --git a/envoy/upstream/cluster_manager.h b/envoy/upstream/cluster_manager.h index 2c62af79305f..2649307a9e24 100644 --- a/envoy/upstream/cluster_manager.h +++ b/envoy/upstream/cluster_manager.h @@ -245,10 +245,15 @@ class ClusterManager { * * @param cluster supplies the cluster configuration. * @param version_info supplies the xDS version of the cluster. + * @param avoid_cds_removal If set to true, the cluster will be ignored from removal during CDS + * update. It can be overridden by setting `remove_ignored` to true while + * calling removeCluster(). This is useful for clusters whose lifecycle + * is managed with custom implementation, e.g., DFP clusters. * @return true if the action results in an add/update of a cluster. */ virtual bool addOrUpdateCluster(const envoy::config::cluster::v3::Cluster& cluster, - const std::string& version_info) PURE; + const std::string& version_info, + const bool avoid_cds_removal = false) PURE; /** * Set a callback that will be invoked when all primary clusters have been initialized. @@ -331,10 +336,11 @@ class ClusterManager { * Remove a cluster via API. Only clusters added via addOrUpdateCluster() can * be removed in this manner. Statically defined clusters present when Envoy starts cannot be * removed. - * + * Cluster created using `addOrUpdateCluster()` with `avoid_cds_removal` set to true. + * can be removed by setting `remove_ignored` to true while removeCluster(). * @return true if the action results in the removal of a cluster. */ - virtual bool removeCluster(const std::string& cluster) PURE; + virtual bool removeCluster(const std::string& cluster, const bool remove_ignored = false) PURE; /** * Shutdown the cluster manager prior to destroying connection pools and other thread local data. diff --git a/source/common/runtime/runtime_features.cc b/source/common/runtime/runtime_features.cc index a06e49b182ea..babfb11c2a0a 100644 --- a/source/common/runtime/runtime_features.cc +++ b/source/common/runtime/runtime_features.cc @@ -30,6 +30,7 @@ // ASAP by filing a bug on github. Overriding non-buggy code is strongly discouraged to avoid the // problem of the bugs being found after the old code path has been removed. RUNTIME_GUARD(envoy_reloadable_features_allow_alt_svc_for_ips); +RUNTIME_GUARD(envoy_reloadable_features_avoid_dfp_cluster_removal_on_cds_update); RUNTIME_GUARD(envoy_reloadable_features_boolean_to_string_fix); RUNTIME_GUARD(envoy_reloadable_features_check_switch_protocol_websocket_handshake); RUNTIME_GUARD(envoy_reloadable_features_conn_pool_delete_when_idle); diff --git a/source/common/upstream/cluster_manager_impl.cc b/source/common/upstream/cluster_manager_impl.cc index c65cdb5f1581..367a99bab4d4 100644 --- a/source/common/upstream/cluster_manager_impl.cc +++ b/source/common/upstream/cluster_manager_impl.cc @@ -793,7 +793,8 @@ void ClusterManagerImpl::applyUpdates(ClusterManagerCluster& cluster, uint32_t p } bool ClusterManagerImpl::addOrUpdateCluster(const envoy::config::cluster::v3::Cluster& cluster, - const std::string& version_info) { + const std::string& version_info, + const bool avoid_cds_removal) { // First we need to see if this new config is new or an update to an existing dynamic cluster. // We don't allow updates to statically configured clusters in the main configuration. We check // both the warming clusters and the active clusters to see if we need an update or the update @@ -842,8 +843,9 @@ bool ClusterManagerImpl::addOrUpdateCluster(const envoy::config::cluster::v3::Cl init_helper_.state() == ClusterManagerInitHelper::State::AllClustersInitialized; // Preserve the previous cluster data to avoid early destroy. The same cluster should be added // before destroy to avoid early initialization complete. - auto status_or_cluster = loadCluster(cluster, new_hash, version_info, /*added_via_api=*/true, - /*required_for_ads=*/false, warming_clusters_); + auto status_or_cluster = + loadCluster(cluster, new_hash, version_info, /*added_via_api=*/true, + /*required_for_ads=*/false, warming_clusters_, avoid_cds_removal); THROW_IF_NOT_OK_REF(status_or_cluster.status()); const ClusterDataPtr previous_cluster = std::move(status_or_cluster.value()); auto& cluster_entry = warming_clusters_.at(cluster_name); @@ -877,11 +879,12 @@ void ClusterManagerImpl::clusterWarmingToActive(const std::string& cluster_name) warming_clusters_.erase(warming_it); } -bool ClusterManagerImpl::removeCluster(const std::string& cluster_name) { +bool ClusterManagerImpl::removeCluster(const std::string& cluster_name, const bool remove_ignored) { bool removed = false; auto existing_active_cluster = active_clusters_.find(cluster_name); if (existing_active_cluster != active_clusters_.end() && - existing_active_cluster->second->added_via_api_) { + existing_active_cluster->second->added_via_api_ && + (!existing_active_cluster->second->avoid_cds_removal_ || remove_ignored)) { removed = true; init_helper_.removeCluster(*existing_active_cluster->second); active_clusters_.erase(existing_active_cluster); @@ -909,7 +912,8 @@ bool ClusterManagerImpl::removeCluster(const std::string& cluster_name) { auto existing_warming_cluster = warming_clusters_.find(cluster_name); if (existing_warming_cluster != warming_clusters_.end() && - existing_warming_cluster->second->added_via_api_) { + existing_warming_cluster->second->added_via_api_ && + (!existing_warming_cluster->second->avoid_cds_removal_ || remove_ignored)) { removed = true; init_helper_.removeCluster(*existing_warming_cluster->second); warming_clusters_.erase(existing_warming_cluster); @@ -930,7 +934,7 @@ absl::StatusOr ClusterManagerImpl::loadCluster(const envoy::config::cluster::v3::Cluster& cluster, const uint64_t cluster_hash, const std::string& version_info, bool added_via_api, const bool required_for_ads, - ClusterMap& cluster_map) { + ClusterMap& cluster_map, const bool avoid_cds_removal) { absl::StatusOr> new_cluster_pair_or_error = factory_.clusterFromProto(cluster, *this, outlier_event_logger_, added_via_api); @@ -994,15 +998,16 @@ ClusterManagerImpl::loadCluster(const envoy::config::cluster::v3::Cluster& clust auto cluster_entry_it = cluster_map.find(cluster_info->name()); if (cluster_entry_it != cluster_map.end()) { result = std::exchange(cluster_entry_it->second, - std::make_unique(cluster, cluster_hash, version_info, - added_via_api, required_for_ads, - std::move(new_cluster), time_source_)); + std::make_unique( + cluster, cluster_hash, version_info, added_via_api, required_for_ads, + std::move(new_cluster), time_source_, avoid_cds_removal)); } else { bool inserted = false; std::tie(cluster_entry_it, inserted) = cluster_map.emplace( cluster_info->name(), std::make_unique(cluster, cluster_hash, version_info, added_via_api, - required_for_ads, std::move(new_cluster), time_source_)); + required_for_ads, std::move(new_cluster), time_source_, + avoid_cds_removal)); ASSERT(inserted); } diff --git a/source/common/upstream/cluster_manager_impl.h b/source/common/upstream/cluster_manager_impl.h index 3d4bfa16560a..fdaeb7112984 100644 --- a/source/common/upstream/cluster_manager_impl.h +++ b/source/common/upstream/cluster_manager_impl.h @@ -253,7 +253,8 @@ class ClusterManagerImpl : public ClusterManager, // Upstream::ClusterManager bool addOrUpdateCluster(const envoy::config::cluster::v3::Cluster& cluster, - const std::string& version_info) override; + const std::string& version_info, + const bool avoid_cds_removal = false) override; void setPrimaryClustersInitializedCb(PrimaryClustersReadyCallback callback) override { init_helper_.setPrimaryClustersInitializedCb(callback); @@ -287,7 +288,7 @@ class ClusterManagerImpl : public ClusterManager, const ClusterSet& primaryClusters() override { return primary_clusters_; } ThreadLocalCluster* getThreadLocalCluster(absl::string_view cluster) override; - bool removeCluster(const std::string& cluster) override; + bool removeCluster(const std::string& cluster, const bool remove_ignored = false) override; void shutdown() override { shutdown_ = true; if (resume_cds_ != nullptr) { @@ -752,11 +753,12 @@ class ClusterManagerImpl : public ClusterManager, ClusterData(const envoy::config::cluster::v3::Cluster& cluster_config, const uint64_t cluster_config_hash, const std::string& version_info, bool added_via_api, bool required_for_ads, ClusterSharedPtr&& cluster, - TimeSource& time_source) + TimeSource& time_source, const bool avoid_cds_removal = false) : cluster_config_(cluster_config), config_hash_(cluster_config_hash), version_info_(version_info), cluster_(std::move(cluster)), - last_updated_(time_source.systemTime()), - added_via_api_(added_via_api), added_or_updated_{}, required_for_ads_(required_for_ads) {} + last_updated_(time_source.systemTime()), added_via_api_(added_via_api), + avoid_cds_removal_(avoid_cds_removal), added_or_updated_{}, + required_for_ads_(required_for_ads) {} bool blockUpdate(uint64_t hash) { return !added_via_api_ || config_hash_ == hash; } @@ -789,6 +791,7 @@ class ClusterManagerImpl : public ClusterManager, Common::CallbackHandlePtr priority_update_cb_; // Keep smaller fields near the end to reduce padding const bool added_via_api_ : 1; + const bool avoid_cds_removal_ : 1; bool added_or_updated_ : 1; const bool required_for_ads_ : 1; }; @@ -866,7 +869,8 @@ class ClusterManagerImpl : public ClusterManager, absl::StatusOr loadCluster(const envoy::config::cluster::v3::Cluster& cluster, const uint64_t cluster_hash, const std::string& version_info, bool added_via_api, - bool required_for_ads, ClusterMap& cluster_map); + bool required_for_ads, ClusterMap& cluster_map, + bool avoid_cds_removal = false); void onClusterInit(ClusterManagerCluster& cluster); void postThreadLocalHealthFailure(const HostSharedPtr& host); void updateClusterCounts(); diff --git a/source/extensions/clusters/dynamic_forward_proxy/cluster.cc b/source/extensions/clusters/dynamic_forward_proxy/cluster.cc index 4ec0a8298ac9..6962d2dd1539 100644 --- a/source/extensions/clusters/dynamic_forward_proxy/cluster.cc +++ b/source/extensions/clusters/dynamic_forward_proxy/cluster.cc @@ -93,7 +93,9 @@ Cluster::~Cluster() { auto cluster_name = it->first; ENVOY_LOG(debug, "cluster='{}' removing from cluster_map & cluster manager", cluster_name); cluster_map_.erase(it++); - cm_.removeCluster(cluster_name); + cm_.removeCluster(cluster_name, + Runtime::runtimeFeatureEnabled( + "envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update")); } } @@ -131,7 +133,9 @@ void Cluster::checkIdleSubCluster() { auto cluster_name = it->first; ENVOY_LOG(debug, "cluster='{}' removing from cluster_map & cluster manager", cluster_name); cluster_map_.erase(it++); - cm_.removeCluster(cluster_name); + cm_.removeCluster(cluster_name, + Runtime::runtimeFeatureEnabled( + "envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update")); } else { ++it; } diff --git a/source/extensions/filters/http/dynamic_forward_proxy/proxy_filter.cc b/source/extensions/filters/http/dynamic_forward_proxy/proxy_filter.cc index 030047f1727d..f3513483dccf 100644 --- a/source/extensions/filters/http/dynamic_forward_proxy/proxy_filter.cc +++ b/source/extensions/filters/http/dynamic_forward_proxy/proxy_filter.cc @@ -87,7 +87,14 @@ LoadClusterEntryHandlePtr ProxyFilterConfig::addDynamicCluster( ENVOY_LOG(debug, "deliver dynamic cluster {} creation to main thread", cluster_name); main_thread_dispatcher_.post([this, cluster, version_info]() { ENVOY_LOG(debug, "initializing dynamic cluster {} creation in main thread", cluster.name()); - cluster_manager_.addOrUpdateCluster(cluster, version_info); + + // Set avoid_cds_removal to true to prevent the cluster from being removed during a CDS + // update. As this cluster lifecycle is managed by DFP cluster, it should not be removed by + // CDS. https://github.com/envoyproxy/envoy/issues/35171 + cluster_manager_.addOrUpdateCluster( + cluster, version_info, + Runtime::runtimeFeatureEnabled( + "envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update")); }); } else { ENVOY_LOG(debug, "cluster='{}' already created, waiting it warming", cluster_name); diff --git a/test/common/upstream/cds_api_impl_test.cc b/test/common/upstream/cds_api_impl_test.cc index 0d31f950ad89..f21f62425e4d 100644 --- a/test/common/upstream/cds_api_impl_test.cc +++ b/test/common/upstream/cds_api_impl_test.cc @@ -46,11 +46,12 @@ class CdsApiImplTest : public testing::Test { } void expectAdd(const std::string& cluster_name, const std::string& version = std::string("")) { - EXPECT_CALL(cm_, addOrUpdateCluster(WithName(cluster_name), version)).WillOnce(Return(true)); + EXPECT_CALL(cm_, addOrUpdateCluster(WithName(cluster_name), version, false)) + .WillOnce(Return(true)); } void expectAddToThrow(const std::string& cluster_name, const std::string& exception_msg) { - EXPECT_CALL(cm_, addOrUpdateCluster(WithName(cluster_name), _)) + EXPECT_CALL(cm_, addOrUpdateCluster(WithName(cluster_name), _, false)) .WillOnce(Throw(EnvoyException(exception_msg))); } @@ -115,7 +116,7 @@ version_info: '1' auto response2 = TestUtility::parseYaml(response2_yaml); EXPECT_CALL(cm_, clusters()).WillOnce(Return(makeClusterInfoMaps({"cluster1"}))); - EXPECT_CALL(cm_, removeCluster("cluster1")).WillOnce(Return(true)); + EXPECT_CALL(cm_, removeCluster("cluster1", false)).WillOnce(Return(true)); const auto decoded_resources_2 = TestUtility::decodeResources(response2); EXPECT_TRUE( @@ -217,7 +218,7 @@ TEST_F(CdsApiImplTest, DeltaConfigUpdate) { } Protobuf::RepeatedPtrField removed; *removed.Add() = "cluster_1"; - EXPECT_CALL(cm_, removeCluster(StrEq("cluster_1"))).WillOnce(Return(true)); + EXPECT_CALL(cm_, removeCluster(StrEq("cluster_1"), false)).WillOnce(Return(true)); const auto decoded_resources = TestUtility::decodeResources(resources); EXPECT_TRUE(cds_callbacks_->onConfigUpdate(decoded_resources.refvec_, removed, "v2").ok()); @@ -312,7 +313,7 @@ version_info: '1' EXPECT_CALL(cm_, clusters()).WillOnce(Return(makeClusterInfoMaps({"cluster1", "cluster2"}))); expectAdd("cluster1", "1"); expectAdd("cluster3", "1"); - EXPECT_CALL(cm_, removeCluster("cluster2")); + EXPECT_CALL(cm_, removeCluster("cluster2", false)); const auto decoded_resources_2 = TestUtility::decodeResources(response2); EXPECT_TRUE( diff --git a/test/common/upstream/cluster_manager_impl_test.cc b/test/common/upstream/cluster_manager_impl_test.cc index 8d9d2ca7b8e5..946db5738e8b 100644 --- a/test/common/upstream/cluster_manager_impl_test.cc +++ b/test/common/upstream/cluster_manager_impl_test.cc @@ -6585,6 +6585,56 @@ TEST_F(ClusterManagerImplTest, CheckActiveStaticCluster) { "gRPC client cluster 'added_via_api' is not static"); } +TEST_F(ClusterManagerImplTest, ClusterIgnoreRemoval) { + const std::string yaml = R"EOF( + static_resources: + clusters: + - name: good + connect_timeout: 0.250s + lb_policy: ROUND_ROBIN + type: STATIC + load_assignment: + cluster_name: good + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: 127.0.0.1 + port_value: 11001 + )EOF"; + create(parseBootstrapFromV3Yaml(yaml)); + const std::string added_via_api_yaml = R"EOF( + name: added_via_api + connect_timeout: 0.250s + type: STATIC + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: added_via_api + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: 127.0.0.1 + port_value: 11001 + )EOF"; + auto cluster = parseClusterFromV3Yaml(added_via_api_yaml); + + EXPECT_TRUE(cluster_manager_->addOrUpdateCluster(cluster, "v1", true)); + + EXPECT_EQ(2, cluster_manager_->clusters().active_clusters_.size()); + EXPECT_TRUE(cluster_manager_->checkActiveStaticCluster("good").ok()); + + // This should not remove the cluster as remove_ignored is set to false + EXPECT_FALSE(cluster_manager_->removeCluster("added_via_api")); + EXPECT_EQ(2, cluster_manager_->clusters().active_clusters_.size()); + + // This should remove the cluster as remove_ignored is set to true + EXPECT_TRUE(cluster_manager_->removeCluster("added_via_api", true)); + EXPECT_EQ(1, cluster_manager_->clusters().active_clusters_.size()); +} + #ifdef WIN32 TEST_F(ClusterManagerImplTest, LocalInterfaceNameForUpstreamConnectionThrowsInWin32) { const std::string yaml = fmt::format(R"EOF( diff --git a/test/extensions/filters/http/dynamic_forward_proxy/proxy_filter_integration_test.cc b/test/extensions/filters/http/dynamic_forward_proxy/proxy_filter_integration_test.cc index 81d4bcee5486..be55dddd3d56 100644 --- a/test/extensions/filters/http/dynamic_forward_proxy/proxy_filter_integration_test.cc +++ b/test/extensions/filters/http/dynamic_forward_proxy/proxy_filter_integration_test.cc @@ -7,6 +7,7 @@ #include "source/common/tls/context_config_impl.h" #include "source/common/tls/ssl_socket.h" +#include "test/common/upstream/utility.h" #include "test/extensions/filters/http/dynamic_forward_proxy/test_resolver.h" #include "test/integration/http_integration.h" #include "test/integration/ssl_utility.h" @@ -1294,6 +1295,68 @@ TEST_P(ProxyFilterIntegrationTest, SubClusterReloadCluster) { test_server_->waitForGaugeEq("cluster_manager.warming_clusters", 0); } +// Verify that we expire sub clusters and not remove on CDS. +TEST_P(ProxyFilterWithSimtimeIntegrationTest, RemoveViaTTLAndDFPUpdateWithoutAvoidCDSRemoval) { + const std::string cluster_yaml = R"EOF( + name: fake_cluster + connect_timeout: 0.250s + type: STATIC + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: fake_cluster + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: 127.0.0.1 + port_value: 11001 + )EOF"; + auto cluster = Upstream::parseClusterFromV3Yaml(cluster_yaml); + // make runtime guard false + config_helper_.addRuntimeOverride( + "envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update", "false"); + initializeWithArgs(1024, 1024, "", "", true); + codec_client_ = makeHttpConnection(lookupPort("http")); + const Http::TestRequestHeaderMapImpl request_headers{ + {":method", "POST"}, + {":path", "/test/long/url"}, + {":scheme", "http"}, + {":authority", + fmt::format("localhost:{}", fake_upstreams_[0]->localAddress()->ip()->port())}}; + + auto response = + sendRequestAndWaitForResponse(request_headers, 1024, default_response_headers_, 1024); + checkSimpleRequestSuccess(1024, 1024, response.get()); + // one more cluster + test_server_->waitForCounterEq("cluster_manager.cluster_added", 2); + test_server_->waitForCounterEq("cluster_manager.cluster_removed", 0); + cleanupUpstreamAndDownstream(); + + // Sub cluster expected to be removed after ttl + // > 5m + simTime().advanceTimeWait(std::chrono::milliseconds(300001)); + test_server_->waitForCounterEq("cluster_manager.cluster_added", 2); + test_server_->waitForCounterEq("cluster_manager.cluster_removed", 1); + + codec_client_ = makeHttpConnection(lookupPort("http")); + response = sendRequestAndWaitForResponse(request_headers, 1024, default_response_headers_, 1024); + checkSimpleRequestSuccess(1024, 1024, response.get()); + + // sub cluster added again + test_server_->waitForCounterEq("cluster_manager.cluster_added", 3); + test_server_->waitForCounterEq("cluster_manager.cluster_removed", 1); + cleanupUpstreamAndDownstream(); + + // Make update to DFP cluster + cluster_.mutable_circuit_breakers()->add_thresholds()->mutable_max_connections()->set_value(100); + cds_helper_.setCds({cluster_}); + + // sub cluster removed due to dfp cluster update + test_server_->waitForCounterEq("cluster_manager.cluster_added", 3); + test_server_->waitForCounterEq("cluster_manager.cluster_removed", 2); +} + // Verify that we expire sub clusters. TEST_P(ProxyFilterWithSimtimeIntegrationTest, RemoveSubClusterViaTTL) { initializeWithArgs(1024, 1024, "", "", true); @@ -1370,5 +1433,65 @@ TEST_P(ProxyFilterIntegrationTest, SubClusterWithIpHost) { checkSimpleRequestSuccess(0, 0, response.get()); } +// Verify that no DFP clusters are removed when CDS Reload is triggered. +TEST_P(ProxyFilterIntegrationTest, CDSReloadNotRemoveDFPCluster) { + config_helper_.addRuntimeOverride( + "envoy.reloadable_features.avoid_dfp_cluster_removal_on_cds_update", "true"); + const std::string cluster_yaml = R"EOF( + name: fake_cluster + connect_timeout: 0.250s + type: STATIC + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: fake_cluster + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: 127.0.0.1 + port_value: 11001 + )EOF"; + auto cluster = Upstream::parseClusterFromV3Yaml(cluster_yaml); + + initializeWithArgs(1024, 1024, "", "", true); + codec_client_ = makeHttpConnection(lookupPort("http")); + const Http::TestRequestHeaderMapImpl request_headers{ + {":method", "POST"}, + {":path", "/test/long/url"}, + {":scheme", "http"}, + {":authority", + fmt::format("localhost:{}", fake_upstreams_[0]->localAddress()->ip()->port())}}; + + auto response = + sendRequestAndWaitForResponse(request_headers, 1024, default_response_headers_, 1024); + checkSimpleRequestSuccess(1024, 1024, response.get()); + // one more sub cluster + test_server_->waitForCounterEq("cluster_manager.cluster_added", 2); + test_server_->waitForGaugeEq("cluster_manager.warming_clusters", 0); + test_server_->waitForCounterEq("cluster_manager.cluster_modified", 0); + test_server_->waitForCounterEq("cluster_manager.cluster_removed", 0); + + // Cause a cluster reload via CDS. + cds_helper_.setCds({cluster_, cluster}); + // a new cluster is added and no dfp cluster is removed + test_server_->waitForCounterEq("cluster_manager.cluster_added", 3); + test_server_->waitForGaugeEq("cluster_manager.warming_clusters", 0); + test_server_->waitForCounterEq("cluster_manager.cluster_modified", 0); + // No DFP cluster should be removed. + test_server_->waitForCounterEq("cluster_manager.cluster_removed", 0); + + // The fake upstream connection should stay connected + ASSERT_TRUE(fake_upstream_connection_->connected()); + + // Now send another request. This should not create new sub cluster. + response = sendRequestAndWaitForResponse(request_headers, 512, default_response_headers_, 512); + checkSimpleRequestSuccess(512, 512, response.get()); + + // No new cluster should be added as DFP cluster already exists + test_server_->waitForCounterEq("cluster_manager.cluster_added", 3); + test_server_->waitForGaugeEq("cluster_manager.warming_clusters", 0); +} + } // namespace } // namespace Envoy diff --git a/test/mocks/upstream/cluster_manager.h b/test/mocks/upstream/cluster_manager.h index 05c58a99fb6e..18eea3e87d0b 100644 --- a/test/mocks/upstream/cluster_manager.h +++ b/test/mocks/upstream/cluster_manager.h @@ -38,8 +38,8 @@ class MockClusterManager : public ClusterManager { MOCK_METHOD(absl::Status, initialize, (const envoy::config::bootstrap::v3::Bootstrap& bootstrap)); MOCK_METHOD(bool, initialized, ()); MOCK_METHOD(bool, addOrUpdateCluster, - (const envoy::config::cluster::v3::Cluster& cluster, - const std::string& version_info)); + (const envoy::config::cluster::v3::Cluster& cluster, const std::string& version_info, + const bool avoid_cds_removal)); MOCK_METHOD(void, setPrimaryClustersInitializedCb, (PrimaryClustersReadyCallback)); MOCK_METHOD(void, setInitializedCb, (InitializationCompleteCallback)); MOCK_METHOD(absl::Status, initializeSecondaryClusters, @@ -48,7 +48,7 @@ class MockClusterManager : public ClusterManager { MOCK_METHOD(const ClusterSet&, primaryClusters, ()); MOCK_METHOD(ThreadLocalCluster*, getThreadLocalCluster, (absl::string_view cluster)); - MOCK_METHOD(bool, removeCluster, (const std::string& cluster)); + MOCK_METHOD(bool, removeCluster, (const std::string& cluster, const bool remove_ignored)); MOCK_METHOD(void, shutdown, ()); MOCK_METHOD(bool, isShutdown, ()); MOCK_METHOD(const absl::optional&, bindConfig, (), (const)); From 2898e4dc52e8d4ec94c34470974dbaafdae8bfe0 Mon Sep 17 00:00:00 2001 From: alyssawilk Date: Mon, 14 Oct 2024 09:22:10 -0400 Subject: [PATCH 16/78] map matcher: removing exceptions (#36514) Risk Level: low Testing: updated tests Docs Changes: n/a Release Notes: n/a https://github.com/envoyproxy/envoy-mobile/issues/176 Signed-off-by: Alyssa Wilk --- source/common/matcher/exact_map_matcher.h | 17 +++++- source/common/matcher/map_matcher.h | 22 +++---- source/common/matcher/matcher.h | 17 ++++-- source/common/matcher/prefix_map_matcher.h | 15 ++++- test/common/matcher/exact_map_matcher_test.cc | 41 ++++++------- .../common/matcher/prefix_map_matcher_test.cc | 57 ++++++++++--------- .../http/match_delegate/config_test.cc | 6 +- tools/code_format/config.yaml | 1 - 8 files changed, 103 insertions(+), 73 deletions(-) diff --git a/source/common/matcher/exact_map_matcher.h b/source/common/matcher/exact_map_matcher.h index ecd56113be09..a2e09dfbffc0 100644 --- a/source/common/matcher/exact_map_matcher.h +++ b/source/common/matcher/exact_map_matcher.h @@ -11,9 +11,14 @@ namespace Matcher { */ template class ExactMapMatcher : public MapMatcher { public: - ExactMapMatcher(DataInputPtr&& data_input, - absl::optional> on_no_match) - : MapMatcher(std::move(data_input), std::move(on_no_match)) {} + static absl::StatusOr> + create(DataInputPtr&& data_input, absl::optional> on_no_match) { + absl::Status creation_status = absl::OkStatus(); + auto ret = std::unique_ptr>( + new ExactMapMatcher(std::move(data_input), on_no_match, creation_status)); + RETURN_IF_NOT_OK_REF(creation_status); + return ret; + } void addChild(std::string value, OnMatch&& on_match) override { const auto itr_and_exists = children_.emplace(value, std::move(on_match)); @@ -21,6 +26,12 @@ template class ExactMapMatcher : public MapMatcher { } protected: + template friend class MatchTreeFactory; + + ExactMapMatcher(DataInputPtr&& data_input, + absl::optional> on_no_match, absl::Status& creation_status) + : MapMatcher(std::move(data_input), std::move(on_no_match), creation_status) {} + absl::optional> doMatch(const std::string& data) override { const auto itr = children_.find(data); if (itr != children_.end()) { diff --git a/source/common/matcher/map_matcher.h b/source/common/matcher/map_matcher.h index 1e2c73bfd60c..828b74b07dfb 100644 --- a/source/common/matcher/map_matcher.h +++ b/source/common/matcher/map_matcher.h @@ -16,16 +16,6 @@ namespace Matcher { template class MapMatcher : public MatchTree, Logger::Loggable { public: - MapMatcher(DataInputPtr&& data_input, absl::optional> on_no_match) - : data_input_(std::move(data_input)), on_no_match_(std::move(on_no_match)) { - auto input_type = data_input_->dataInputType(); - if (input_type != DefaultMatchingDataType) { - throwEnvoyExceptionOrPanic( - absl::StrCat("Unsupported data input type: ", input_type, - ", currently only string type is supported in map matcher")); - } - } - // Adds a child to the map. virtual void addChild(std::string value, OnMatch&& on_match) PURE; @@ -59,6 +49,18 @@ class MapMatcher : public MatchTree, Logger::Loggable friend class MatchTreeFactory; + MapMatcher(DataInputPtr&& data_input, absl::optional> on_no_match, + absl::Status& creation_status) + : data_input_(std::move(data_input)), on_no_match_(std::move(on_no_match)) { + auto input_type = data_input_->dataInputType(); + if (input_type != DefaultMatchingDataType) { + creation_status = absl::InvalidArgumentError( + absl::StrCat("Unsupported data input type: ", input_type, + ", currently only string type is supported in map matcher")); + } + } + const DataInputPtr data_input_; const absl::optional> on_no_match_; diff --git a/source/common/matcher/matcher.h b/source/common/matcher/matcher.h index f2174062fcff..00332c631f68 100644 --- a/source/common/matcher/matcher.h +++ b/source/common/matcher/matcher.h @@ -273,11 +273,12 @@ class MatchTreeFactory : public OnMatchFactory { switch (matcher.matcher_tree().tree_type_case()) { case MatcherType::MatcherTree::kExactMatchMap: { return createMapMatcher(matcher.matcher_tree().exact_match_map(), data_input, - on_no_match); + on_no_match, &ExactMapMatcher::create); } case MatcherType::MatcherTree::kPrefixMatchMap: { return createMapMatcher(matcher.matcher_tree().prefix_match_map(), - data_input, on_no_match); + data_input, on_no_match, + &PrefixMapMatcher::create); } case MatcherType::MatcherTree::TREE_TYPE_NOT_SET: PANIC("unexpected matcher type"); @@ -294,10 +295,14 @@ class MatchTreeFactory : public OnMatchFactory { PANIC_DUE_TO_CORRUPT_ENUM; } + using MapCreationFunction = std::function>>( + DataInputPtr&& data_input, absl::optional> on_no_match)>; + template