===== app-contract-nightly-9xvpt-archive-logs-pod.log ===== [pod/app-contract-nightly-9xvpt-archive-logs-pod/place-scripts] 2026-08-09T22:17:40.073918316-05:00 2026/08/10 03:17:40 Decoded script /tekton/scripts/script-0-v4x4x [pod/app-contract-nightly-9xvpt-archive-logs-pod/place-scripts] 2026-08-09T22:17:40.092088327-05:00 2026/08/10 03:17:40 Decoded script /tekton/scripts/script-1-97wmd [pod/app-contract-nightly-9xvpt-archive-logs-pod/step-collect-logs] 2026-08-09T22:17:43.392342540-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-9xvpt [pod/app-contract-nightly-9xvpt-archive-logs-pod/prepare] 2026-08-09T22:17:39.303714860-05:00 2026/08/10 03:17:39 Entrypoint initialization ===== app-contract-nightly-9xvpt-contract-pod.log ===== [pod/app-contract-nightly-9xvpt-contract-pod/prepare] 2026-08-09T22:17:04.374797143-05:00 2026/08/10 03:17:04 Entrypoint initialization [pod/app-contract-nightly-9xvpt-contract-pod/place-scripts] 2026-08-09T22:17:05.328329459-05:00 2026/08/10 03:17:05 Decoded script /tekton/scripts/script-0-rmvpn [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:09.009485483-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:09.169508147-05:00 job.batch/app-contract-20260810-031708 created [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.061405151-05:00 ----- contract Job logs (app-contract-20260810-031708) ----- [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497263955-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497291254-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497296374-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497300434-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497303974-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497307684-05:00 rootdir: /app [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497313644-05:00 configfile: pytest.ini [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497317584-05:00 plugins: django-4.13.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497321354-05:00 collected 31 items [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497324814-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497328434-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497332204-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497336804-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497341084-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497355454-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497361404-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497364794-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497368514-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497373414-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497376954-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497380944-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497384604-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497388184-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497391764-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497395264-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497409484-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497413154-05:00 > yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497416624-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497420304-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497424034-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497427814-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497431444-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497435094-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497438674-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497442184-05:00 raise exc from None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497445724-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497449274-05:00 response = connection.handle_request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497452944-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497456414-05:00 raise exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497472883-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497475463-05:00 stream = self._connect(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497477993-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497480443-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497482833-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497485243-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497487593-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497489943-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497492863-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497495273-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497497673-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497500573-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497502843-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497506413-05:00 map = {: , : } [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497510563-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497513023-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497515453-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497517833-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497520363-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497522723-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497525083-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497527423-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497529833-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497532293-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497534573-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497537013-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497539323-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497541643-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497543933-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497546353-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497548703-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497551073-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497553373-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497555813-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497558203-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497560563-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497562923-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497565263-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497567593-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497569933-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497572373-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497574803-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497577223-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497579613-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497581993-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497584393-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497586803-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497589253-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497595883-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497598323-05:00 integrations/base.py:135: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497608443-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497611643-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497614373-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497616703-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497619013-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497621503-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497623873-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497626273-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497628683-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497631043-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497633443-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497635873-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497638223-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497640613-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497643043-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497645443-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497647813-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497651683-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497654183-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497656553-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497658823-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497661183-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497663603-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497665983-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497668333-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497670663-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497673013-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497675452-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497677802-05:00 except Exception as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497680152-05:00 mapped_exc = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497682582-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497685192-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497687672-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497690082-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497692472-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497694972-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497697342-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497699672-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497702042-05:00 mapped_exc = to_exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497704472-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497706862-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497713332-05:00 raise [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497715742-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497719212-05:00 message = str(exc) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497721652-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497724082-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497726332-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497728722-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497731032-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497733392-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497735652-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497738342-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497740722-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497743092-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497745442-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497748092-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497750482-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497752592-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497754572-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497756492-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497758372-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497760302-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497762242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497764422-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497766342-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497768202-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497770172-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497771982-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497773872-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497775862-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497778242-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497780172-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497782072-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497784082-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497785942-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497787802-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497789672-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497791552-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497793492-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497795422-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497797292-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497799242-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497801132-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497803002-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497804882-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497806812-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497808772-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497810752-05:00 last_exc = exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497815972-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497821522-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497824152-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497826282-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497828572-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497830462-05:00 ) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497832822-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497834632-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497836502-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497838402-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497840222-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497842172-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497844082-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497845952-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497847902-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497849782-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497851802-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497853672-05:00 > yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497855502-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497857392-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497859302-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497861312-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497863232-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497865192-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497867182-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497869222-05:00 raise exc from None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497871132-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497873032-05:00 response = connection.handle_request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497875012-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497877042-05:00 raise exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497880971-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497882911-05:00 stream = self._connect(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497884811-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497886771-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497888661-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497890551-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497892431-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497894311-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497896291-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497898241-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497900171-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497902091-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497907431-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497909511-05:00 map = {: , : } [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497911331-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497914561-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497916491-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497918411-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497920391-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497922321-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497924201-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497926081-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497927931-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497929821-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497931711-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497933621-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497935441-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497937361-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497939161-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497941041-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497942971-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497944851-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497946691-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497948571-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497950481-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497952331-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497954191-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497956131-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497958001-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497959851-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497962571-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497964441-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497966331-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497968271-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497970151-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497972101-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497974041-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497975911-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497977731-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497979581-05:00 integrations/base.py:135: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497981531-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497983441-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497985351-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497987231-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497989121-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497991011-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497992941-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.497994831-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498000231-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498005671-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498007691-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498009671-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498011541-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498013481-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498015421-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498017301-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498019161-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498021021-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498022951-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498024861-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498029071-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498031111-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498032981-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498034991-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498036941-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498039051-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498041101-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498043091-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498044991-05:00 except Exception as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498046971-05:00 mapped_exc = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498048891-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498050781-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498052761-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498054641-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498056531-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498058431-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498060311-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498062221-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498064221-05:00 mapped_exc = to_exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498066121-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498068021-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498069941-05:00 raise [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498071841-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498073761-05:00 message = str(exc) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498075691-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498106700-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498109590-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498112570-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498115350-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498118730-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498121450-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498124230-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498127020-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498129830-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498132610-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498135470-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498142790-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498144670-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498146570-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498148520-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498150400-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498152380-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498154350-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498156230-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498158170-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498160130-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498162080-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498163890-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498165860-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498167860-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498169770-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498171580-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498173440-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498175340-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498177240-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498179110-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498180990-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498182920-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498184790-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498186720-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498188620-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498190630-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498192530-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498194420-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498196300-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498198220-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498200110-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498202000-05:00 last_exc = exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498203920-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498205830-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498207720-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498209600-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498211500-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498213410-05:00 ) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498215940-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498217770-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498219640-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498221540-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498223370-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498225250-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498232440-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498234620-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498241510-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498243570-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498245500-05:00 E assert False [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498247490-05:00 E + where False = .reachable [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498249320-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498252030-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498253980-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498255810-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498257740-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498259730-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498261640-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498263530-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498265450-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498267470-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498269370-05:00 > yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498271180-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498273160-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498275100-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498277000-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498278940-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498280830-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498282780-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498284719-05:00 raise exc from None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498286679-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498288569-05:00 response = connection.handle_request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498290519-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498292439-05:00 raise exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498294329-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498296239-05:00 stream = self._connect(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498298129-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498300039-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498301929-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498303809-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498305789-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498307679-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498309569-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498311449-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498313339-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498315329-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498317129-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498319079-05:00 map = {: , : } [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498320899-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498325969-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498327919-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498329819-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498331739-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498333829-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498335709-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498337679-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498339609-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498341549-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498343379-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498349479-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498352629-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498354889-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498356729-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498358699-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498360589-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498362479-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498364309-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498366179-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498368129-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498370399-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498372279-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498374169-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498376149-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498377999-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498379849-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498381809-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498383729-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498385659-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498387569-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498389449-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498391329-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498393259-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498395079-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498396949-05:00 integrations/base.py:135: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498398869-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498400799-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498402719-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498404629-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498406499-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498408399-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498410289-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498412219-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498417489-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498419519-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498421409-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498423559-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498429029-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498431019-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498432979-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498434879-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498436839-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498438709-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498440579-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498442469-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498444269-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498446129-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498448009-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498449949-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498451859-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498453749-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498455749-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498457619-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498459519-05:00 except Exception as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498461449-05:00 mapped_exc = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498463339-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498465299-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498467259-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498469139-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498471019-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498472929-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498474809-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498476699-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498478579-05:00 mapped_exc = to_exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498480469-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498482369-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498484249-05:00 raise [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498486139-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498488028-05:00 message = str(exc) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498489908-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498491768-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498493588-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498495548-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498497398-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498499258-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498501088-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498502948-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498504848-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498506738-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498508618-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498510658-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498513858-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498515858-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498517798-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498522828-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498524788-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498526748-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498528648-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498530548-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498532468-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498534408-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498536348-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498538298-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498540118-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498541968-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498543878-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498545778-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498547608-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498549478-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498551368-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498553248-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498555128-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498556998-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498558868-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498560738-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498562638-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498564518-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498566398-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498568288-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498570178-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498572038-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498574018-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498575928-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498577848-05:00 last_exc = exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498579788-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498581658-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498583708-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498586268-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498588378-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498590268-05:00 ) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498592328-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498594208-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498596078-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498597948-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498599778-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498601708-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498606948-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498608878-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498610798-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498612668-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498622838-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498624758-05:00 > yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498626558-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498628508-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498630388-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498632408-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498634338-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498636308-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498638278-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498640858-05:00 raise exc from None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498642748-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498644628-05:00 response = connection.handle_request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498646508-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498648398-05:00 raise exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498650308-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498652198-05:00 stream = self._connect(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498654098-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498655988-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498657938-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498659818-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498661708-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498663598-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498665518-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498667528-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498669438-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498671408-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498673218-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498675948-05:00 map = {: , : } [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498677778-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498679678-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498681638-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498683538-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498685468-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498687358-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498689238-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498691137-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498693107-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498694987-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498696837-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498698697-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498700507-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498702387-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498704207-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498706077-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498711567-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498713477-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498715317-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498717197-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498719077-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498720957-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498722837-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498724697-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498726577-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498728447-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498730377-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498732257-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498734157-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498736067-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498738007-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498739897-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498741797-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498743737-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498746007-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498747877-05:00 integrations/base.py:135: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498749837-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498751967-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498753867-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498755747-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498757677-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498759557-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498761497-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498763467-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498765377-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498767267-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498769207-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498771327-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498773217-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498775097-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498777017-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498779017-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498780927-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498786297-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498788227-05:00 self.gen.throw(value) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498790957-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498792897-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498794807-05:00 @contextlib.contextmanager [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498796707-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498799177-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498801087-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498806197-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498808167-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498810087-05:00 yield [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498811987-05:00 except Exception as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498813907-05:00 mapped_exc = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498815837-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498817747-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498820187-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498822507-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498824527-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498826437-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498828347-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498830317-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498832227-05:00 mapped_exc = to_exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498834127-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498836077-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498837967-05:00 raise [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498839917-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498841827-05:00 message = str(exc) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498843727-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498846207-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498848057-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498850037-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498851897-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498853787-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498855617-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498857497-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498859387-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498861327-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498863237-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498865077-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498866997-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498868947-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498870897-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498872807-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498874717-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498876667-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498879127-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498881057-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498882957-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498884907-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498886847-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498888797-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498890617-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498892687-05:00 self = [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498894666-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498899936-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498901806-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498903666-05:00 def _request( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498905566-05:00 self, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498907496-05:00 method: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498909376-05:00 path: str, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498911296-05:00 *, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498913196-05:00 retry: bool = True, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498915146-05:00 **kwargs: Any, [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498917036-05:00 ) -> httpx.Response: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498918936-05:00 client = self._ensure_client() [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498920846-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498922746-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498924646-05:00 for attempt in range(attempts): [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498926656-05:00 try: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498929346-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498931246-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498933576-05:00 last_exc = exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498936156-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498938076-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498941326-05:00 continue [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498943246-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498945246-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498947136-05:00 ) from exc [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498949116-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498950966-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498952836-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498954756-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498956856-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498958816-05:00 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498961126-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498963206-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498965186-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498967246-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498969196-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.498985736-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499000976-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499009706-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499013506-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499017446-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499029576-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499032176-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499034696-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499037176-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499039716-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499042776-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499045286-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499047656-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499050076-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499052526-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499054946-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499057306-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499059806-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499063356-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499065866-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499068326-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499070696-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499073056-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499075486-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499077916-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499081616-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499084096-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499086626-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499089126-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499092206-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499099195-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499101745-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499104155-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499106585-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499109015-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499111395-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499113855-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499119385-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499122505-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499124965-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499128185-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499130535-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499132895-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499135275-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499137725-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499140075-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499142405-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499144775-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499147175-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499149555-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499151985-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499154445-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499156885-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499159255-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499161635-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499164215-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499166715-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499174095-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499176505-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499178965-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499181335-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499183785-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499186175-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499188655-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499191085-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499193485-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499195865-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499198255-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499200625-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499202995-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499205385-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499207775-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499210185-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499212645-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499215025-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499223745-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499226285-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499228655-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499231035-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499233545-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499235945-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499238385-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499240775-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499243115-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499245545-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499252955-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499256785-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499260805-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499264475-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499268155-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499271325-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499273765-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499276205-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499278615-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499281135-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499283795-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499286455-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-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499288845-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.50s =================== [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499291265-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.499293675-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-9xvpt-contract-pod/step-run-contract] 2026-08-09T22:17:35.500489069-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above