[CI][RFC] Replace black-jupyter with ruff-format (#37210)
Co-authored-by: Alison Shao <a.shao@wustl.edu>
This commit is contained in:
co-authored by
Alison Shao
parent
2641e427be
commit
28262c20df
@@ -255,12 +255,12 @@ class TestClusterWideDiscovery:
|
||||
# A regression that quietly hardcoded a namespace filter would
|
||||
# still produce total=2 if labels happened to match elsewhere,
|
||||
# but only one of these IPs would surface.
|
||||
assert any(
|
||||
ip_a in u for u in urls
|
||||
), f"worker_a IP {ip_a} (ns {NAMESPACE}) not in {urls}"
|
||||
assert any(
|
||||
ip_b in u for u in urls
|
||||
), f"worker_b IP {ip_b} (ns {EXTRA_NAMESPACE}) not in {urls}"
|
||||
assert any(ip_a in u for u in urls), (
|
||||
f"worker_a IP {ip_a} (ns {NAMESPACE}) not in {urls}"
|
||||
)
|
||||
assert any(ip_b in u for u in urls), (
|
||||
f"worker_b IP {ip_b} (ns {EXTRA_NAMESPACE}) not in {urls}"
|
||||
)
|
||||
finally:
|
||||
_safe_delete_pod(worker_a, NAMESPACE)
|
||||
_safe_delete_pod(worker_b, EXTRA_NAMESPACE)
|
||||
|
||||
@@ -256,9 +256,9 @@ class TestGatewayRestart:
|
||||
"-l",
|
||||
"app=smg-gateway-restart",
|
||||
)
|
||||
assert res.get(
|
||||
"items"
|
||||
), "No pods found for selector app=smg-gateway-restart"
|
||||
assert res.get("items"), (
|
||||
"No pods found for selector app=smg-gateway-restart"
|
||||
)
|
||||
old_pod = res["items"][0]["metadata"]["name"]
|
||||
_kubectl(
|
||||
"delete",
|
||||
@@ -304,9 +304,9 @@ class TestGatewayRestart:
|
||||
logger.info("Workers after restart: %s", urls_after)
|
||||
|
||||
# No duplicates: each pod should appear exactly once.
|
||||
assert len(urls_after) == len(
|
||||
set(urls_after)
|
||||
), f"Duplicate worker registrations after gateway restart: {urls_after}"
|
||||
assert len(urls_after) == len(set(urls_after)), (
|
||||
f"Duplicate worker registrations after gateway restart: {urls_after}"
|
||||
)
|
||||
# Set equality: the same workers come back, neither dropped
|
||||
# nor duplicated.
|
||||
assert set(urls_after) == set(urls_before), (
|
||||
@@ -364,9 +364,9 @@ class TestPodIpChange:
|
||||
|
||||
ip_before = _get_pod_ip(pod_name)
|
||||
urls_before = {w["url"] for w in _get_workers(gateway_url)["workers"]}
|
||||
assert any(
|
||||
ip_before in url for url in urls_before
|
||||
), f"Expected initial worker URL containing {ip_before}, got {urls_before}"
|
||||
assert any(ip_before in url for url in urls_before), (
|
||||
f"Expected initial worker URL containing {ip_before}, got {urls_before}"
|
||||
)
|
||||
logger.info("Pod IP before: %s, urls: %s", ip_before, urls_before)
|
||||
|
||||
# Force-delete and wait until the registry no longer references
|
||||
@@ -384,9 +384,11 @@ class TestPodIpChange:
|
||||
)
|
||||
_wait_for_pod_gone(pod_name)
|
||||
_poll_until(
|
||||
lambda: not any(
|
||||
ip_before in w["url"]
|
||||
for w in _get_workers(gateway_url).get("workers", [])
|
||||
lambda: (
|
||||
not any(
|
||||
ip_before in w["url"]
|
||||
for w in _get_workers(gateway_url).get("workers", [])
|
||||
)
|
||||
),
|
||||
f"stale worker for IP {ip_before} removed",
|
||||
timeout=RECONCILIATION_WAIT_SECS,
|
||||
@@ -431,9 +433,9 @@ class TestPodIpChange:
|
||||
f"Expected exactly one worker URL containing current IP "
|
||||
f"{ip_after}, got {matching_after} (all urls: {urls_after})"
|
||||
)
|
||||
assert not any(
|
||||
ip_before in u for u in urls_after
|
||||
), f"Stale URL with old IP {ip_before} still in registry: {urls_after}"
|
||||
assert not any(ip_before in u for u in urls_after), (
|
||||
f"Stale URL with old IP {ip_before} still in registry: {urls_after}"
|
||||
)
|
||||
finally:
|
||||
_safe_force_delete(pod_name)
|
||||
|
||||
@@ -496,9 +498,11 @@ class TestGracefulDrain:
|
||||
# without affecting whether *this* pod's IP got removed. The
|
||||
# meaningful timing guarantee (`elapsed < grace_secs`) is below.
|
||||
_poll_until(
|
||||
lambda: not any(
|
||||
pod_ip in w["url"]
|
||||
for w in _get_workers(gateway_url).get("workers", [])
|
||||
lambda: (
|
||||
not any(
|
||||
pod_ip in w["url"]
|
||||
for w in _get_workers(gateway_url).get("workers", [])
|
||||
)
|
||||
),
|
||||
f"worker for ip {pod_ip} deregistered after graceful delete",
|
||||
timeout=RECONCILIATION_WAIT_SECS,
|
||||
|
||||
@@ -196,9 +196,9 @@ class TestMultiModelSelectorIsolation:
|
||||
# No URL should appear in both views — that would mean a
|
||||
# selector mismatch leaked a worker into the wrong gateway.
|
||||
cross_talk = set(llama_urls) & set(qwen_urls)
|
||||
assert (
|
||||
not cross_talk
|
||||
), f"Workers leaked across model selectors: {cross_talk}"
|
||||
assert not cross_talk, (
|
||||
f"Workers leaked across model selectors: {cross_talk}"
|
||||
)
|
||||
finally:
|
||||
for name in llama_workers + qwen_workers:
|
||||
_safe_force_delete(name)
|
||||
|
||||
@@ -181,9 +181,9 @@ class TestPDRolloutTypeChange:
|
||||
|
||||
by_type = _get_workers_by_type(pd_gateway)
|
||||
logger.info("Workers by type: %s", json.dumps(by_type, indent=2))
|
||||
assert (
|
||||
"prefill" in by_type
|
||||
), f"Expected prefill, got: {list(by_type.keys())}"
|
||||
assert "prefill" in by_type, (
|
||||
f"Expected prefill, got: {list(by_type.keys())}"
|
||||
)
|
||||
|
||||
finally:
|
||||
_safe_delete_pod(pod_name)
|
||||
@@ -257,12 +257,12 @@ class TestPDRolloutTypeChange:
|
||||
by_type = _get_workers_by_type(pd_gateway)
|
||||
logger.info("After rollout: %s", json.dumps(by_type, indent=2))
|
||||
|
||||
assert (
|
||||
"decode" in by_type
|
||||
), f"Expected decode worker after rollout, got: {list(by_type.keys())}"
|
||||
assert (
|
||||
"prefill" not in by_type
|
||||
), "Stale prefill worker persists after rollout"
|
||||
assert "decode" in by_type, (
|
||||
f"Expected decode worker after rollout, got: {list(by_type.keys())}"
|
||||
)
|
||||
assert "prefill" not in by_type, (
|
||||
"Stale prefill worker persists after rollout"
|
||||
)
|
||||
|
||||
finally:
|
||||
_safe_delete_pod(pod_name)
|
||||
|
||||
@@ -377,9 +377,9 @@ class TestReconciliationMetrics:
|
||||
{"source": "kubernetes", "result": "success"},
|
||||
)
|
||||
logger.info("Registration success metric: %s", reg_value)
|
||||
assert (
|
||||
reg_value is not None and reg_value >= 1
|
||||
), f"Expected at least 1 registration, got {reg_value}"
|
||||
assert reg_value is not None and reg_value >= 1, (
|
||||
f"Expected at least 1 registration, got {reg_value}"
|
||||
)
|
||||
|
||||
gauge_value = _parse_metric_value(
|
||||
metrics_text,
|
||||
@@ -387,9 +387,9 @@ class TestReconciliationMetrics:
|
||||
{"source": "kubernetes"},
|
||||
)
|
||||
logger.info("Workers discovered gauge: %s", gauge_value)
|
||||
assert (
|
||||
gauge_value is not None and gauge_value >= 1
|
||||
), f"Expected workers_discovered >= 1, got {gauge_value}"
|
||||
assert gauge_value is not None and gauge_value >= 1, (
|
||||
f"Expected workers_discovered >= 1, got {gauge_value}"
|
||||
)
|
||||
|
||||
finally:
|
||||
_safe_delete_worker_pod(pod_name)
|
||||
@@ -497,9 +497,9 @@ class TestReconciliationConsistency:
|
||||
|
||||
logger.info("Worker count samples over time: %s", samples)
|
||||
|
||||
assert all(
|
||||
s == stable_count for s in samples
|
||||
), f"Worker count fluctuated: {samples} (expected stable at {stable_count})"
|
||||
assert all(s == stable_count for s in samples), (
|
||||
f"Worker count fluctuated: {samples} (expected stable at {stable_count})"
|
||||
)
|
||||
|
||||
finally:
|
||||
for name in pod_names:
|
||||
|
||||
Reference in New Issue
Block a user