===== app-contract-nightly-7qlvs-archive-logs-pod.log ===== [pod/app-contract-nightly-7qlvs-archive-logs-pod/prepare] 2026-08-19T22:17:35.911667429-05:00 2026/08/20 03:17:35 Entrypoint initialization [pod/app-contract-nightly-7qlvs-archive-logs-pod/place-scripts] 2026-08-19T22:17:36.404416038-05:00 2026/08/20 03:17:36 Decoded script /tekton/scripts/script-0-8b28w [pod/app-contract-nightly-7qlvs-archive-logs-pod/place-scripts] 2026-08-19T22:17:36.421868403-05:00 2026/08/20 03:17:36 Decoded script /tekton/scripts/script-1-rjwr9 [pod/app-contract-nightly-7qlvs-archive-logs-pod/step-collect-logs] 2026-08-19T22:17:46.774060538-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-7qlvs ===== app-contract-nightly-7qlvs-contract-pod.log ===== [pod/app-contract-nightly-7qlvs-contract-pod/prepare] 2026-08-19T22:17:02.982345232-05:00 2026/08/20 03:17:02 Entrypoint initialization [pod/app-contract-nightly-7qlvs-contract-pod/place-scripts] 2026-08-19T22:17:03.331073128-05:00 2026/08/20 03:17:03 Decoded script /tekton/scripts/script-0-9ggg2 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:06.874120499-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:06.945245218-05:00 job.batch/app-contract-20260820-031706 created [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:32.710299783-05:00 ----- contract Job logs (app-contract-20260820-031706) ----- [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296828863-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296857633-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296863043-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296867743-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296871443-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296875103-05:00 rootdir: /app [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296879283-05:00 configfile: pytest.ini [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296883453-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296887083-05:00 collected 31 items [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296890573-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296894673-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296899173-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296902963-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296906733-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296910283-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296914543-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296918003-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296922383-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296925973-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296929433-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296933373-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296936963-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296940583-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296944153-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296947723-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296952263-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296955923-05:00 > yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296959413-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296962983-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296966553-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296970513-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296974163-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296977723-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296983393-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296987903-05:00 raise exc from None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296993373-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.296999273-05:00 response = connection.handle_request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297003983-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297007613-05:00 raise exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297025843-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297028433-05:00 stream = self._connect(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297031523-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297034023-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297036523-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297040273-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297042853-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297045273-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297047703-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297050273-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297052713-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297055153-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297057483-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297060213-05:00 map = {: , : } [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297063533-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297066023-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297068603-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297071043-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297073473-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297075943-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297078373-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297081043-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297083523-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297085993-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297088383-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297091083-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297093443-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297095863-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297098203-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297100653-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297103063-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297105513-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297107862-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297110272-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297112702-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297115152-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297117612-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297120042-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297122672-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297125452-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297127902-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297130362-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297134032-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297136552-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297139022-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297141482-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297144012-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297146432-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297153742-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297156342-05:00 integrations/base.py:135: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297175192-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297179762-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297182232-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297184652-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297187592-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297190092-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297192612-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297195022-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297197632-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297200052-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297202582-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297205172-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297207592-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297210112-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297212722-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297215242-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297217712-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297220112-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297222602-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297225092-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297227442-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297263382-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297267162-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297270802-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297274512-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297278142-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297281822-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297285462-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297290172-05:00 except Exception as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297295582-05:00 mapped_exc = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297308122-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297313202-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297317982-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297321622-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297325302-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297328982-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297332612-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297336222-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297339862-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297343472-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297347142-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297358552-05:00 raise [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297362352-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297366082-05:00 message = str(exc) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297369652-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297372972-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297375312-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297377822-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297380182-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297382652-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297385002-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297387412-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297389872-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297392312-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297394822-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297397962-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297400512-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297402872-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297405362-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297407802-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297410292-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297412722-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297415152-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297417592-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297420042-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297422442-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297424962-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297427312-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297429792-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297432292-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297434762-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297437122-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297439562-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297442042-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297444522-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297446952-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297449402-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297451832-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297454242-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297456682-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297459162-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297461602-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297464052-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297466492-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297468962-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297471412-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297473842-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297476282-05:00 last_exc = exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297483382-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297489792-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297492342-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297494822-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297497282-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297499742-05:00 ) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297502732-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297505092-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297507562-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297510042-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297512412-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297514842-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297517302-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297519722-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297522182-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297524632-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297527082-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297529552-05:00 > yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297531922-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297534402-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297536902-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297539382-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297541912-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297544362-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297546892-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297549362-05:00 raise exc from None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297551942-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297554382-05:00 response = connection.handle_request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297556852-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297559312-05:00 raise exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297561772-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297564312-05:00 stream = self._connect(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297566752-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297569212-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297571662-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297574102-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297576612-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297579082-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297581522-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297583962-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297586412-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297588932-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297595792-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297598392-05:00 map = {: , : } [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297600752-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297603182-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297605632-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297608102-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297610152-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297612212-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297614172-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297616122-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297618072-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297621322-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297623262-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297625322-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297627222-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297629162-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297631052-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297633041-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297635041-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297637061-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297638951-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297640871-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297642831-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297644831-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297646951-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297649041-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297651151-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297653101-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297655031-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297657011-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297659091-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297661091-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297663091-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297665141-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297667121-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297669141-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297671031-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297672981-05:00 integrations/base.py:135: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297674951-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297676921-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297678891-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297680861-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297682871-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297684901-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297686851-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297688851-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297692981-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297698441-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297700451-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297702421-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297704391-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297706321-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297708331-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297710311-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297712271-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297714281-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297716291-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297718321-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297720211-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297722241-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297724231-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297726201-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297728191-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297730201-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297732251-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297734201-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297736171-05:00 except Exception as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297738111-05:00 mapped_exc = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297740091-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297742041-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297744071-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297746081-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297748041-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297750011-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297751971-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297753941-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297755921-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297757881-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297759881-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297761851-05:00 raise [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297763871-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297765831-05:00 message = str(exc) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297767791-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297769751-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297771661-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297773741-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297775641-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297777571-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297779441-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297781381-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297783351-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297785311-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297787291-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297789321-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297794471-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297796381-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297798321-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297800271-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297802231-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297804181-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297806141-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297808071-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297810031-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297811981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297814001-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297815891-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297817831-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297819791-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297821791-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297823681-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297825611-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297827581-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297829571-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297831521-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297833461-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297835401-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297837431-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297839351-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297841321-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297843341-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297845351-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297847311-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297849271-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297851221-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297853191-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297855161-05:00 last_exc = exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297857111-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297859041-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297861031-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297863001-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297864951-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297866931-05:00 ) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297868991-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297870881-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297872811-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297874771-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297876661-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297878601-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297882781-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297884791-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297890061-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297892141-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297894121-05:00 E assert False [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297896071-05:00 E + where False = .reachable [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297897951-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297899901-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297901871-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297903771-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297905771-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297907711-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297909691-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297911771-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297913841-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297915901-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297917861-05:00 > yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297919741-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297921721-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297923761-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297925771-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297927741-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297929711-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297931741-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297933721-05:00 raise exc from None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297935731-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297937701-05:00 response = connection.handle_request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297939721-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297941711-05:00 raise exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297943671-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297945661-05:00 stream = self._connect(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297947611-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297949581-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297951561-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297953511-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297955471-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297957431-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297959411-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297961371-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297963321-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297965281-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297967191-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297969221-05:00 map = {: , : } [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297974211-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297976201-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297978291-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297980251-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297982211-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297984181-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297986191-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297988161-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297990131-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297992171-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297994061-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297996011-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297997911-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.297999841-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298001731-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298003661-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298005611-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298007591-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298009471-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298011401-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298013371-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298016271-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298018281-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298020231-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298022181-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298024261-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298026281-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298028241-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298030201-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298032181-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298034161-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298036171-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298039281-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298041361-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298043271-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298045211-05:00 integrations/base.py:135: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298047161-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298049131-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298051121-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298053141-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298055101-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298057081-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298059031-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298061011-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298065271-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298067321-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298069291-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298074681-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298076661-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298078621-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298080681-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298082641-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298084571-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298086521-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298088471-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298090451-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298092351-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298094351-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298096301-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298098241-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298100241-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298102231-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298104261-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298106231-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298108181-05:00 except Exception as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298110211-05:00 mapped_exc = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298112231-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298114251-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298116221-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298118201-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298120171-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298122131-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298124141-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298126081-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298128021-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298130031-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298131991-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298133981-05:00 raise [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298135921-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298137901-05:00 message = str(exc) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298139841-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298141791-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298143671-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298145621-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298147521-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298149481-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298151371-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298153291-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298155261-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298157211-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298159151-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298166270-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298171520-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298174210-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298179800-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298181840-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298183890-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298185840-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298187790-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298189730-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298191710-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298193670-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298195610-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298197540-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298199420-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298202100-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298204110-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298206100-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298207980-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298209950-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298212420-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298214700-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298216650-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298218630-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298220700-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298222740-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298224870-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298226930-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298228880-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298230830-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298232770-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298234730-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298236680-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298238700-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298240660-05:00 last_exc = exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298242660-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298244610-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298246550-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298248490-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298250510-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298252470-05:00 ) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298254540-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298256420-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298258420-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298260420-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298262310-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298264240-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298269730-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298271790-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298273770-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298275760-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298281020-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298283000-05:00 > yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298284890-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298286890-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298288910-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298290940-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298292890-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298294850-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298296810-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298298760-05:00 raise exc from None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298300780-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298302730-05:00 response = connection.handle_request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298304670-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298306640-05:00 raise exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298308590-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298310560-05:00 stream = self._connect(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298313450-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298315440-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298317510-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298319490-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298321500-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298323460-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298325430-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298327850-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298329840-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298331810-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298333710-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298335750-05:00 map = {: , : } [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298337640-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298339580-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298341670-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298343690-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298345630-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298347640-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298349590-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298351560-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298353550-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298355570-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298357450-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298359490-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298361370-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298363290-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298365170-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298367170-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298376130-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298378140-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298380010-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298382050-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298384000-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298385950-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298387960-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298389890-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298392080-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298394020-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298395940-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298397890-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298399950-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298402320-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298404390-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298406340-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298408280-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298410230-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298412100-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298414050-05:00 integrations/base.py:135: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298416000-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298417970-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298420000-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298421950-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298423950-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298425920-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298427850-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298429820-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298431780-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298433730-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298435690-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298437670-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298439630-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298441580-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298443590-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298445600-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298447590-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298451570-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298453580-05:00 self.gen.throw(value) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298455590-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298457470-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298459400-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298461360-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298463300-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298466560-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298468550-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298473660-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298475660-05:00 yield [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298477620-05:00 except Exception as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298479550-05:00 mapped_exc = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298481770-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298483740-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298485750-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298487680-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298489670-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298491710-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298493670-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298495670-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298497650-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298499630-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298501600-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298503550-05:00 raise [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298505500-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298507460-05:00 message = str(exc) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298509500-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298511460-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298513370-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298515390-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298517280-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298519350-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298521240-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298523160-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298531790-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298533870-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298535860-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298537770-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298539710-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298542190-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298544170-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298546210-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298548170-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298550130-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298552110-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298554060-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298556030-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298557980-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298559990-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298561950-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298563830-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298565820-05:00 self = [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298567830-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298569810-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298574950-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298576960-05:00 def _request( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298578910-05:00 self, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298580870-05:00 method: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298582830-05:00 path: str, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298584770-05:00 *, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298586760-05:00 retry: bool = True, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298588970-05:00 **kwargs: Any, [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298590950-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298592920-05:00 client = self._ensure_client() [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298594950-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298596890-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298598920-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298600910-05:00 try: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298602890-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298604850-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298606850-05:00 last_exc = exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298608820-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298610860-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298612840-05:00 continue [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298614830-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298616790-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298618780-05:00 ) from exc [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298620870-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298622800-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298624800-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298626810-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298628830-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298630730-05:00 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298633230-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298635230-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298637280-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298639270-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298641580-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298654339-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298665559-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298674599-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298677959-05:00 fleet/admin.py 292 122 46 0 50% 74-75, 79, 82-85, 99, 103, 106, 140, 146-147, 169, 172, 193, 196, 207, 211, 258-267, 275-281, 286-296, 309-311, 340-344, 348-356, 360-363, 368-385, 390-404, 413-424, 460, 464-467, 471-500, 504-510, 524, 534-549, 584, 588 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298682549-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298685189-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298695379-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298698269-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298700829-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298703349-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298706549-05:00 fleet/deviceconfig.py 180 123 68 0 23% 106, 113, 118, 123, 129, 141, 166-219, 224, 238-253, 277-331, 342-353, 357-359, 363-374, 383-385, 395-397, 403-415 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298709059-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298711629-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298714129-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298716649-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298719159-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298721649-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298724219-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298726729-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298729169-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298731619-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298734139-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298736579-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298739019-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298741509-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298745729-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298748409-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298751219-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298753779-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298757119-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298760549-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298767989-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298770509-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298772969-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298775429-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298777949-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298780689-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298789169-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298791769-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298794249-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298796729-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298799839-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298802269-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298804769-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298807209-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298809659-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298812189-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298814629-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298817069-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298819589-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298822179-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298824869-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298827389-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298829829-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298833399-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298836399-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298838929-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298841479-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298848329-05:00 integrations/mender.py 116 85 38 0 20% 33-51, 61-79, 82-88, 92-97, 101-102, 111-121, 131-133, 143-153, 158, 161-162, 174-180, 189-190, 210-218, 221, 231 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298851079-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298853649-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298856139-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298858669-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298861129-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298863649-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298866179-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298868649-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298871249-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298873749-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298876289-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298878719-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298881409-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298883849-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298886369-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298889159-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298897649-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298900419-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298903409-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298905899-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298908339-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298910869-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298913309-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298915829-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298918379-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298920799-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298923219-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298930049-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298932579-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298935109-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298937619-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298940069-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298942589-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298945029-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298947759-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298950589-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298953089-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298955629-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-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298958049-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.48s =================== [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298961299-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.298963759-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-7qlvs-contract-pod/step-run-contract] 2026-08-19T22:17:33.301909673-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above