feat(benchmarks): proxy external URL routing, HAProxy port alignment, and fleet filtering - #216
Open
JLCode-tech wants to merge 2 commits into
Conversation
…d proxies and align HAProxy 10080 port mapping - Resolve nodeport service external IP and internal IP for deployed proxies - Set HAProxy service and container port to 10080 in helm chart values - Prioritize deploy.external_url for benchmark dispatch - Add Layer 3 Kubernetes pod fallback check during target validation
…ng to benchmarks UI - Expose cluster_name on BenchmarkTarget, BenchmarkRun, and BenchmarkRunGroup - Add cluster_id query filter and eager loading to benchmark listing APIs - Integrate ClusterPicker fleet selector on Benchmarks page header - Display cluster column and badges in target lists and benchmark wizards
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR resolves external routability and port mapping issues when benchmarking non-BNK proxies (HAProxy and NGINX) from external benchmark agents, and introduces multi-cluster fleet filtering and cluster badging across the Benchmarks UI.
Key Changes
_resolve_service_external_urlinProxyDeployServiceto inspect Kubernetes NodePort allocations and worker node routable VPC IPs (InternalIP/ExternalIP/Hostname), storing the reachable URL inProxyDeployment.external_url.trigger_benchmark_runand scenario dispatches to prioritizedeploy.external_urlover internal cluster DNS.BenchmarkTargetService.validate_targetto verify backing services and running pods for internal cluster URLs._values_haproxyinProxyDeployServiceto setservice.ports.httpandcontainerPorts.httpto 10080 (matchinghaproxy.cfgbind port), eliminating connection refused errors on NodePort forwards.cluster_nameproperty toBenchmarkTarget,BenchmarkRun, andBenchmarkRunGroupmodels and response schemas.cluster_idquery filtering and eager loading to benchmark listing APIs.ClusterPickerintoBenchmarks.tsxheader for fleet-level aggregate or cluster-scoped views.Verification
test_proxy_deploy_resolve_url.py,test_validate_target.py,test_benchmark_cluster_info.py,test_proxy_deploy_new_proxies.py).BenchmarkTargetsTab.test.tsx).bnk-singapore: executed Run E2E: Dev/QA — performance & validation (benchmark run & compare) #60 against HAProxy with 250/250 successful requests (100% success rate).