===== app-contract-nightly-staging-mjx5c-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-mjx5c-archive-logs-pod/prepare] 2026-08-07T21:47:30.257969715-05:00 2026/08/08 02:47:30 Entrypoint initialization [pod/app-contract-nightly-staging-mjx5c-archive-logs-pod/place-scripts] 2026-08-07T21:47:31.095747924-05:00 2026/08/08 02:47:31 Decoded script /tekton/scripts/script-0-6bwvq [pod/app-contract-nightly-staging-mjx5c-archive-logs-pod/place-scripts] 2026-08-07T21:47:31.112951398-05:00 2026/08/08 02:47:31 Decoded script /tekton/scripts/script-1-gvcgf [pod/app-contract-nightly-staging-mjx5c-archive-logs-pod/step-collect-logs] 2026-08-07T21:47:35.834305123-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-mjx5c ===== app-contract-nightly-staging-mjx5c-contract-pod.log ===== [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:07.077754890-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:07.144360603-05:00 job.batch/app-contract-20260808-024707 created [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.728213959-05:00 ----- contract Job logs (app-contract-20260808-024707) ----- [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890297697-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890326027-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890331697-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890336206-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890340456-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890344716-05:00 rootdir: /app [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890349396-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890353776-05:00 plugins: django-4.13.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890359766-05:00 collected 31 items [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890365676-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890372586-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890378126-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890382786-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890396856-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890401136-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890405296-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890409346-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890413596-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890417806-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890421786-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890426816-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890430916-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890434996-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890439156-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890443196-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890447436-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890451576-05:00 > yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890455526-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890459576-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890463696-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890468196-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890473026-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890477076-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890481206-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890485366-05:00 raise exc from None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890489516-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890493696-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890497816-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890501896-05:00 raise exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890521776-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890524836-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890527706-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890530496-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890533316-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890536126-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890538936-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890541746-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890544586-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890547496-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890550256-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890553656-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890556366-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890559456-05:00 map = {: , : } [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890563036-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890565916-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890568856-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890571696-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890574486-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890577326-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890580286-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890583156-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890586036-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890589026-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890591736-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890594716-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890597386-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890600176-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890602916-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890605766-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890608556-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890611336-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890613986-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890617476-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890620296-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890623126-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890625966-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890628836-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890631576-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890634506-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890637296-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890640916-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890644556-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890647376-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890650246-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890654876-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890657656-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890660416-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890668336-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890671146-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890679426-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890682546-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890685946-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890688796-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890691626-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890694446-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890697306-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890700256-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890703056-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890705936-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890708966-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890711806-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890714646-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890717426-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890720246-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890723126-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890728146-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890730996-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890733836-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890736766-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890739436-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890742306-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890745086-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890747896-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890750696-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890754366-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890757216-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890760156-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890762926-05:00 except Exception as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890765736-05:00 mapped_exc = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890768746-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890771536-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890774465-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890778065-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890781595-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890784435-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890787315-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890790165-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890793015-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890795805-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890798615-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890806555-05:00 raise [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890809445-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890812315-05:00 message = str(exc) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890844205-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890848505-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890852515-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890856735-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890860745-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890865035-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890869055-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890884165-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890889145-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890893465-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890897595-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890902965-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890907215-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890911235-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890915525-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890919665-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890923815-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890928095-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890932225-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890952455-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890956725-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890960925-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890965105-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890969095-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890973165-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890977265-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890981435-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890985425-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890989495-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890993615-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.890997725-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891001795-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891005885-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891009945-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891014005-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891018075-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891022155-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891026245-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891030355-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891034445-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891038525-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891042595-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891046675-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891050755-05:00 last_exc = exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891061065-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891068835-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891071845-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891075745-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891078555-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891081355-05:00 ) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891084685-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891087365-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891090155-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891093175-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891095885-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891098685-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891101635-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891104515-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891107365-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891110155-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891112955-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891115815-05:00 > yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891118485-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891121305-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891124225-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891127065-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891129855-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891132635-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891135775-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891138605-05:00 raise exc from None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891141465-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891144315-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891147125-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891149975-05:00 raise exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891152845-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891155645-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891158495-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891161345-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891164145-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891166945-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891169775-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891172565-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891175385-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891178185-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891180985-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891183785-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891191145-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891194365-05:00 map = {: , : } [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891197085-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891199825-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891202645-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891205465-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891208245-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891211055-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891213955-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891216695-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891219425-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891222275-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891225005-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891227805-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891230495-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891233265-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891235955-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891238804-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891241564-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891244354-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891247034-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891249754-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891252574-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891255364-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891258684-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891261494-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891264124-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891266434-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891268634-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891270944-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891273314-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891275654-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891277894-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891280194-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891282424-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891284714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891286864-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891289074-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891291324-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891293664-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891295884-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891298154-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891300444-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891302684-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891304964-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891307264-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891312724-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891318894-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891321454-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891323754-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891326064-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891328294-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891330684-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891332924-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891335384-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891338494-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891340744-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891343024-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891345174-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891347444-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891349744-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891352034-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891354344-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891356614-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891358924-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891361124-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891363374-05:00 except Exception as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891365654-05:00 mapped_exc = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891367934-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891370254-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891372594-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891374834-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891377494-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891379804-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891382084-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891384364-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891386664-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891390284-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891392604-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891394914-05:00 raise [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891397144-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891399384-05:00 message = str(exc) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891401684-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891403964-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891406094-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891408374-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891410564-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891412844-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891414984-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891417234-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891419534-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891421734-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891423994-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891426344-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891432294-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891434484-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891436694-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891438984-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891441284-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891443564-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891445784-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891448084-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891450444-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891452664-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891455444-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891457604-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891459854-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891462184-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891464434-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891466584-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891468814-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891471134-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891473444-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891475644-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891477964-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891480254-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891482534-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891484734-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891486984-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891489294-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891491594-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891494474-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891496774-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891499094-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891502224-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891504454-05:00 last_exc = exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891506714-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891509014-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891511244-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891513524-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891515944-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891518324-05:00 ) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891520654-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891522814-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891525034-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891527614-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891529784-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891532064-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891537644-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891540024-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891546154-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891549124-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891551484-05:00 E assert False [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891554874-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891557074-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891559354-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891561644-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891563774-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891565984-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891568284-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891570604-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891572924-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891575204-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891577484-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891580264-05:00 > yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891582394-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891584694-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891587054-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891589444-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891591774-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891594004-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891596374-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891598624-05:00 raise exc from None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891601664-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891603894-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891606214-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891608524-05:00 raise exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891611384-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891613654-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891615974-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891618264-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891620654-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891622994-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891625284-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891627534-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891629824-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891632914-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891635134-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891637464-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891639644-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891642584-05:00 map = {: , : } [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891648884-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891651094-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891653374-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891655594-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891657804-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891659994-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891662274-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891664524-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891666834-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891670084-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891672244-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891674524-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891676684-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891679734-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891681864-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891684134-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891686424-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891688694-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891690854-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891693054-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891695274-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891697474-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891699664-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891701904-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891704164-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891706364-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891708574-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891710844-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891713134-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891715443-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891717663-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891719883-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891722143-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891724413-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891726573-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891728763-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891731043-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891733283-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891735503-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891737813-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891740113-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891742373-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891744603-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891746893-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891752383-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891754783-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891757033-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891763513-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891765843-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891768063-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891770363-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891772643-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891775343-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891777573-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891779793-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891782093-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891784243-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891786463-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891788783-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891791003-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891793283-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891795523-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891797753-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891800023-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891802243-05:00 except Exception as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891804473-05:00 mapped_exc = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891806743-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891809033-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891811303-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891813673-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891815933-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891818203-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891820453-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891822733-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891824973-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891827223-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891829523-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891831753-05:00 raise [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891834003-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891836303-05:00 message = str(exc) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891838673-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891840903-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891843043-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891845343-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891847503-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891849803-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891851943-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891855073-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891857293-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891859523-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891861833-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891863983-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891866263-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891868563-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891874903-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891877243-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891879523-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891881743-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891883993-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891886323-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891888553-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891890763-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891892943-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891895213-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891897353-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891899543-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891901773-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891904023-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891906163-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891908373-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891910623-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891912853-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891915053-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891917233-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891919443-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891921633-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891923823-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891927373-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891929623-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891931903-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891940903-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891944733-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891946973-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891949193-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891951403-05:00 last_exc = exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891953633-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891955833-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891958123-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891960313-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891962533-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891964783-05:00 ) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891967113-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891969273-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891971463-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891973693-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891975893-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891978073-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891983883-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891986153-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891988423-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891994953-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891997213-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.891999483-05:00 > yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892001653-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892003913-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892006213-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892008513-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892011123-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892013363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892015783-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892018063-05:00 raise exc from None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892020363-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892022683-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892024903-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892027253-05:00 raise exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892029483-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892031803-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892034023-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892036343-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892038563-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892040793-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892043003-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892045223-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892047413-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892049683-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892051953-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892054353-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892056513-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892058793-05:00 map = {: , : } [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892060943-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892063153-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892065393-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892067673-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892069893-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892072253-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892074593-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892076833-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892079733-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892082103-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892084293-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892086563-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892088723-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892090993-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892096803-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892099113-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892101433-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892103653-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892105793-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892107963-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892110193-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892112443-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892114693-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892116913-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892119113-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892121293-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892123483-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892125723-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892128023-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892130333-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892132563-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892134773-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892137023-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892139653-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892141783-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892143983-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892146263-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892148573-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892150873-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892153143-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892155353-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892157653-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892159873-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892162143-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892164343-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892166593-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892168913-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892171103-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892173383-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892175693-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892177913-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892180223-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892182423-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892187803-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892190393-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892192613-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892195182-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892197362-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892199692-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892201902-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892208062-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892210312-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892212502-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892214722-05:00 yield [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892216942-05:00 except Exception as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892219142-05:00 mapped_exc = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892221822-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892224152-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892226502-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892228732-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892231052-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892233412-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892235632-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892237872-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892240092-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892242332-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892244632-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892246842-05:00 raise [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892249062-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892251352-05:00 message = str(exc) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892253592-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892255812-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892257952-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892260722-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892262922-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892265072-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892267242-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892269432-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892271732-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892273962-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892276182-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892278332-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892280562-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892282822-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892285622-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892287872-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892290102-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892292372-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892294602-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892296892-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892299182-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892301402-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892303632-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892305872-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892308042-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892310252-05:00 self = [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892318252-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892320532-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892322732-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892324922-05:00 def _request( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892327152-05:00 self, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892329352-05:00 method: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892331622-05:00 path: str, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892333822-05:00 *, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892336042-05:00 retry: bool = True, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892338242-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892340522-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892342752-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892344992-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892347352-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892349582-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892351812-05:00 try: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892354062-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892356322-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892358662-05:00 last_exc = exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892360882-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892363102-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892365372-05:00 continue [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892367682-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892369932-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892372182-05:00 ) from exc [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892374522-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892376732-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892378982-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892381262-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892383502-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892385682-05:00 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892387952-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892390192-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892392432-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892394722-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892396952-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892414322-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892431142-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892434702-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892444582-05:00 fleet/admin.py 256 105 34 0 52% 73-74, 78, 81-84, 98, 102, 105, 139, 145-146, 168, 171, 192, 195, 206, 210, 257-266, 274-280, 285-295, 308-310, 339-343, 347-355, 359-362, 367-384, 389-403, 412-423, 459, 463-466, 470-499, 503-509 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892461072-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892464272-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892467142-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892470052-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892472842-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892475712-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892478902-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892481742-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892484602-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892487682-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892490512-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892493332-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892497332-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892500252-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892503082-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892506172-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892509312-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892512132-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892514932-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892517762-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892520792-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892523642-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892526492-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892529542-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892532462-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892535512-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892538352-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892546302-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892549182-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892551992-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892554752-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892557552-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892560342-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892563242-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892566002-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892568872-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892575452-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892578452-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892582162-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892585432-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892588352-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892591892-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892594682-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892597812-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892600662-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892603502-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892606302-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892609312-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892612132-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892614972-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892617812-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892620622-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892623442-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892626212-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892634082-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892636922-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892639682-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892642452-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892645332-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892648432-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892651252-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892654012-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892656772-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892659632-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892662402-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892665962-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892668792-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892671642-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892674541-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892677681-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892680501-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892683421-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892686231-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892689041-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892691851-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892701891-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892704931-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892707801-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892710731-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892713511-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892716281-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892719101-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892721881-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892724731-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892733381-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-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892736181-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.14s =================== [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892739021-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.892741871-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-mjx5c-contract-pod/step-run-contract] 2026-08-07T21:47:27.902870010-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above [pod/app-contract-nightly-staging-mjx5c-contract-pod/prepare] 2026-08-07T21:47:03.114788854-05:00 2026/08/08 02:47:03 Entrypoint initialization [pod/app-contract-nightly-staging-mjx5c-contract-pod/place-scripts] 2026-08-07T21:47:03.666732224-05:00 2026/08/08 02:47:03 Decoded script /tekton/scripts/script-0-pp4zx