===== app-contract-nightly-b6r69-archive-logs-pod.log ===== [pod/app-contract-nightly-b6r69-archive-logs-pod/prepare] 2026-08-12T22:17:33.290951193-05:00 2026/08/13 03:17:33 Entrypoint initialization [pod/app-contract-nightly-b6r69-archive-logs-pod/place-scripts] 2026-08-12T22:17:33.974438368-05:00 2026/08/13 03:17:33 Decoded script /tekton/scripts/script-0-w8pd5 [pod/app-contract-nightly-b6r69-archive-logs-pod/place-scripts] 2026-08-12T22:17:33.992838584-05:00 2026/08/13 03:17:33 Decoded script /tekton/scripts/script-1-j99vx [pod/app-contract-nightly-b6r69-archive-logs-pod/step-collect-logs] 2026-08-12T22:17:36.335922107-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-b6r69 ===== app-contract-nightly-b6r69-contract-pod.log ===== [pod/app-contract-nightly-b6r69-contract-pod/prepare] 2026-08-12T22:17:05.683867142-05:00 2026/08/13 03:17:05 Entrypoint initialization [pod/app-contract-nightly-b6r69-contract-pod/place-scripts] 2026-08-12T22:17:06.686518466-05:00 2026/08/13 03:17:06 Decoded script /tekton/scripts/script-0-htspn [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:10.079425518-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:10.182070761-05:00 job.batch/app-contract-20260813-031710 created [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:30.839384685-05:00 ----- contract Job logs (app-contract-20260813-031710) ----- [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001421775-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001437665-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001442555-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001446435-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001451085-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001454945-05:00 rootdir: /app [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001458595-05:00 configfile: pytest.ini [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001462345-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001466325-05:00 collected 31 items [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001470535-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001474855-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001490555-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001494455-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001498525-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001504895-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001508685-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001512805-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001516905-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001520845-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001524335-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001528005-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001532165-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001535775-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001540285-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001543915-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001547475-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001551185-05:00 > yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001554625-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001558195-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001561885-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001565665-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001569255-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001572925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001576545-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001580265-05:00 raise exc from None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001583895-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001587495-05:00 response = connection.handle_request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001591235-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001595915-05:00 raise exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001612095-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001614845-05:00 stream = self._connect(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001617315-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001619745-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001622205-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001624595-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001627045-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001629645-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001632335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001634825-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001637215-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001639765-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001642065-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001644545-05:00 map = {: , : } [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001648365-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001650885-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001653415-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001655865-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001658265-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001661265-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001663735-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001666115-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001668565-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001670965-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001673285-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001676485-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001678805-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001681205-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001683495-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001685885-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001688815-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001691375-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001693665-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001696075-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001698585-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001700995-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001703375-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001705765-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001708145-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001710525-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001712915-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001715395-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001717815-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001720285-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001722715-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001725115-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001727525-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001729965-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001736315-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001738805-05:00 integrations/base.py:135: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001746905-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001749455-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001751945-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001754385-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001756815-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001759235-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001761755-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001764155-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001766625-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001769195-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001771585-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001774635-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001777045-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001779445-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001781935-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001784335-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001786775-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001789465-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001792075-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001794565-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001796885-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001799285-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001801775-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001804255-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001806675-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001809095-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001811595-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001814015-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001816495-05:00 except Exception as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001818875-05:00 mapped_exc = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001821325-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001823815-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001826235-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001828685-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001831175-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001833585-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001836265-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001840995-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001843485-05:00 mapped_exc = to_exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001845985-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001848435-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001855125-05:00 raise [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001857555-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001859965-05:00 message = str(exc) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001862355-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001865655-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001868015-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001870625-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001872935-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001875445-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001877885-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001880435-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001882855-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001887045-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001889515-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001892015-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001894465-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001896775-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001899175-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001901175-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001903135-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001905035-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001906955-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001908925-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001910965-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001912935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001914895-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001916755-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001918745-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001920725-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001922805-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001924655-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001926845-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001928775-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001930785-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001932675-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001934665-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001936615-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001938635-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001940525-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001942535-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001944505-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001946515-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001948435-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001950365-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001952355-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001955295-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001957305-05:00 last_exc = exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001962535-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001966785-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001968865-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001970794-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001972914-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001974884-05:00 ) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001976944-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001978804-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001980734-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001983064-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001984924-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001987054-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001989244-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001991204-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001993534-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001995434-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001997484-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.001999504-05:00 > yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002001354-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002003314-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002005304-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002014254-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002017704-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002019784-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002021884-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002023854-05:00 raise exc from None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002025794-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002027734-05:00 response = connection.handle_request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002029794-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002031774-05:00 raise exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002033774-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002035774-05:00 stream = self._connect(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002037754-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002039774-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002041794-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002043884-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002045814-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002047784-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002049684-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002051574-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002054104-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002056414-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002062694-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002064974-05:00 map = {: , : } [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002066914-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002069134-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002071214-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002073674-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002075854-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002078204-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002112454-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002115754-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002119004-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002122284-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002127054-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002130764-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002133704-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002136644-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002139484-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002142394-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002147454-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002150534-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002153314-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002156264-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002159164-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002162004-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002164834-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002167674-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002170614-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002173534-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002176494-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002179404-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002182254-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002185174-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002188024-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002190884-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002193814-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002196674-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002199434-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002202244-05:00 integrations/base.py:135: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002205114-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002208044-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002210914-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002213744-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002216574-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002219474-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002222324-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002225184-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002230664-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002238334-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002240404-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002242384-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002244444-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002246504-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002248414-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002250454-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002252364-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002254254-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002256164-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002258094-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002259974-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002261874-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002263884-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002265794-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002267864-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002269884-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002271984-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002274074-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002276104-05:00 except Exception as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002278114-05:00 mapped_exc = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002280054-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002281984-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002284624-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002286544-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002288484-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002290484-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002292454-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002294374-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002296314-05:00 mapped_exc = to_exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002298264-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002300214-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002302134-05:00 raise [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002304054-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002306004-05:00 message = str(exc) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002307954-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002309854-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002311704-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002313674-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002315524-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002317434-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002319484-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002321414-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002323414-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002325354-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002327284-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002329304-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002335624-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002337494-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002339394-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002341344-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002343264-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002345164-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002347344-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002349534-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002351424-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002353404-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002355314-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002357214-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002359244-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002361254-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002363184-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002365044-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002366954-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002368934-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002370934-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002372844-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002374854-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002376754-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002378684-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002380744-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002382734-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002384664-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002386654-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002388674-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002390684-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002392664-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002394604-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002396544-05:00 last_exc = exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002398534-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002400434-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002404584-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002406514-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002408484-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002411434-05:00 ) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002413424-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002415344-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002417244-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002419274-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002421134-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002423064-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002427744-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002429744-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002435664-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002437754-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002439684-05:00 E assert False [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002442474-05:00 E + where False = .reachable [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002444404-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002446444-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002448384-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002450254-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002452234-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002454164-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002456074-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002458004-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002459964-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002461984-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002463924-05:00 > yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002465784-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002467734-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002469634-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002471604-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002473524-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002475504-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002477554-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002479474-05:00 raise exc from None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002481394-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002483414-05:00 response = connection.handle_request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002485384-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002487364-05:00 raise exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002489274-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002491224-05:00 stream = self._connect(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002493174-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002495084-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002497264-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002499194-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002501104-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002503024-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002504964-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002506874-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002508824-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002510754-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002512584-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002514574-05:00 map = {: , : } [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002520314-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002522314-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002524224-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002526144-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002528084-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002530034-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002531954-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002533844-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002535754-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002537654-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002539514-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002541424-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002543444-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002545354-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002547194-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002549174-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002551894-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002553944-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002555804-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002557704-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002559804-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002561724-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002563644-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002565544-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002567454-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002569364-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002571264-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002573224-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002575164-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002577084-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002579024-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002580954-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002582894-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002584794-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002586644-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002588544-05:00 integrations/base.py:135: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002590504-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002592414-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002594534-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002596534-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002598524-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002600454-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002602384-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002604294-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002608314-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002610294-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002612324-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002617804-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002619744-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002621644-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002623554-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002625604-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002627524-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002629424-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002631324-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002633244-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002635084-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002637064-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002638974-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002640914-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002642854-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002644744-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002646694-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002648604-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002650514-05:00 except Exception as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002652434-05:00 mapped_exc = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002654394-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002656334-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002658324-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002660244-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002662174-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002664104-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002666014-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002667934-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002669844-05:00 mapped_exc = to_exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002671804-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002673734-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002675694-05:00 raise [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002677614-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002679554-05:00 message = str(exc) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002681464-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002683384-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002685234-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002687174-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002689034-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002691024-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002692874-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002694844-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002696764-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002698704-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002700604-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002702504-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002704464-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002706384-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002711754-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002713674-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002715564-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002717474-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002719394-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002721314-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002723244-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002725134-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002727024-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002728924-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002730764-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002732754-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002734804-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002736744-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002738604-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002740504-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002742434-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002744354-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002746254-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002748154-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002750054-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002751994-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002753884-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002755804-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002757734-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002759654-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002761564-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002763504-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002765484-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002767544-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002769464-05:00 last_exc = exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002771374-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002773274-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002775264-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002777184-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002779304-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002781214-05:00 ) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002783174-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002785054-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002786964-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002789004-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002790854-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002792754-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002796634-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002798624-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002800524-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002807394-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002809344-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002811244-05:00 > yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002813084-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002815154-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002817054-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002819004-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002820934-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002822844-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002824944-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002826864-05:00 raise exc from None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002828854-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002830874-05:00 response = connection.handle_request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002832784-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002834724-05:00 raise exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002836774-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002838694-05:00 stream = self._connect(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002840604-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002842604-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002844534-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002846454-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002848354-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002850374-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002852284-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002854204-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002856124-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002858144-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002859994-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002862154-05:00 map = {: , : } [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002864004-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002865924-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002868184-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002870104-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002872024-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002873954-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002875864-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002877774-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002881054-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002883014-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002884854-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002886764-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002888594-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002890484-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002895774-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002898804-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002900784-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002902744-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002904604-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002906654-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002908604-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002910534-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002912554-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002914474-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002916464-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002918734-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002920644-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002923924-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002925894-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002927854-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002929774-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002931694-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002933744-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002935694-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002937554-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002939454-05:00 integrations/base.py:135: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002941414-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002943364-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002945294-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002947254-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002949174-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002951264-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002953194-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002955284-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002959264-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002961284-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002963204-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002965134-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002967064-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002969034-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002971044-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002972974-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002975114-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002979594-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002981564-05:00 self.gen.throw(value) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002983484-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002985404-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002987324-05:00 @contextlib.contextmanager [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002989324-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002991254-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002996704-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.002998624-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003000544-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003002464-05:00 yield [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003004664-05:00 except Exception as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003011094-05:00 mapped_exc = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003014504-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003016834-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003018754-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003020674-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003022614-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003024544-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003026904-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003029734-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003031654-05:00 mapped_exc = to_exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003033854-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003035794-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003037724-05:00 raise [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003039654-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003041584-05:00 message = str(exc) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003043554-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003045484-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003047344-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003049394-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003051264-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003053174-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003055024-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003056954-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003058894-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003060834-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003062764-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003064694-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003066604-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003068534-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003070464-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003072454-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003074474-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003076414-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003078344-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003080294-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003082214-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003084754-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003086694-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003088614-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003090504-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003092514-05:00 self = [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003101854-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003103844-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003105704-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003107624-05:00 def _request( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003109554-05:00 self, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003111514-05:00 method: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003113464-05:00 path: str, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003115374-05:00 *, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003117294-05:00 retry: bool = True, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003119224-05:00 **kwargs: Any, [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003121134-05:00 ) -> httpx.Response: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003123054-05:00 client = self._ensure_client() [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003124994-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003126924-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003128894-05:00 for attempt in range(attempts): [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003130814-05:00 try: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003132744-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003134674-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003136614-05:00 last_exc = exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003138634-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003140584-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003142584-05:00 continue [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003144594-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003146534-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003148474-05:00 ) from exc [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003150534-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003152424-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003154354-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003156314-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003158274-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003160164-05:00 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003162124-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003164134-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003166353-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003168663-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003170593-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003186633-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003195783-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003203533-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003207933-05:00 fleet/admin.py 292 122 46 0 50% 74-75, 79, 82-85, 99, 103, 106, 140, 146-147, 169, 172, 193, 196, 207, 211, 258-267, 275-281, 286-296, 309-311, 340-344, 348-356, 360-363, 368-385, 390-404, 413-424, 460, 464-467, 471-500, 504-510, 524, 534-549, 584, 588 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003218623-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003221343-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003223863-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003226403-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003228973-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003231493-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003234203-05:00 fleet/deviceconfig.py 180 123 68 0 23% 106, 113, 118, 123, 129, 141, 166-219, 224, 238-253, 277-331, 342-353, 357-359, 363-374, 383-385, 395-397, 403-415 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003236623-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003239053-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003241533-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003244013-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003246403-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003249733-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003252273-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003254763-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003257213-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003259703-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003262143-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003264613-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003267133-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003269773-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003273213-05:00 fleet/reconcile.py 111 79 34 0 22% 62, 67, 71-72, 82-87, 104-142, 148-161, 181-194, 202-205, 223-226, 239-244, 258-287 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003275693-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003278243-05:00 fleet/scoping.py 32 25 12 0 16% 17-19, 26-28, 36-39, 44-47, 53-58, 66-72 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003280713-05:00 fleet/selftest.py 116 90 24 0 19% 67, 71, 90-124, 136-163, 168-173, 184-191, 201-214, 219-224, 235-254, 269-277 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003283523-05:00 fleet/status.py 144 82 26 0 36% 78, 101-106, 110-120, 124, 128, 132, 135-136, 163-164, 168, 185-188, 200-215, 219-221, 232-235, 241-255, 260-278, 283-286, 298-303, 307-312 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003290733-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003293223-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003295723-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003298363-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003300833-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003303313-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003306303-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003312673-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003315763-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003318303-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003320773-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003323753-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003326273-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003328753-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003331213-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003333703-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003336183-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003338663-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003341133-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003343613-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003346103-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003348603-05:00 integrations/base.py 122 33 32 12 67% 39, 43-51, 55, 60-62, 96, 99, 100->108, 111-113, 116, 119, 146-147, 161, 165, 176, 179, 186-187, 193, 196, 205, 220 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003351083-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003355133-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003357623-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003360343-05:00 integrations/grafana.py 68 50 22 0 20% 27, 30, 33, 36, 43-50, 60-72, 75-97, 110-123, 126-135, 141 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003363073-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003372743-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003375253-05:00 integrations/mender.py 116 85 38 0 20% 33-51, 61-79, 82-88, 92-97, 101-102, 111-121, 131-133, 143-153, 158, 161-162, 174-180, 189-190, 210-218, 221, 231 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003377783-05:00 integrations/rundeck.py 46 25 10 0 38% 44-49, 65-81, 85-89, 95-103, 114-117, 126 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003380263-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003382753-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003385283-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003388363-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003390873-05:00 stores/admin.py 87 30 12 0 58% 95, 101-104, 107-110, 118-121, 142, 145, 148-152, 156-168, 183 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003393353-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003395823-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003398293-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003400743-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003403913-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003406373-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003408863-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003411373-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003413833-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003416323-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003423973-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003426543-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003429143-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003431773-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003434803-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003437493-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003439983-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003442703-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003445253-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003452343-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003454863-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003457393-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003459863-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003462323-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003464773-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003467273-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003469753-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003472203-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003474713-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003477343-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003479813-05:00 SKIPPED [5] tests/contract/_live.py:75: mender not configured (MENDER_URL/MENDER_API_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003482313-05:00 SKIPPED [5] tests/contract/_live.py:101: grafana not configured (GRAFANA_URL/GRAFANA_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003484763-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.32s =================== [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003487393-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003489913-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-b6r69-contract-pod/step-run-contract] 2026-08-12T22:17:31.003736623-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above