refactor(cli): read the placement decision at its only call site

This commit is contained in:
Hugo Durand
2026-09-22 15:47:45 -04:00
parent 0566c60bc2
commit a4ed4dc356
2 changed files with 3 additions and 34 deletions
+3 -5
View File
@@ -226,9 +226,6 @@ class RequestedPlacement:
"--name."
)
def must_place(self, *, required: bool) -> bool:
return required or self.requested
def resolve(self, listeners: Sequence[Listener]) -> Placement:
if not listeners:
if self.requested:
@@ -287,7 +284,7 @@ def _describe_listeners(listeners: Sequence[Listener]) -> str:
if len(listeners) > len(shown):
lines.append(f" ... and {len(listeners) - len(shown)} more")
if len(listeners) == MAX_PAGE_SIZE:
lines.append(f" (the first {MAX_PAGE_SIZE} listeners are shown)")
lines.append(f" (only the first {MAX_PAGE_SIZE} listeners were read)")
return "\n".join(lines)
@@ -1551,7 +1548,8 @@ class CustomerRegistrySource:
)
def _placement(self, ctx: DeployContext) -> Placement:
if not self.placement.must_place(required=ctx.endpoints.is_cloud):
places_on_a_listener = ctx.endpoints.is_cloud or self.placement.requested
if not places_on_a_listener:
return Unplaced()
placement = self.placement.resolve(_available_listeners(ctx.client))
if placement.summary:
@@ -974,35 +974,6 @@ NO_NAMESPACE = Listener("listener-3", "broken-cluster", ())
class TestRequestedPlacement:
@pytest.mark.parametrize(
("request_", "required", "expected"),
[
pytest.param(RequestedPlacement(), True, True, id="cloud_must_place"),
pytest.param(
RequestedPlacement(),
False,
False,
id="self_hosted_keeps_its_bundled_operator",
),
pytest.param(
RequestedPlacement(listener_id="listener-1"),
False,
True,
id="self_hosted_places_when_asked",
),
pytest.param(
RequestedPlacement(k8s_namespace="agents"),
False,
True,
id="a_namespace_alone_is_still_a_request",
),
],
)
def test_must_place_decides_whether_listeners_matter(
self, request_, required, expected
):
assert request_.must_place(required=required) is expected
@pytest.mark.parametrize(
("request_", "listeners", "expected"),
[