===== app-contract-nightly-staging-nqkxt-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-nqkxt-archive-logs-pod/prepare] 2026-07-27T21:47:30.456493186-05:00 2026/07/28 02:47:30 Entrypoint initialization [pod/app-contract-nightly-staging-nqkxt-archive-logs-pod/place-scripts] 2026-07-27T21:47:31.502802382-05:00 2026/07/28 02:47:31 Decoded script /tekton/scripts/script-0-fzvf6 [pod/app-contract-nightly-staging-nqkxt-archive-logs-pod/place-scripts] 2026-07-27T21:47:31.519300166-05:00 2026/07/28 02:47:31 Decoded script /tekton/scripts/script-1-zj4jw [pod/app-contract-nightly-staging-nqkxt-archive-logs-pod/step-collect-logs] 2026-07-27T21:47:34.775811130-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-nqkxt ===== app-contract-nightly-staging-nqkxt-contract-pod.log ===== [pod/app-contract-nightly-staging-nqkxt-contract-pod/prepare] 2026-07-27T21:47:02.907453961-05:00 2026/07/28 02:47:02 Entrypoint initialization [pod/app-contract-nightly-staging-nqkxt-contract-pod/place-scripts] 2026-07-27T21:47:03.224769985-05:00 2026/07/28 02:47:03 Decoded script /tekton/scripts/script-0-szkgt [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:06.594379330-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:06.664397573-05:00 job.batch/app-contract-20260728-024706 created [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.252962969-05:00 ----- contract Job logs (app-contract-20260728-024706) ----- [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340900062-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340927582-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340934082-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340938872-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340944242-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340948892-05:00 rootdir: /app [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340955412-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340962982-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340969742-05:00 collected 31 items [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340976362-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340990322-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.340997372-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341013702-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341018372-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341023502-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341028562-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341032932-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341039362-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341046352-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341052012-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341057252-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341061822-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341066401-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341070961-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341075411-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341079941-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341084471-05:00 > yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341088791-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341093231-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341097721-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341102971-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341107551-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341111991-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341118481-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341125641-05:00 raise exc from None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341130631-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341135081-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341139621-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341144151-05:00 raise exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341163771-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341167061-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341170111-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341173161-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341176191-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341179191-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341182231-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341185481-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341188541-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341192861-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341197411-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341202051-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341206041-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341209891-05:00 map = {: , : } [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341214751-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341217951-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341221111-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341224241-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341227321-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341230371-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341233441-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341236521-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341239591-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341242731-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341245681-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341248711-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341251641-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341254611-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341257581-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341260601-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341263651-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341266761-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341270831-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341275231-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341280061-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341284141-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341287181-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341290231-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341293261-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341296331-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341299391-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341302441-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341305521-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341308591-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341311631-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341314671-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341317761-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341320871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341330681-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341333851-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341343071-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341346911-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341351401-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341356141-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341360711-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341364101-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341367261-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341370300-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341373440-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341377160-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341380180-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341383250-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341386340-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341389360-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341392460-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341395500-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341398510-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341401590-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341404680-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341407770-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341410720-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341413820-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341416980-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341420100-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341423160-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341427430-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341431910-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341436410-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341440270-05:00 except Exception as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341443300-05:00 mapped_exc = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341446340-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341449470-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341452510-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341455570-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341458640-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341461680-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341464950-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341468080-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341471130-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341474220-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341477280-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341486210-05:00 raise [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341489330-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341492390-05:00 message = str(exc) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341495480-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341498520-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341501420-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341506290-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341510870-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341515440-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341518710-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341521720-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341524790-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341527870-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341531080-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341534210-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341537300-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341540400-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341543420-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341546480-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341549560-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341552620-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341555730-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341599480-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341604330-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341608930-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341613480-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341617860-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341622460-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341626980-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341631580-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341638120-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341642710-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341647250-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341651730-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341657170-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341663820-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341670750-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341676189-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341680729-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341686249-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341690819-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341695399-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341699909-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341704439-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341708949-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341713499-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341717979-05:00 last_exc = exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341722499-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341738439-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341743479-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341748299-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341752689-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341755799-05:00 ) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341759599-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341762549-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341765579-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341768689-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341771649-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341774699-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341777759-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341780849-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341783929-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341786949-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341789989-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341793089-05:00 > yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341795999-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341799049-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341802109-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341805219-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341808289-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341811359-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341815079-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341819829-05:00 raise exc from None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341824669-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341829139-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341832219-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341835369-05:00 raise exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341838429-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341841599-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341844679-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341847769-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341850859-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341853969-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341856999-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341860069-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341863129-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341866199-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341869279-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341872349-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341875289-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341878399-05:00 map = {: , : } [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341886969-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341890179-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341894339-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341898989-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341903669-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341908259-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341911919-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341914999-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341918009-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341921119-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341924059-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341927139-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341930059-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341933039-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341936029-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341939099-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341942159-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341945259-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341948169-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341951159-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341954239-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341957289-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341960369-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341963499-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341966529-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341969559-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341973909-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341987398-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341993948-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.341997028-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342000108-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342003208-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342006268-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342009388-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342012328-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342015338-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342018438-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342021518-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342024598-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342027708-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342030828-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342033908-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342036968-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342040078-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342049048-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342052258-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342066178-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342070468-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342073578-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342076618-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342079678-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342082718-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342085748-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342088778-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342091848-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342095008-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342097928-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342100948-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342104018-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342107068-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342110148-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342113208-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342116348-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342119468-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342122538-05:00 except Exception as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342125658-05:00 mapped_exc = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342128748-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342131818-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342136598-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342141248-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342145818-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342149298-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342152318-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342155358-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342158358-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342161548-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342164708-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342167758-05:00 raise [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342170868-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342173908-05:00 message = str(exc) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342176998-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342180098-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342183008-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342186058-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342188998-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342191988-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342194958-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342198058-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342201098-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342204198-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342207248-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342211638-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342223458-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342226778-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342229848-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342232928-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342236008-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342239098-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342242128-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342245238-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342248358-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342251458-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342254528-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342257428-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342260407-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342264077-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342267127-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342270077-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342273087-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342276287-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342279367-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342282507-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342285577-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342289507-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342293967-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342298487-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342302527-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342305757-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342308847-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342311947-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342315057-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342318187-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342321297-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342324377-05:00 last_exc = exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342327447-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342330537-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342333637-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342336667-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342339797-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342342877-05:00 ) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342346037-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342348967-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342351987-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342355087-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342358077-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342361127-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342368797-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342373707-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342384327-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342387657-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342390787-05:00 E assert False [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342393917-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342396857-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342399907-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342403077-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342406007-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342409037-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342412107-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342415227-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342418317-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342421427-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342424567-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342427637-05:00 > yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342430567-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342434337-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342437507-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342441477-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342445347-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342449997-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342454597-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342458857-05:00 raise exc from None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342462077-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342465097-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342468177-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342471247-05:00 raise exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342474347-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342477377-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342480397-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342483467-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342486577-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342489607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342492657-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342495657-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342498857-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342501987-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342505077-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342508167-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342511107-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342514227-05:00 map = {: , : } [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342517167-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342527367-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342532057-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342536337-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342539407-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342542487-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342545497-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342548606-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342551686-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342554826-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342557866-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342560936-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342563906-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342566896-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342569846-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342572926-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342575986-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342579096-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342582106-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342585186-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342588256-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342591376-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342594406-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342597466-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342601876-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342606566-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342611166-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342615516-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342618656-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342621736-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342624846-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342627926-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342631016-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342634086-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342637056-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342640086-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342643216-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342646296-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342650046-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342653126-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342656206-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342659246-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342662316-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342665346-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342671576-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342675386-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342679736-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342684326-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342694596-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342697806-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342700886-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342703986-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342707006-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342710076-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342713136-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342716316-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342719236-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342722306-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342725426-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342728486-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342731536-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342734586-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342737676-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342740756-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342743816-05:00 except Exception as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342746906-05:00 mapped_exc = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342750006-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342753376-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342757846-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342762526-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342767096-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342770756-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342773856-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342777026-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342780076-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342783156-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342786256-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342789316-05:00 raise [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342792406-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342795556-05:00 message = str(exc) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342798636-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342801716-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342804666-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342807736-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342810696-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342813796-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342816726-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342819766-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342822816-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342825926-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342828976-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342831915-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342836725-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342841825-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342846075-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342854325-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342857495-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342860645-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342863685-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342866775-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342869865-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342872935-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342875975-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342879095-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342882025-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342885085-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342888165-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342891255-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342894225-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342897235-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342900835-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342903915-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342906955-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342910825-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342915155-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342920005-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342924575-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342928795-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342931865-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342934895-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342937905-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342941005-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342944075-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342947165-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342950215-05:00 last_exc = exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342953295-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342956305-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342959335-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342962395-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342965425-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342968465-05:00 ) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342971685-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342974625-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342984805-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342993305-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.342997495-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343000585-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343007285-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343010465-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343013575-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343016585-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343025675-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343028965-05:00 > yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343031895-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343034935-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343038735-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343041935-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343045065-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343048145-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343051285-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343054365-05:00 raise exc from None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343057495-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343061395-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343066095-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343071055-05:00 raise exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343075865-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343078945-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343081995-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343085015-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343088665-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343091785-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343094785-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343098015-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343101085-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343104305-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343107385-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343110495-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343113455-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343116595-05:00 map = {: , : } [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343119535-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343122595-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343125684-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343128774-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343131814-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343134864-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343137934-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343142264-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343146914-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343151364-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343155104-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343158184-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343161094-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343164094-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343167024-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343170094-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343178384-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343181534-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343184404-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343187374-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343190454-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343193504-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343196644-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343199834-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343202904-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343205944-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343208964-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343212024-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343215114-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343219294-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343223864-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343228614-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343232704-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343235794-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343238714-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343241704-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343244794-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343247854-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343250904-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343254054-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343257114-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343260184-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343263244-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343266324-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343270014-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343273094-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343276214-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343279324-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343282384-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343285454-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343288534-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343291634-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343295034-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343304184-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343308864-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343312804-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343315714-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343318874-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343321924-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343325024-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343328074-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343336594-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343339744-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343342824-05:00 yield [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343345864-05:00 except Exception as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343348924-05:00 mapped_exc = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343352024-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343355104-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343358174-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343361264-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343364414-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343367464-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343370524-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343374544-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343379394-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343383844-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343388404-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343391514-05:00 raise [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343394664-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343397724-05:00 message = str(exc) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343401414-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343404504-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343407434-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343410484-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343413484-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343416524-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343419514-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343422534-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343425584-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343428633-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343431683-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343434633-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343437633-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343440723-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343443863-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343446953-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343450463-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343454953-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343459743-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343464213-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343467283-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343470313-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343473403-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343476433-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343479333-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343482343-05:00 self = [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343485403-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343497443-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343500493-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343503553-05:00 def _request( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343506723-05:00 self, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343509793-05:00 method: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343512823-05:00 path: str, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343515883-05:00 *, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343518903-05:00 retry: bool = True, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343521943-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343524963-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343529243-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343533983-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343538483-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343542763-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343545853-05:00 try: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343548923-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343551963-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343555033-05:00 last_exc = exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343558073-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343561173-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343564213-05:00 continue [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343567283-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343570333-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343573393-05:00 ) from exc [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343576603-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343579543-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343582573-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343585693-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343588763-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343591713-05:00 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343594763-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343597853-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343600923-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343603993-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343608183-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343624083-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343633543-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343636893-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343644393-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343648593-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343667313-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343669983-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343672743-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343675433-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343677943-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343680453-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343683023-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343685453-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343687913-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343690413-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343692843-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343695333-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343697753-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343700243-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343702803-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343706483-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343709063-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343711583-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343714173-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343718273-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343720763-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343723233-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343725693-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343728093-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343730632-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343733102-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343735532-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343742882-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343745352-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343747822-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343750252-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343752672-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343755162-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343757832-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343760292-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343765732-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343768262-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343770722-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343773902-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343776412-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343778942-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343781432-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343784002-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343786452-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343788932-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343791432-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343794912-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343797362-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343799802-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343802252-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343804682-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343807152-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343809602-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343816992-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343819522-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343821952-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343824412-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343826832-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343829252-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343831642-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343834142-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343837802-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343841072-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343843572-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343846122-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343848852-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343851332-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343853812-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343856662-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343859142-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343861632-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343864452-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343866962-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343869432-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343877272-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343879952-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343882452-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343884862-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343887272-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343889732-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343892382-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343895652-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343898212-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343904942-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-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343907402-05:00 =================== 5 failed, 16 passed, 10 skipped in 8.87s =================== [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343909932-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.343912472-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-nqkxt-contract-pod/step-run-contract] 2026-07-27T21:47:27.345958145-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above