===== app-contract-nightly-staging-hchq5-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-hchq5-archive-logs-pod/prepare] 2026-08-03T21:47:29.629605782-05:00 2026/08/04 02:47:29 Entrypoint initialization [pod/app-contract-nightly-staging-hchq5-archive-logs-pod/place-scripts] 2026-08-03T21:47:30.381062334-05:00 2026/08/04 02:47:30 Decoded script /tekton/scripts/script-0-nswrn [pod/app-contract-nightly-staging-hchq5-archive-logs-pod/place-scripts] 2026-08-03T21:47:30.396211985-05:00 2026/08/04 02:47:30 Decoded script /tekton/scripts/script-1-dr46t [pod/app-contract-nightly-staging-hchq5-archive-logs-pod/step-collect-logs] 2026-08-03T21:47:33.546161349-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-hchq5 ===== app-contract-nightly-staging-hchq5-contract-pod.log ===== [pod/app-contract-nightly-staging-hchq5-contract-pod/prepare] 2026-08-03T21:47:03.211282374-05:00 2026/08/04 02:47:03 Entrypoint initialization [pod/app-contract-nightly-staging-hchq5-contract-pod/place-scripts] 2026-08-03T21:47:03.681921875-05:00 2026/08/04 02:47:03 Decoded script /tekton/scripts/script-0-rddpt [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:06.873356139-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:06.971482355-05:00 job.batch/app-contract-20260804-024706 created [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.568268902-05:00 ----- contract Job logs (app-contract-20260804-024706) ----- [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645621266-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645645186-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645651556-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645656526-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645661476-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645666086-05:00 rootdir: /app [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645670826-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645675576-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645680016-05:00 collected 31 items [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645684356-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645688966-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645693546-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645697996-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645702586-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645715545-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645734175-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645738735-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645743645-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645750545-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645755075-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645760245-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645764985-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645769455-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645774065-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645778685-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645783135-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645787585-05:00 > yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645791965-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645796465-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645801045-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645805865-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645810445-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645814935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645819455-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645823975-05:00 raise exc from None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645828515-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645832975-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645837445-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645841945-05:00 raise exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645860905-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645864195-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645867255-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645870365-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645873425-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645876494-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645879654-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645882694-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645885724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645888784-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645891914-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645895004-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645897924-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645901214-05:00 map = {: , : } [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645905324-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645908454-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645911604-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645914664-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645918924-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645922044-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645925084-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645928114-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645931144-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645934254-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645937184-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645940234-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645943184-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645946254-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645949184-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645952194-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645955224-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645958284-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645961214-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645964244-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645967294-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645970374-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645973424-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645976434-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645979444-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645982434-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645987104-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645990214-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645993314-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645996424-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.645999504-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646002614-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646005684-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646008734-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646016814-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646020014-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646029414-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646032674-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646035804-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646038794-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646043963-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646048333-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646051543-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646054613-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646057793-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646060833-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646063943-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646067073-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646070143-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646073183-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646076433-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646079473-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646082573-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646085603-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646088663-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646091733-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646094653-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646097683-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646100793-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646103873-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646107383-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646111653-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646114753-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646117833-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646120913-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646123943-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646127003-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646130133-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646133363-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646136493-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646139573-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646142733-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646145783-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646148923-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646152093-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646155313-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646158553-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646167773-05:00 raise [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646171633-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646175413-05:00 message = str(exc) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646178513-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646182943-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646185863-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646188933-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646191933-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646195053-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646198103-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646201413-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646205183-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646208353-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646248202-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646253532-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646258792-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646263652-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646268502-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646273012-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646277602-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646288792-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646293492-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646297992-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646302512-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646306982-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646311462-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646315812-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646320302-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646324842-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646329322-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646333682-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646338172-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646342672-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646347182-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646351632-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646356132-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646360562-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646365302-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646369782-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646374402-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646378902-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646383451-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646387941-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646392481-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646397071-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646401651-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646406211-05:00 last_exc = exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646416841-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646423811-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646427041-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646430111-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646433261-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646436321-05:00 ) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646439581-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646442561-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646445611-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646448711-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646451631-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646454661-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646457791-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646460871-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646463911-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646467011-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646470101-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646473161-05:00 > yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646476101-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646479511-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646482571-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646485591-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646488611-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646491761-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646494881-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646497951-05:00 raise exc from None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646501171-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646505131-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646508171-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646511261-05:00 raise exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646514381-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646517431-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646520471-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646524441-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646527581-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646530611-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646533671-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646536711-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646540971-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646544151-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646547251-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646550310-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646558590-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646561810-05:00 map = {: , : } [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646564780-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646567800-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646570840-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646573970-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646577040-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646580130-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646583190-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646586200-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646589240-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646592320-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646595250-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646598350-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646601290-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646604280-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646607200-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646610250-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646613310-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646616420-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646619380-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646622540-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646625640-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646628830-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646631850-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646634920-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646637950-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646640960-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646643970-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646647090-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646650140-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646653210-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646656240-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646659290-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646662410-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646665540-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646668480-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646671560-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646674620-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646677680-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646680790-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646683870-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646686900-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646690020-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646693070-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646696160-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646702520-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646723909-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646733829-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646737069-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646740129-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646743149-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646746569-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646749709-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646752829-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646755859-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646758929-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646762009-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646764959-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646767999-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646771899-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646774979-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646778059-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646781109-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646784169-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646787189-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646790259-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646793279-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646796459-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646799549-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646802679-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646805719-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646808839-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646811949-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646814989-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646818029-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646821149-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646824209-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646827299-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646830359-05:00 raise [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646833409-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646836539-05:00 message = str(exc) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646839619-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646842659-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646845659-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646848709-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646851689-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646854689-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646857619-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646860639-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646863799-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646866839-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646869929-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646873039-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646881169-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646884189-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646887198-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646890248-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646893278-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646896308-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646899348-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646902398-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646905398-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646908398-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646911408-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646914328-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646917438-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646920498-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646923598-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646926538-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646929538-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646932658-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646935728-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646938748-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646941788-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646944808-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646947878-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646950908-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646954038-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646957088-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646960148-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646963168-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646966228-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646969288-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646972358-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646975388-05:00 last_exc = exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646978438-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646981458-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646984498-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646987528-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646990558-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646993578-05:00 ) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646996908-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.646999908-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647002898-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647005938-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647008888-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647011878-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647018528-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647021708-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647029658-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647032838-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647035878-05:00 E assert False [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647038928-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647041848-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647044938-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647048778-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647051738-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647054717-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647057887-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647060927-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647064007-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647067067-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647070087-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647073127-05:00 > yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647076107-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647079117-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647082157-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647085237-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647088357-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647091387-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647094427-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647097507-05:00 raise exc from None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647100607-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647103697-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647106717-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647109787-05:00 raise exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647112827-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647115897-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647118927-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647121947-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647125027-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647128107-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647131127-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647134147-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647137217-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647140287-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647143327-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647146377-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647149327-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647152457-05:00 map = {: , : } [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647155387-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647163207-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647166337-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647169347-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647172377-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647175397-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647178447-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647181597-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647184597-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647187607-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647190527-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647193667-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647196577-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647199627-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647202567-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647205577-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647208617-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647211637-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647214567-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647217547-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647220597-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647223626-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647226816-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647229846-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647232886-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647235886-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647238946-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647242016-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647245086-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647248186-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647251426-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647254476-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647257546-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647260606-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647263516-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647266506-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647269566-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647272616-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647275706-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647278736-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647281776-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647284806-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647287836-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647290886-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647296846-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647300006-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647303016-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647305516-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647312616-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647315086-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647317486-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647319916-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647322376-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647324826-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647327226-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647329656-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647332016-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647334546-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647337116-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647339666-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647342156-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647344646-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647347076-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647349496-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647351926-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647354396-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647356826-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647359276-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647361776-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647364216-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647366626-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647369096-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647371566-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647374026-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647376466-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647378936-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647381396-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647383876-05:00 raise [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647386326-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647388736-05:00 message = str(exc) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647391196-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647393615-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647395965-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647398525-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647400875-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647403315-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647405665-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647408115-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647410585-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647413035-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647415475-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647417805-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647420275-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647422955-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647425395-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647431875-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647434325-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647436745-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647439155-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647441545-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647444035-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647446475-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647448875-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647451275-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647453615-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647456035-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647458485-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647460965-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647463345-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647465765-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647468225-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647470655-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647473135-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647475535-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647477955-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647480375-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647482815-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647485245-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647487665-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647491405-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647493885-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647496335-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647498785-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647501215-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647503655-05:00 last_exc = exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647506095-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647508485-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647510925-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647513345-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647515765-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647518175-05:00 ) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647520695-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647523065-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647525455-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647527905-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647530245-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647532635-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647537315-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647539795-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647542225-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647544665-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647551125-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647553665-05:00 > yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647555995-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647558375-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647560814-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647563254-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647565704-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647568164-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647570674-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647573094-05:00 raise exc from None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647575584-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647578014-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647580474-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647582934-05:00 raise exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647585384-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647587844-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647590274-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647592714-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647595154-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647597594-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647600014-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647602454-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647605044-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647607494-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647609914-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647612354-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647614704-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647617154-05:00 map = {: , : } [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647619514-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647622004-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647624484-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647626944-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647629404-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647631824-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647634254-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647636664-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647639064-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647641464-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647643784-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647646214-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647648544-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647650954-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647653294-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647659574-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647662054-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647664494-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647666834-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647669234-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647671684-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647674104-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647676554-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647678964-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647681384-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647683794-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647686184-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647688614-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647691114-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647693554-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647695984-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647698414-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647700844-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647709094-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647714444-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647717754-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647720734-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647723204-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647725664-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647728094-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647730553-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647733023-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647735513-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647739323-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647741783-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647744213-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647746713-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647749153-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647751573-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647753983-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647756463-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647758943-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647761363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647766883-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647769403-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647771883-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647774213-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647776593-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647779023-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647781443-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647783973-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647795173-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647797993-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647800393-05:00 yield [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647802833-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647805233-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647807723-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647811433-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647813913-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647816413-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647818963-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647821393-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647823933-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647826533-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647829223-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647831783-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647834223-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647836643-05:00 raise [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647839113-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647841533-05:00 message = str(exc) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647843963-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647846413-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647848773-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647851853-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647854193-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647856593-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647858943-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647861413-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647863863-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647866313-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647868783-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647871113-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647874213-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647876713-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647879183-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647881633-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647884663-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647887153-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647889623-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647892103-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647894683-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647897092-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647899512-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647902922-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647905302-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647907792-05:00 self = [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647910302-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647917132-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647919532-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647921972-05:00 def _request( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647924422-05:00 self, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647926842-05:00 method: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647929272-05:00 path: str, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647931692-05:00 *, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647934162-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647936572-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647939012-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647941432-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647943932-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647946372-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647949252-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647951682-05:00 try: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647954152-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647956622-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647959102-05:00 last_exc = exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647961532-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647963982-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647966402-05:00 continue [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647968802-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647971232-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647973682-05:00 ) from exc [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647976152-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647978512-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647981062-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647983502-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647985992-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647988322-05:00 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647990802-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647994112-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647996542-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.647998952-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648001392-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648014502-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648025822-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648029022-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648036102-05:00 fleet/admin.py 256 105 34 0 52% 73-74, 78, 81-84, 98, 102, 105, 139, 145-146, 168, 171, 192, 195, 206, 210, 257-266, 274-280, 285-295, 308-310, 339-343, 347-355, 359-362, 367-384, 389-403, 412-423, 459, 463-466, 470-499, 503-509 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648039702-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648049722-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648052592-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648055212-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648057702-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648060132-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648062602-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648065091-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648067631-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648070321-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648072781-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648075241-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648077681-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648080091-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648082531-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648084991-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648088641-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648091181-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648093621-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648096131-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648098871-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648101301-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648103751-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648106231-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648108691-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648111091-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648113471-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648115891-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648122981-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648125411-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648127861-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648130301-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648132721-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648135141-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648137551-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648139971-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648145401-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648149291-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648151881-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648154631-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648157121-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648159611-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648162111-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648164801-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648167581-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648170021-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648174111-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648177331-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648179911-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648182331-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648185141-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648187621-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648190081-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648192521-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648200721-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648203211-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648205791-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648208201-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648210601-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648213001-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648215401-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648217821-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648220231-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648222661-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648225151-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648227551-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648229971-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648232401-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648234800-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648237240-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648239710-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648242250-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648244680-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648247150-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648249690-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648256790-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648259410-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648261860-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648264290-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648266700-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648269110-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648272570-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648275140-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648277570-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648284540-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-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648287010-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.34s =================== [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648289510-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.648291990-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-hchq5-contract-pod/step-run-contract] 2026-08-03T21:47:27.653955567-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above