===== app-contract-nightly-t5hkq-archive-logs-pod.log ===== [pod/app-contract-nightly-t5hkq-archive-logs-pod/prepare] 2026-08-15T22:17:30.684417866-05:00 2026/08/16 03:17:30 Entrypoint initialization [pod/app-contract-nightly-t5hkq-archive-logs-pod/place-scripts] 2026-08-15T22:17:31.424464589-05:00 2026/08/16 03:17:31 Decoded script /tekton/scripts/script-0-t29zw [pod/app-contract-nightly-t5hkq-archive-logs-pod/place-scripts] 2026-08-15T22:17:31.441904710-05:00 2026/08/16 03:17:31 Decoded script /tekton/scripts/script-1-4ffvm [pod/app-contract-nightly-t5hkq-archive-logs-pod/step-collect-logs] 2026-08-15T22:17:33.673670580-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-t5hkq ===== app-contract-nightly-t5hkq-contract-pod.log ===== [pod/app-contract-nightly-t5hkq-contract-pod/prepare] 2026-08-15T22:17:04.284533717-05:00 2026/08/16 03:17:04 Entrypoint initialization [pod/app-contract-nightly-t5hkq-contract-pod/place-scripts] 2026-08-15T22:17:05.217394767-05:00 2026/08/16 03:17:05 Decoded script /tekton/scripts/script-0-k8256 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:07.492931703-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:07.594698316-05:00 job.batch/app-contract-20260816-031707 created [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.235417716-05:00 ----- contract Job logs (app-contract-20260816-031707) ----- [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524396354-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524413554-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524419234-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524423514-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524427264-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524430894-05:00 rootdir: /app [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524441894-05:00 configfile: pytest.ini [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524445854-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524449414-05:00 collected 31 items [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524452934-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524456574-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524460284-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524464164-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524467684-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524471204-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524474704-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524478174-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524481754-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524485664-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524489164-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524493403-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524496993-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524500513-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524504053-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524507603-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524511263-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524516233-05:00 > yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524521623-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524526543-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524531733-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524537003-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524541953-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524547043-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524551913-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524556763-05:00 raise exc from None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524561813-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524567053-05:00 response = connection.handle_request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524571683-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524576403-05:00 raise exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524594573-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524598053-05:00 stream = self._connect(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524601563-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524604873-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524608223-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524611613-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524614833-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524618183-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524621383-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524624863-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524628203-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524631613-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524634703-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524638233-05:00 map = {: , : } [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524643153-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524646403-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524649813-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524653003-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524656133-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524659303-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524662513-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524665802-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524669122-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524672322-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524705922-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524711752-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524716622-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524721592-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524726262-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524740922-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524746872-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524751782-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524756332-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524761112-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524766422-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524771242-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524775942-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524780622-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524785472-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524790392-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524795332-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524800242-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524805272-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524810162-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524814952-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524819772-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524824612-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524829252-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524839561-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524843001-05:00 integrations/base.py:135: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524855821-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524859331-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524862861-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524866201-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524869701-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524873221-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524876671-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524880021-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524883281-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524886711-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524890011-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524893501-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524897881-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524901321-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524904781-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524908131-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524911651-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524915051-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524918291-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524921761-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524925041-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524928191-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524931671-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524935131-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524938481-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524942221-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524945511-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524948811-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524951991-05:00 except Exception as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524955361-05:00 mapped_exc = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524958721-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524961911-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524965421-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524968811-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524972201-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524975521-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524978751-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524982081-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524985581-05:00 mapped_exc = to_exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524988971-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.524992321-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525001431-05:00 raise [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525013001-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525017530-05:00 message = str(exc) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525020270-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525022910-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525025430-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525028270-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525031210-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525034130-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525036850-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525039640-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525042530-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525045270-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525048050-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525051020-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525053870-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525056460-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525059180-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525062010-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525064870-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525067650-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525070550-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525074250-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525076950-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525079660-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525082470-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525085080-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525087850-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525090600-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525093400-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525095980-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525098870-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525101740-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525104570-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525107500-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525110260-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525113170-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525115960-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525118670-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525121470-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525124380-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525127270-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525130170-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525132950-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525135930-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525138740-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525141680-05:00 last_exc = exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525144540-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525157410-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525159650-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525161640-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525163680-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525165630-05:00 ) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525168430-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525170320-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525172410-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525174450-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525176310-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525178230-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525180250-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525182200-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525184260-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525186210-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525188269-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525190219-05:00 > yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525192089-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525194089-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525196009-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525197989-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525199999-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525201929-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525203979-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525205999-05:00 raise exc from None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525207929-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525209959-05:00 response = connection.handle_request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525211899-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525213879-05:00 raise exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525215929-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525217859-05:00 stream = self._connect(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525219819-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525222409-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525224329-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525226339-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525228239-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525230189-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525232179-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525234099-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525236049-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525238049-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525239899-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525241889-05:00 map = {: , : } [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525247469-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525249479-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525251399-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525253319-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525255269-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525257199-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525259109-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525261369-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525263269-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525265329-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525267189-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525269099-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525270979-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525272889-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525274769-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525276659-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525278579-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525280549-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525282429-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525284319-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525286279-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525288199-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525290119-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525292039-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525293939-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525295839-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525297729-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525299639-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525301599-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525303529-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525305459-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525307379-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525309319-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525311329-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525313169-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525315089-05:00 integrations/base.py:135: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525317049-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525318979-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525320919-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525322829-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525324729-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525326779-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525328699-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525330619-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525334699-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525336739-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525341979-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525343929-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525345859-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525347799-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525349839-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525351859-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525353809-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525355729-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525357709-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525359659-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525361529-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525363438-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525365398-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525367558-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525369468-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525371358-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525373318-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525375328-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525377258-05:00 except Exception as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525379188-05:00 mapped_exc = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525381118-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525383078-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525385018-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525386968-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525389018-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525390978-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525392918-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525394848-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525396808-05:00 mapped_exc = to_exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525398788-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525400748-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525402708-05:00 raise [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525404618-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525406558-05:00 message = str(exc) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525408488-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525410438-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525412298-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525414268-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525416138-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525418048-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525419918-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525421838-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525423838-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525425748-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525427648-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525429668-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525435198-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525437068-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525438978-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525440928-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525442858-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525444778-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525446698-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525448698-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525450618-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525452548-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525454478-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525456358-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525458248-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525460238-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525462168-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525464068-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525465988-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525467948-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525469868-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525471788-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525473708-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525475628-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525477538-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525479508-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525481428-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525483388-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525485308-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525487278-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525489198-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525491148-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525493348-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525495298-05:00 last_exc = exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525497238-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525499598-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525501578-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525503498-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525505418-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525507348-05:00 ) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525509338-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525511238-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525513168-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525515188-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525517048-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525518968-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525522898-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525524988-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525531008-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525533038-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525535088-05:00 E assert False [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525537017-05:00 E + where False = .reachable [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525538887-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525540867-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525542797-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525544647-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525546587-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525548587-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525550527-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525552437-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525554337-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525556257-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525558257-05:00 > yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525560097-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525562077-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525564057-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525566067-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525567997-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525569997-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525571987-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525573937-05:00 raise exc from None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525575927-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525577887-05:00 response = connection.handle_request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525579807-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525583037-05:00 raise exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525584997-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525586947-05:00 stream = self._connect(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525588877-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525590807-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525592807-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525594767-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525596667-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525598587-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525600497-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525602417-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525604327-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525606247-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525608127-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525610127-05:00 map = {: , : } [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525612007-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525617437-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525619427-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525621397-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525623307-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525625237-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525627197-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525629177-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525631117-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525633097-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525634947-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525636947-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525638817-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525641567-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525643417-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525646307-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525648427-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525650397-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525652247-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525654167-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525656147-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525658137-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525660047-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525661987-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525663877-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525665827-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525667777-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525669737-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525671677-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525673607-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525675547-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525677497-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525679427-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525681367-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525683187-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525685107-05:00 integrations/base.py:135: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525687097-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525689037-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525690967-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525692947-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525694857-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525696807-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525698707-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525700667-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525704587-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525706647-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525708617-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525710537-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525715856-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525717836-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525719746-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525721676-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525723606-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525725576-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525727616-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525729546-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525731416-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525733336-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525735286-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525737226-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525739226-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525741706-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525743686-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525745706-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525747646-05:00 except Exception as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525749576-05:00 mapped_exc = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525751526-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525753476-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525755506-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525757436-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525759386-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525761326-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525763236-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525765216-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525767136-05:00 mapped_exc = to_exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525769086-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525771016-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525772956-05:00 raise [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525774916-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525776866-05:00 message = str(exc) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525778796-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525780736-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525782586-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525784576-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525786426-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525788386-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525790266-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525792136-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525794046-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525795986-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525797876-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525799706-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525801606-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525803516-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525805446-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525812396-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525814456-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525816516-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525818416-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525820356-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525822256-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525824176-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525826116-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525828046-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525829906-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525831906-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525833826-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525835776-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525837616-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525839526-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525841486-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525843406-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525845316-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525847236-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525849136-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525851036-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525852966-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525854886-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525856906-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525858826-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525860756-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525862676-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525864616-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525866596-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525868626-05:00 last_exc = exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525870546-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525872536-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525874466-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525895475-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525898575-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525901545-05:00 ) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525904485-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525907275-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525911155-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525914105-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525916885-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525920585-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525925745-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525928855-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525937885-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525941055-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525948665-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525950865-05:00 > yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525952735-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525954685-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525956615-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525958535-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525961235-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525963155-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525965265-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525967215-05:00 raise exc from None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525969255-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525971175-05:00 response = connection.handle_request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525973125-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525975075-05:00 raise exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525977015-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525979035-05:00 stream = self._connect(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525980995-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525982965-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525985055-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525986985-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525988905-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525990825-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525992735-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525994675-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525996625-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.525998745-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526000605-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526002655-05:00 map = {: , : } [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526015825-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526017935-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526020015-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526021975-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526023955-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526025905-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526027845-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526029765-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526031675-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526033725-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526035575-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526037535-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526039545-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526041515-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526043365-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526045255-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526051585-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526053585-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526055465-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526057395-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526059375-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526061294-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526063264-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526065234-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526067144-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526069134-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526071044-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526072984-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526074954-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526076904-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526078854-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526080804-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526082754-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526084684-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526086534-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526088434-05:00 integrations/base.py:135: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526090434-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526092384-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526094334-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526096364-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526098354-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526100354-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526102284-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526104224-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526106174-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526108114-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526110074-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526112014-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526113964-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526115884-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526117824-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526119754-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526121764-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526126094-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526128104-05:00 self.gen.throw(value) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526130084-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526132004-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526133924-05:00 @contextlib.contextmanager [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526135854-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526137814-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526139744-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526145354-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526147364-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526149294-05:00 yield [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526151214-05:00 except Exception as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526153144-05:00 mapped_exc = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526155064-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526157034-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526158974-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526160914-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526162924-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526164934-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526166864-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526168784-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526170724-05:00 mapped_exc = to_exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526172694-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526174664-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526176614-05:00 raise [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526178544-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526180504-05:00 message = str(exc) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526182474-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526184474-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526186354-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526188324-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526190194-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526192114-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526194004-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526196104-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526198044-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526200004-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526201994-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526203884-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526205804-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526207794-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526209744-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526211684-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526213714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526215664-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526217684-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526219634-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526221634-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526223564-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526226284-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526228254-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526230124-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526232044-05:00 self = [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526233984-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526241973-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526243863-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526245773-05:00 def _request( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526247733-05:00 self, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526249723-05:00 method: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526251763-05:00 path: str, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526253693-05:00 *, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526255633-05:00 retry: bool = True, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526257603-05:00 **kwargs: Any, [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526259523-05:00 ) -> httpx.Response: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526261493-05:00 client = self._ensure_client() [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526263443-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526265383-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526267303-05:00 for attempt in range(attempts): [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526269303-05:00 try: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526271213-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526273293-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526275233-05:00 last_exc = exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526277153-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526279133-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526281073-05:00 continue [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526283053-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526284993-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526286923-05:00 ) from exc [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526288913-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526290783-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526292683-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526294643-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526296593-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526298473-05:00 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526300703-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526302733-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526304713-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526306673-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526308653-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526322373-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526330633-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526340223-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526343733-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526356513-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526359253-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526361753-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526364933-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526367343-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526369823-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526372773-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526375373-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526377833-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526380433-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526382863-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526386123-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526388563-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526391063-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526393503-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526395973-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526398413-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526400893-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526403303-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526405733-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526408193-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526412412-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526414982-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526417832-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526420412-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526423342-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526430612-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526433132-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526435622-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526438042-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526440502-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526443012-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526445522-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526451692-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526454312-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526456902-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526459472-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526461972-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526464472-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526466882-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526469372-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526471842-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526474242-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526476652-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526479072-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526481502-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526483992-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526486612-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526489062-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526491492-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526493922-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526497442-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526499962-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526507202-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526509762-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526512252-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526515602-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526518052-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526520472-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526522862-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526525382-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526528422-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526530932-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526533462-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526536372-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526538812-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526541322-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526543732-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526546312-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526548752-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526551192-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526561052-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526563612-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526566022-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526568462-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526570942-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526573442-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526575952-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526578402-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526580912-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526583311-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526591021-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526594991-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526597521-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526600001-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526602901-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526605431-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526608541-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526610951-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526614651-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526617561-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526620061-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526622601-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-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526625091-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.55s =================== [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526627721-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.526630251-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-t5hkq-contract-pod/step-run-contract] 2026-08-15T22:17:28.527405407-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above