===== app-contract-nightly-staging-54fnm-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-54fnm-archive-logs-pod/place-scripts] 2026-07-25T21:47:36.564267730-05:00 2026/07/26 02:47:36 Decoded script /tekton/scripts/script-0-jt6hs [pod/app-contract-nightly-staging-54fnm-archive-logs-pod/place-scripts] 2026-07-25T21:47:36.580097479-05:00 2026/07/26 02:47:36 Decoded script /tekton/scripts/script-1-52b7x [pod/app-contract-nightly-staging-54fnm-archive-logs-pod/step-collect-logs] 2026-07-25T21:47:39.793881841-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-54fnm [pod/app-contract-nightly-staging-54fnm-archive-logs-pod/prepare] 2026-07-25T21:47:35.780367476-05:00 2026/07/26 02:47:35 Entrypoint initialization ===== app-contract-nightly-staging-54fnm-contract-pod.log ===== [pod/app-contract-nightly-staging-54fnm-contract-pod/prepare] 2026-07-25T21:47:03.651992415-05:00 2026/07/26 02:47:03 Entrypoint initialization [pod/app-contract-nightly-staging-54fnm-contract-pod/place-scripts] 2026-07-25T21:47:04.850054224-05:00 2026/07/26 02:47:04 Decoded script /tekton/scripts/script-0-56pnc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:08.072349234-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:08.144466261-05:00 job.batch/app-contract-20260726-024708 created [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.821577715-05:00 ----- contract Job logs (app-contract-20260726-024708) ----- [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897226425-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897247405-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897252355-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897257485-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897261975-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897265775-05:00 rootdir: /app [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897269595-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897273955-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897277535-05:00 collected 31 items [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897281055-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897284895-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897290325-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897294145-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897297705-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897301595-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897305515-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897308975-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897313285-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897317075-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897327785-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897331685-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897335405-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897339565-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897343114-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897346744-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897350384-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897354034-05:00 > yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897357784-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897361494-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897365164-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897369054-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897372624-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897376194-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897379844-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897383454-05:00 raise exc from None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897386964-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897390544-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897394114-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897397724-05:00 raise exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897413654-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897416274-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897418754-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897421174-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897423574-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897425994-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897428424-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897430894-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897433354-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897435774-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897438194-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897440634-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897442984-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897445514-05:00 map = {: , : } [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897448484-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897451014-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897453634-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897456104-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897458514-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897460924-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897463434-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897465844-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897468254-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897470754-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897473094-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897475584-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897477914-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897480354-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897482844-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897485354-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897487754-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897490194-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897492564-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897495104-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897497654-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897500064-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897502454-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897504864-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897507284-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897509954-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897512404-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897514834-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897517284-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897519694-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897522124-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897524554-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897526964-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897529474-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897536074-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897538554-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897545724-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897548354-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897551144-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897554884-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897557384-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897559814-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897573383-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897579623-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897583233-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897586073-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897588503-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897590943-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897593413-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897595833-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897598303-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897600813-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897603223-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897605603-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897608023-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897610513-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897612863-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897615283-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897617743-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897620163-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897622633-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897625033-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897629363-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897631843-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897634303-05:00 except Exception as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897636703-05:00 mapped_exc = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897639113-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897641593-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897644213-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897646723-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897650593-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897653143-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897655633-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897658273-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897660783-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897663183-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897665643-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897673513-05:00 raise [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897675993-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897678423-05:00 message = str(exc) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897680933-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897683353-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897685663-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897688093-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897690413-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897692823-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897695133-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897697533-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897699953-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897702353-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897704773-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897707323-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897712203-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897714563-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897716923-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897719473-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897721903-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897724313-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897726773-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897729263-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897731793-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897734203-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897736673-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897738993-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897741543-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897744003-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897746453-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897748803-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897751983-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897754433-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897756953-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897759363-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897761833-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897764233-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897766623-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897769033-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897771453-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897774033-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897776543-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897778943-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897781373-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897783842-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897786242-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897788682-05:00 last_exc = exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897795322-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897801832-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897804442-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897806922-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897809512-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897811932-05:00 ) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897814702-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897817032-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897819482-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897821942-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897824272-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897826722-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897829162-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897831602-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897834162-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897836572-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897839002-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897841472-05:00 > yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897843802-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897846262-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897848812-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897851312-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897853742-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897856242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897858732-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897861182-05:00 raise exc from None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897863592-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897866122-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897868592-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897871052-05:00 raise exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897873462-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897875882-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897878292-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897880752-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897883202-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897886492-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897888962-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897891392-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897893822-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897896342-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897898872-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897901952-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897916482-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897919132-05:00 map = {: , : } [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897921462-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897923842-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897926552-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897929042-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897931612-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897934032-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897936452-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897938912-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897941312-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897943802-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897946152-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897948732-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897951082-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897953432-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897955832-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897958312-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897960732-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897963172-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897965482-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897968292-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897970702-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897973142-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897975572-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897978042-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897980502-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897983562-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897986012-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897988442-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897990892-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897993332-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897995722-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.897998212-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898000622-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898003032-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898005371-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898007811-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898010221-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898046041-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898049611-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898052651-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898055531-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898058281-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898061061-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898063881-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898069391-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898076221-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898078511-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898080481-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898082371-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898084331-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898086661-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898088611-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898090551-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898092541-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898094611-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898096951-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898098871-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898100801-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898102721-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898104661-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898106541-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898108471-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898110391-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898112291-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898114141-05:00 except Exception as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898115961-05:00 mapped_exc = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898117811-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898119671-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898121521-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898124301-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898126261-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898128181-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898130121-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898132061-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898133921-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898135791-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898137681-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898139541-05:00 raise [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898141411-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898143361-05:00 message = str(exc) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898145201-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898147051-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898148931-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898150901-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898152801-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898154761-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898156671-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898159251-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898161231-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898163181-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898165011-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898166921-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898173111-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898175011-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898177371-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898179341-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898181221-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898183061-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898185131-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898187051-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898188871-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898190691-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898192661-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898194441-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898196391-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898198301-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898200171-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898201961-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898203801-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898205771-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898207641-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898209491-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898211331-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898213201-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898215041-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898216861-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898218691-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898220561-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898222451-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898224371-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898226230-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898228110-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898230000-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898231890-05:00 last_exc = exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898233750-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898235600-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898237480-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898239320-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898241170-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898243030-05:00 ) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898244970-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898246760-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898248600-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898250480-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898252290-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898254200-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898258330-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898260330-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898265330-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898267310-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898269170-05:00 E assert False [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898271170-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898272960-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898274800-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898276650-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898278420-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898281060-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898282940-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898284800-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898286670-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898288520-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898290380-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898292220-05:00 > yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898293990-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898295830-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898297690-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898299690-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898301570-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898303530-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898305380-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898307250-05:00 raise exc from None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898309100-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898310960-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898312810-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898314770-05:00 raise exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898316660-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898318510-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898320360-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898322990-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898324880-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898326740-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898328680-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898331710-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898333610-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898335550-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898337430-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898339360-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898341150-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898342980-05:00 map = {: , : } [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898344760-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898350280-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898352340-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898354190-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898356030-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898357920-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898359760-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898362120-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898363980-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898365830-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898367640-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898369480-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898371240-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898373070-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898374860-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898376720-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898378570-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898380510-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898382310-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898384130-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898385970-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898387860-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898389700-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898391550-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898393380-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898395190-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898397070-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898398890-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898400730-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898402590-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898404420-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898406260-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898408120-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898409980-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898411870-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898413700-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898415590-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898417440-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898419290-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898421180-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898423020-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898424880-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898426750-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898428600-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898432910-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898434830-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898436780-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898438780-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898443550-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898445460-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898447319-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898449169-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898451009-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898452829-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898454669-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898456519-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898458299-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898460209-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898462069-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898463949-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898465799-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898467659-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898469519-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898471409-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898473339-05:00 except Exception as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898475259-05:00 mapped_exc = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898477129-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898479069-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898480919-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898482779-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898485009-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898486979-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898488819-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898490719-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898492569-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898494419-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898496279-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898498219-05:00 raise [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898501439-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898504499-05:00 message = str(exc) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898507309-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898510879-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898513479-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898515919-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898517729-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898519989-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898521769-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898523659-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898525719-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898527609-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898529459-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898531259-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898533519-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898535379-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898537229-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898542449-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898544369-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898546299-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898549409-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898551309-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898553169-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898555069-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898556909-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898558789-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898560589-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898570409-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898574289-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898576319-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898578109-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898579969-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898581809-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898583649-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898585549-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898587429-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898589299-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898591129-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898592959-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898594889-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898596739-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898598579-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898600429-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898602309-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898604199-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898606039-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898607889-05:00 last_exc = exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898609729-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898611559-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898613409-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898615249-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898617199-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898619049-05:00 ) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898620939-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898622749-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898624589-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898627059-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898628869-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898630679-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898635479-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898637369-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898639249-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898641129-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898646569-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898648449-05:00 > yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898650229-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898652139-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898653999-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898655879-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898657759-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898659609-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898661549-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898663399-05:00 raise exc from None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898665289-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898667169-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898669018-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898670878-05:00 raise exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898672738-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898674598-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898676448-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898678308-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898680258-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898682128-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898683988-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898685898-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898687738-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898689598-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898691448-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898693638-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898695458-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898697338-05:00 map = {: , : } [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898699138-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898701048-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898702948-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898705058-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898706988-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898708908-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898710758-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898712728-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898714618-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898716468-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898718248-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898720688-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898722478-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898724308-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898726078-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898727918-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898732828-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898734708-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898736498-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898738328-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898740178-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898741998-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898743838-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898745698-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898747558-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898749378-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898751198-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898753768-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898755638-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898757508-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898759368-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898761258-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898763178-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898765018-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898766798-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898768648-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898770508-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898772378-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898774228-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898776108-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898777998-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898779908-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898781748-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898783688-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898785528-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898787448-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898789288-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898791198-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898793058-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898794908-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898797718-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898799648-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898801548-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898805438-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898807398-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898809348-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898811148-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898812998-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898814868-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898816728-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898818608-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898823418-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898825318-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898827168-05:00 yield [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898829018-05:00 except Exception as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898830878-05:00 mapped_exc = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898832738-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898834608-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898836438-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898838298-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898840208-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898842128-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898843978-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898845898-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898847758-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898849608-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898851498-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898853508-05:00 raise [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898855408-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898857278-05:00 message = str(exc) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898859118-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898860988-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898862758-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898864668-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898866458-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898868288-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898870098-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898871918-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898873768-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898875618-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898877458-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898879248-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898881068-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898882928-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898884788-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898886658-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898888538-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898890387-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898892227-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898894227-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898896067-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898897897-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898899767-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898901607-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898903387-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898905247-05:00 self = [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898907757-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898912667-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898914517-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898916367-05:00 def _request( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898918247-05:00 self, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898920107-05:00 method: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898921947-05:00 path: str, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898923827-05:00 *, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898925717-05:00 retry: bool = True, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898927647-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898929537-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898931577-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898933537-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898935417-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898937367-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898939217-05:00 try: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898941087-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898942957-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898944817-05:00 last_exc = exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898946767-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898948627-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898950467-05:00 continue [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898952377-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898954217-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898956077-05:00 ) from exc [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898957947-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898959757-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898961567-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898963487-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898965357-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898967187-05:00 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898969077-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898970967-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898972807-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898974697-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898976577-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898988437-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.898996887-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899000737-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899008937-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899013077-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899023277-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899025897-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899028507-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899030787-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899033157-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899035527-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899037877-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899040257-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899042547-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899044937-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899047357-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899049707-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899052067-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899054477-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899056847-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899061867-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899064307-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899066767-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899069127-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899071887-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899074257-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899077397-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899079837-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899082197-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899084517-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899086957-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899089267-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899096217-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899098577-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899101497-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899103837-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899106137-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899108477-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899110836-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899113186-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899118636-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899121086-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899124146-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899126916-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899129306-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899131736-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899134076-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899136796-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899139176-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899141656-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899144006-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899146736-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899149086-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899151496-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899153906-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899156306-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899158686-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899161116-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899163436-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899169766-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899172106-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899174476-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899176806-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899179116-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899181406-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899184596-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899186956-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899189266-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899192506-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899194906-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899197296-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899199716-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899202046-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899204416-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899206736-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899209056-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899211376-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899213716-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899216026-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899222806-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899225276-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899227586-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899230016-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899232316-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899234746-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899237336-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899239996-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899242396-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899248846-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-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899251296-05:00 =================== 5 failed, 16 passed, 10 skipped in 8.82s =================== [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899253886-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899256716-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-54fnm-contract-pod/step-run-contract] 2026-07-25T21:47:33.899714614-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above