===== app-contract-nightly-staging-5s82r-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-5s82r-archive-logs-pod/place-scripts] 2026-08-15T21:47:32.906207817-05:00 2026/08/16 02:47:32 Decoded script /tekton/scripts/script-0-8wsc9 [pod/app-contract-nightly-staging-5s82r-archive-logs-pod/place-scripts] 2026-08-15T21:47:32.920776915-05:00 2026/08/16 02:47:32 Decoded script /tekton/scripts/script-1-dxf7q [pod/app-contract-nightly-staging-5s82r-archive-logs-pod/step-collect-logs] 2026-08-15T21:47:37.725506258-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-5s82r [pod/app-contract-nightly-staging-5s82r-archive-logs-pod/prepare] 2026-08-15T21:47:32.162833047-05:00 2026/08/16 02:47:32 Entrypoint initialization ===== app-contract-nightly-staging-5s82r-contract-pod.log ===== [pod/app-contract-nightly-staging-5s82r-contract-pod/prepare] 2026-08-15T21:47:04.198301432-05:00 2026/08/16 02:47:04 Entrypoint initialization [pod/app-contract-nightly-staging-5s82r-contract-pod/place-scripts] 2026-08-15T21:47:04.662565699-05:00 2026/08/16 02:47:04 Decoded script /tekton/scripts/script-0-7hhff [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:07.982708489-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:08.065097928-05:00 job.batch/app-contract-20260816-024707 created [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.671282495-05:00 ----- contract Job logs (app-contract-20260816-024707) ----- [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743457820-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743481710-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743487100-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743491610-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743495480-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743499490-05:00 rootdir: /app [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743503960-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743512940-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743518240-05:00 collected 31 items [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743521780-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743525530-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743529170-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743533520-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743537670-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743542810-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743546470-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743550280-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743554080-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743557680-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743561140-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743564970-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743568600-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743572350-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743576010-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743579550-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743583160-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743586770-05:00 > yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743590210-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743593830-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743597490-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743601760-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743605450-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743609360-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743612970-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743617050-05:00 raise exc from None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743620650-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743624510-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743628120-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743631760-05:00 raise exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743635430-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743652430-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743654960-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743657420-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743659900-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743662340-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743664770-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743667241-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743669751-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743672221-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743674601-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743677931-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743680231-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743683511-05:00 map = {: , : } [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743686881-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743689331-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743691901-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743694301-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743696751-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743699191-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743701751-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743704181-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743706541-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743709041-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743711321-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743713821-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743716121-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743718511-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743720811-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743723441-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743725871-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743728331-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743730611-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743733081-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743735421-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743737781-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743740241-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743742611-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743745031-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743747421-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743749751-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743752181-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743754571-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743757031-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743759521-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743762011-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743764491-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743767111-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743774481-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743776961-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743787721-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743790441-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743793281-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743796381-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743799261-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743801751-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743804251-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743806691-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743809481-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743811861-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743814211-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743816771-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743819231-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743821671-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743824091-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743826431-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743828981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743831791-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743834231-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743836681-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743839001-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743841401-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743843971-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743846361-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743848961-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743851951-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743854361-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743857411-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743860251-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743862901-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743865731-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743868561-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743871171-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743908101-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743912501-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743916762-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743920642-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743924352-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743928082-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743931732-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743935662-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743951002-05:00 raise [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743953512-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743955912-05:00 message = str(exc) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743959062-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743961422-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743963752-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743966192-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743968492-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743970942-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743973262-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743975612-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743978072-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743980442-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743982812-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743985492-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743987952-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743990242-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743992712-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743995162-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.743997582-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744000072-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744002452-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744019062-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744023152-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744025582-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744028082-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744030352-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744032852-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744035262-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744038162-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744040452-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744042792-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744045152-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744047582-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744049922-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744052432-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744054772-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744057132-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744059512-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744061912-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744064302-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744066882-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744069282-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744071772-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744074152-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744076562-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744079032-05:00 last_exc = exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744081452-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744101542-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744104182-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744106582-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744109252-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744111712-05:00 ) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744114592-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744116872-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744119322-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744121692-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744123982-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744126372-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744128822-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744131192-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744133662-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744136022-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744138392-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744140842-05:00 > yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744143122-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744145552-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744147952-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744150412-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744152842-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744155352-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744157842-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744160273-05:00 raise exc from None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744163153-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744165773-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744168753-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744171233-05:00 raise exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744173693-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744176143-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744178503-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744180933-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744183413-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744187263-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744189683-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744192193-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744194553-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744196983-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744199403-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744201833-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744204093-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744211653-05:00 map = {: , : } [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744213993-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744216333-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744219613-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744222093-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744224433-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744226833-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744229283-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744231713-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744234133-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744236573-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744238833-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744242823-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744245333-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744247793-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744250073-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744252563-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744254943-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744257453-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744259723-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744262093-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744264463-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744266813-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744269183-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744271593-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744273943-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744276303-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744279893-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744282333-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744284833-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744287333-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744289733-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744292193-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744294543-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744296893-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744299163-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744301713-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744304113-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744306483-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744308883-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744311313-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744313783-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744316153-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744318613-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744320993-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744327143-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744329823-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744337033-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744339463-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744341833-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744344213-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744346643-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744349003-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744352073-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744354513-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744356963-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744359443-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744361733-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744364173-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744366553-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744369023-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744371493-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744373963-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744376523-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744378883-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744383833-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744386343-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744388753-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744391233-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744393783-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744396343-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744399214-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744401714-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744404174-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744406594-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744409034-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744411404-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744413754-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744416244-05:00 raise [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744418614-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744421054-05:00 message = str(exc) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744423414-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744425854-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744428124-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744430544-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744432844-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744435224-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744437534-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744439974-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744442404-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744444764-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744447184-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744449604-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744456254-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744458554-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744460924-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744463894-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744466294-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744468724-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744471104-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744473454-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744475894-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744478874-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744481324-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744483604-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744486514-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744488964-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744491514-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744493824-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744500284-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744502804-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744505304-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744507654-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744510054-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744512554-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744515104-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744517864-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744520384-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744522904-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744525424-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744530064-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744532454-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744535434-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744537984-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744541034-05:00 last_exc = exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744543494-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744546304-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744549004-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744551504-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744554014-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744556614-05:00 ) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744559194-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744561504-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744563974-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744566484-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744568804-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744571154-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744580014-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744582454-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744591284-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744593834-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744596184-05:00 E assert False [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744599314-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744601594-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744603954-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744606654-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744608924-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744612004-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744614724-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744617104-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744620074-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744622484-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744625354-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744630064-05:00 > yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744632364-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744634824-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744637515-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744639975-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744643235-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744645785-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744649035-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744651755-05:00 raise exc from None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744654245-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744656655-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744659235-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744661885-05:00 raise exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744664625-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744667165-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744669745-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744672815-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744675185-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744677575-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744680495-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744682865-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744685635-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744688165-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744690715-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744693355-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744695625-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744698055-05:00 map = {: , : } [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744700975-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744709105-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744711795-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744714175-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744716535-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744719175-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744721535-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744724115-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744727235-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744730295-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744732595-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744735615-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744737915-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744740715-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744742985-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744745495-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744748605-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744750955-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744753635-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744756625-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744759265-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744762045-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744764815-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744767495-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744770005-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744772365-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744775175-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744777555-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744780245-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744782685-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744785165-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744787815-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744790155-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744792565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744794835-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744797775-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744801295-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744803895-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744806395-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744808965-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744811865-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744814295-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744816805-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744819405-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744824295-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744826925-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744829275-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744831935-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744838845-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744841255-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744844035-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744846695-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744849155-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744851585-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744854025-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744856635-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744858915-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744861705-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744864045-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744866465-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744868985-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744871325-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744873815-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744876176-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744878526-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744880996-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744883856-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744886206-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744888796-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744891156-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744894396-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744896846-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744899286-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744901816-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744905326-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744907716-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744910216-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744912596-05:00 raise [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744915206-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744917576-05:00 message = str(exc) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744920076-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744922616-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744924936-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744927486-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744929766-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744932246-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744934546-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744936996-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744939326-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744942346-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744944856-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744947126-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744949446-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744952186-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744954616-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744962666-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744965246-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744967636-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744970246-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744972586-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744974976-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744977546-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744979876-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744982286-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744984566-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744987006-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744989526-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744991976-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744994276-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744996616-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.744999036-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745001446-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745009676-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745013756-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745016236-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745018636-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745021346-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745023736-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745026106-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745029116-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745031536-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745033986-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745036516-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745039436-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745042056-05:00 last_exc = exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745044436-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745047016-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745049366-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745052046-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745054566-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745057096-05:00 ) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745059576-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745061876-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745064216-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745066696-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745068966-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745071306-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745076716-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745079296-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745081826-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745084726-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745091926-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745094306-05:00 > yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745096566-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745099276-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745101716-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745104126-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745107216-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745109586-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745112556-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745114936-05:00 raise exc from None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745117436-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745120027-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745122477-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745124867-05:00 raise exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745127317-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745131087-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745133607-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745136077-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745138597-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745141557-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745143987-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745146437-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745148897-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745151387-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745153837-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745157137-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745159417-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745161947-05:00 map = {: , : } [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745165057-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745167407-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745169877-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745172617-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745174987-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745177417-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745179757-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745182207-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745184637-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745187177-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745189427-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745191867-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745194207-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745196607-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745198867-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745205297-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745207797-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745210427-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745212707-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745215027-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745217507-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745219837-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745222157-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745225747-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745228107-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745230567-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745232897-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745235677-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745238177-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745240547-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745242907-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745245427-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745247797-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745250217-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745252557-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745255017-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745257467-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745260557-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745263217-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745266207-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745268687-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745271057-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745273517-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745275987-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745278547-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745281027-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745283427-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745285907-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745288347-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745290837-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745293267-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745295637-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745298157-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745303917-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745306377-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745308807-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745311097-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745313547-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745315887-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745318297-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745320677-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745328327-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745330967-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745333307-05:00 yield [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745335707-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745338037-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745340447-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745342807-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745345197-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745347817-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745350347-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745352717-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745355197-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745357567-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745360287-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745362667-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745365117-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745367647-05:00 raise [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745370058-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745372478-05:00 message = str(exc) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745374838-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745377248-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745379518-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745381928-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745384188-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745386518-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745388888-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745391268-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745393608-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745396048-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745398488-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745400738-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745403068-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745405428-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745407938-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745410308-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745412668-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745415048-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745417388-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745419728-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745422308-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745424928-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745427338-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745429698-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745431988-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745434338-05:00 self = [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745436718-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745443298-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745445588-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745447988-05:00 def _request( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745450398-05:00 self, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745452758-05:00 method: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745455158-05:00 path: str, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745457508-05:00 *, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745459858-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745462228-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745464568-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745466968-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745469378-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745471748-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745474158-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745476498-05:00 try: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745478868-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745481218-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745483598-05:00 last_exc = exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745485948-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745488338-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745490708-05:00 continue [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745493068-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745495438-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745497788-05:00 ) from exc [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745500238-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745502518-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745504848-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745507288-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745509678-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745511938-05:00 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745514568-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745517788-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745520228-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745522718-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745525478-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745541628-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745554918-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745563168-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745566248-05:00 fleet/admin.py 292 122 46 0 50% 74-75, 79, 82-85, 99, 103, 106, 140, 146-147, 169, 172, 193, 196, 207, 211, 258-267, 275-281, 286-296, 309-311, 340-344, 348-356, 360-363, 368-385, 390-404, 413-424, 460, 464-467, 471-500, 504-510, 524, 534-549, 584, 588 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745588078-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745590758-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745593348-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745596248-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745598628-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745601928-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745604608-05:00 fleet/deviceconfig.py 180 123 68 0 23% 106, 113, 118, 123, 129, 141, 166-219, 224, 238-253, 277-331, 342-353, 357-359, 363-374, 383-385, 395-397, 403-415 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745607068-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745609578-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745612128-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745614608-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745617128-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745619489-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745621859-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745624299-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745626659-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745629099-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745634039-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745636489-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745638949-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745641489-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745644209-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745646669-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745649259-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745651729-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745654389-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745661889-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745664299-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745666739-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745669099-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745671529-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745673939-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745676459-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745682269-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745684759-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745687259-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745689649-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745692089-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745695669-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745698229-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745700609-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745703229-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745705659-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745708119-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745710479-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745712949-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745715459-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745717929-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745720419-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745762389-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745766469-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745770479-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745774289-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745783129-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745785739-05:00 integrations/mender.py 116 85 38 0 20% 33-51, 61-79, 82-88, 92-97, 101-102, 111-121, 131-133, 143-153, 158, 161-162, 174-180, 189-190, 210-218, 221, 231 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745788229-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745790649-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745793159-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745795629-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745798379-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745801069-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745803459-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745805879-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745808319-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745810719-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745813179-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745815549-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745817949-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745820389-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745822759-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745825189-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745838069-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745847109-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745850239-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745852719-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745855179-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745857649-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745860069-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745862689-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745865089-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745867589-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745878360-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745880880-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745884610-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745887090-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745890100-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745892530-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745895050-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745898680-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745901880-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745904390-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745906880-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745909340-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-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745911810-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.25s =================== [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745914300-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.745916780-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-5s82r-contract-pod/step-run-contract] 2026-08-15T21:47:28.749459584-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above