===== app-contract-nightly-wdcxf-archive-logs-pod.log ===== [pod/app-contract-nightly-wdcxf-archive-logs-pod/prepare] 2026-08-05T22:17:37.507429959-05:00 2026/08/06 03:17:37 Entrypoint initialization [pod/app-contract-nightly-wdcxf-archive-logs-pod/place-scripts] 2026-08-05T22:17:38.598309006-05:00 2026/08/06 03:17:38 Decoded script /tekton/scripts/script-0-rshmh [pod/app-contract-nightly-wdcxf-archive-logs-pod/place-scripts] 2026-08-05T22:17:38.616926356-05:00 2026/08/06 03:17:38 Decoded script /tekton/scripts/script-1-zqglv [pod/app-contract-nightly-wdcxf-archive-logs-pod/step-collect-logs] 2026-08-05T22:17:52.989148427-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-wdcxf ===== app-contract-nightly-wdcxf-contract-pod.log ===== [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:08.586205224-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:08.683690903-05:00 job.batch/app-contract-20260806-031708 created [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.558129505-05:00 ----- contract Job logs (app-contract-20260806-031708) ----- [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.773694679-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782243248-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782250908-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782254998-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782258588-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782262038-05:00 rootdir: /app [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782265528-05:00 configfile: pytest.ini [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782269098-05:00 plugins: django-4.13.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782272508-05:00 collected 31 items [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782275818-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782279337-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782282837-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782286277-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782289637-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782292987-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782296407-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782299727-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782303147-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782306637-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782309957-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782313417-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782318397-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782321987-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782325417-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782328847-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782332367-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782335807-05:00 > yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782339157-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782342577-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782346987-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782350457-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782353937-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782357327-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782360797-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782364207-05:00 raise exc from None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782367717-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782371287-05:00 response = connection.handle_request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782374677-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782378147-05:00 raise exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782391727-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782394227-05:00 stream = self._connect(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782398057-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782400467-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782402897-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782405307-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782407667-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782410047-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782412387-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782415577-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782419077-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782422997-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782426677-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782430397-05:00 map = {: , : } [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782435857-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782439447-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782441877-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782444227-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782446657-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782449017-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782451397-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782454207-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782456517-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782458917-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782461227-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782463707-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782465947-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782468307-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782470607-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782473037-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782475407-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782477847-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782480096-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782482396-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782484746-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782487076-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782490556-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782494206-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782499506-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782503016-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782505736-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782508066-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782510406-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782512746-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782515166-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782517516-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782519846-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782522166-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782529936-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782532366-05:00 integrations/base.py:135: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782541816-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782544506-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782547216-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782549886-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782552306-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782555426-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782557906-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782560336-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782562876-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782565366-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782567786-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782570206-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782572626-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782575016-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782577416-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782579836-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782582236-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782584706-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782587136-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782589626-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782591956-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782594356-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782596816-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782599256-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782601766-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782604266-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782606686-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782609116-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782611566-05:00 except Exception as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782613976-05:00 mapped_exc = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782616396-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782618856-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782621316-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782623906-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782626406-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782628876-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782631316-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782633746-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782636186-05:00 mapped_exc = to_exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782638616-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782641116-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782648346-05:00 raise [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782652006-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782655776-05:00 message = str(exc) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782669736-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782676296-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782680046-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782684105-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782687645-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782691925-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782695585-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782699145-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782703055-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782706695-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782710585-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782714475-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782718135-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782721745-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782725355-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782729115-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782732975-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782736705-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782740465-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782744105-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782747845-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782751565-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782755105-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782757905-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782761125-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782764295-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782767085-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782769695-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782772445-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782775475-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782778325-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782781135-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782783775-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782786615-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782789335-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782792305-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782795115-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782798365-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782801215-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782804055-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782806745-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782809695-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782813655-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782816695-05:00 last_exc = exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782825385-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782834835-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782837885-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782840865-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782843825-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782846955-05:00 ) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782849925-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782852795-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782856165-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782858965-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782861455-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782864195-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782868365-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782871465-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782874435-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782877515-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782880595-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782883575-05:00 > yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782886445-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782889455-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782892485-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782895175-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782898164-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782901464-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782904854-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782907784-05:00 raise exc from None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782910914-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782914114-05:00 response = connection.handle_request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782917274-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782920254-05:00 raise exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782923274-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782926404-05:00 stream = self._connect(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782929684-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782932554-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782935534-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782938664-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782941664-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782944704-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782947514-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782950554-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782954014-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782957024-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782965004-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782968874-05:00 map = {: , : } [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782971534-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782973984-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782977694-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782980634-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782984704-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782987654-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782990464-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782993314-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782996214-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.782999064-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783001764-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783004824-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783007614-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783010364-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783013224-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783016104-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783019014-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783021914-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783024414-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783027054-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783029934-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783032654-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783035464-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783038404-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783041214-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783044014-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783046704-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783049724-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783052614-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783055404-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783058134-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783061254-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783063964-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783067854-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783070674-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783073414-05:00 integrations/base.py:135: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783076344-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783079464-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783082634-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783085804-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783088874-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783091984-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783094984-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783097964-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783107373-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783116913-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783120043-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783123133-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783126283-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783129133-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783132293-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783135413-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783138473-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783141543-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783144533-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783147423-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783149993-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783152813-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783156163-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783158183-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783160163-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783162143-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783164163-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783166103-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783168093-05:00 except Exception as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783170043-05:00 mapped_exc = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783172003-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783174003-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783176013-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783177953-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783180003-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783182023-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783183973-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783185913-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783187853-05:00 mapped_exc = to_exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783189873-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783191833-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783193793-05:00 raise [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783195733-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783197673-05:00 message = str(exc) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783199623-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783201553-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783203433-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783205503-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783208633-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783210693-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783212563-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783214483-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783216463-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783218423-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783220353-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783222533-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783229853-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783231803-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783233713-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783235663-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783237613-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783239523-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783241443-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783243503-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783245413-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783247333-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783249313-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783251283-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783253203-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783255143-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783257103-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783259053-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783260983-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783263003-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783264943-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783266913-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783268873-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783270813-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783272823-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783274833-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783276783-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783278793-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783280743-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783282743-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783284693-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783286703-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783288723-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783290733-05:00 last_exc = exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783292673-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783294633-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783296573-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783298763-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783300773-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783302713-05:00 ) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783304703-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783306653-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783308583-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783310593-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783312493-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783314433-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783320422-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783322422-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783327802-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783330022-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783332032-05:00 E assert False [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783334012-05:00 E + where False = .reachable [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783335872-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783337772-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783339692-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783341632-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783343602-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783345642-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783347592-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783349522-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783351462-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783353402-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783355352-05:00 > yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783357212-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783359262-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783361202-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783363202-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783365142-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783367112-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783369072-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783371082-05:00 raise exc from None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783373032-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783375102-05:00 response = connection.handle_request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783377132-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783379132-05:00 raise exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783381082-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783383092-05:00 stream = self._connect(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783385052-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783387752-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783389762-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783391772-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783393692-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783395642-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783397592-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783399532-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783401462-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783403462-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783405332-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783407412-05:00 map = {: , : } [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783412692-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783414682-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783416702-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783418652-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783420642-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783422582-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783424772-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783426782-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783428712-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783430712-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783432582-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783434582-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783436462-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783438462-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783440332-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783442352-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783444322-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783446272-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783448132-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783450052-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783452002-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783453982-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783455922-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783457972-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783459912-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783461972-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783463872-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783465852-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783467802-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783469742-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783471662-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783473662-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783475572-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783477502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783479342-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783481242-05:00 integrations/base.py:135: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783483182-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783485132-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783487082-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783489092-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783491022-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783492962-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783494902-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783496832-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783502182-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783504262-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783506242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783512502-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783515252-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783517232-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783519272-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783521212-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783523122-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783525042-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783527032-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783529012-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783530871-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783532821-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783534761-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783536721-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783538651-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783540691-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783542721-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783544661-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783546591-05:00 except Exception as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783548521-05:00 mapped_exc = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783550461-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783552401-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783554461-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783556401-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783558421-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783560371-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783562301-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783564251-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783566181-05:00 mapped_exc = to_exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783568121-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783570051-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783571991-05:00 raise [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783574291-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783576441-05:00 message = str(exc) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783578861-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783581701-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783583651-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783621391-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783624671-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783627881-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783630811-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783633981-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783637311-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783640721-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783645121-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783648091-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783651101-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783664921-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783677831-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783679971-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783681961-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783683901-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783685951-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783687871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783689831-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783691811-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783693781-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783695741-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783697611-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783699641-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783701591-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783703541-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783705411-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783707321-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783709341-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783711311-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783713311-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783715231-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783717141-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783719131-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783721061-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783723071-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783725091-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783727101-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783729041-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783730981-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783732921-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783734871-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783736811-05:00 last_exc = exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783738831-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783740870-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783743510-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783745510-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783747490-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783749430-05:00 ) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783751420-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783753290-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783755360-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783757390-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783759290-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783761210-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783766930-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783768980-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783770910-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783776790-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783779010-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783781500-05:00 > yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783783350-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783785350-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783787370-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783789380-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783791370-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783794080-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783796160-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783798140-05:00 raise exc from None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783800130-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783802130-05:00 response = connection.handle_request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783804120-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783806150-05:00 raise exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783808810-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783810810-05:00 stream = self._connect(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783812840-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783814800-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783816750-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783818750-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783820660-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783822590-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783824500-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783826420-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783828420-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783830370-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783832230-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783834220-05:00 map = {: , : } [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783836090-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783838050-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783839990-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783841950-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783843930-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783845870-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783847800-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783849730-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783851710-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783853690-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783855580-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783857620-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783859560-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783861470-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783863360-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783865830-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783871220-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783873230-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783875100-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783877020-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783879090-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783881040-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783882970-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783884910-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783886820-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783888750-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783890650-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783892630-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783894720-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783896720-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783898690-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783900640-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783902580-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783904560-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783906410-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783908310-05:00 integrations/base.py:135: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783910350-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783912300-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783914250-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783916180-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783918110-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783920080-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783922000-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783923950-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783925950-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783927900-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783929830-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783931830-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783933780-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783935760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783937760-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783939720-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783941710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783946759-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783948759-05:00 self.gen.throw(value) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783950679-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783953359-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783955369-05:00 @contextlib.contextmanager [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783957309-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783959269-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783961199-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783968419-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783970449-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783972369-05:00 yield [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783974299-05:00 except Exception as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783976279-05:00 mapped_exc = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783978229-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783980219-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783982269-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783984289-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783986249-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783988239-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783990149-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783992059-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783993979-05:00 mapped_exc = to_exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783995999-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783997949-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.783999899-05:00 raise [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784001839-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784003829-05:00 message = str(exc) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784005769-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784007769-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784009609-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784011649-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784013509-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784015409-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784017309-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784019199-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784021199-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784023219-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784025139-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784027069-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784028989-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784030909-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784032839-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784034769-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784036699-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784038629-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784040539-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784042529-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784044579-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784046579-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784048559-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784050499-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784052359-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784054269-05:00 self = [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784056279-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784061599-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784063509-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784065419-05:00 def _request( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784067379-05:00 self, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784069299-05:00 method: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784071229-05:00 path: str, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784073159-05:00 *, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784075079-05:00 retry: bool = True, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784077169-05:00 **kwargs: Any, [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784079079-05:00 ) -> httpx.Response: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784081009-05:00 client = self._ensure_client() [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784082949-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784085589-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784087579-05:00 for attempt in range(attempts): [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784089509-05:00 try: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784091439-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784093429-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784095389-05:00 last_exc = exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784097309-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784099359-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784101339-05:00 continue [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784103289-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784105219-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784107169-05:00 ) from exc [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784109179-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784111079-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784113079-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784115019-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784117019-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784118899-05:00 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784120819-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784122769-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784124799-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784126839-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784128769-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784145419-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784153998-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784156988-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784172298-05:00 fleet/admin.py 256 105 34 0 52% 73-74, 78, 81-84, 98, 102, 105, 139, 145-146, 168, 171, 192, 195, 206, 210, 257-266, 274-280, 285-295, 308-310, 339-343, 347-355, 359-362, 367-384, 389-403, 412-423, 459, 463-466, 470-499, 503-509 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784176978-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784190858-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784193448-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784196938-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784199368-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784201858-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784204318-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784206848-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784209358-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784211828-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784214228-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784216668-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784219058-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784221468-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784223868-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784226308-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784228708-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784231418-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784233928-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784236388-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784238958-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784242318-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784244798-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784247258-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784249718-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784252158-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784254558-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784256938-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784264228-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784266678-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784269098-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784271558-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784273968-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784276368-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784278758-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784281158-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784287668-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784290218-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784292818-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784296138-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784298568-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784302148-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784304748-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784307228-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784309628-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784312408-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784315618-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784318098-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784320508-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784324028-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784326498-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784328908-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784331318-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784333688-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784336158-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784342548-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784344998-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784347478-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784349877-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784352297-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784354677-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784357067-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784359507-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784362397-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784364827-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784367207-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784369657-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784372047-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784374707-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784377207-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784379617-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784382107-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784384487-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784386877-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784389267-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784399747-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784402427-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784404897-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784407427-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784409837-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784412237-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784414707-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784417107-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784419807-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784426727-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784429207-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784431747-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-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784434147-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.39s =================== [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784436737-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784439167-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-wdcxf-contract-pod/step-run-contract] 2026-08-05T22:17:34.784441737-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above [pod/app-contract-nightly-wdcxf-contract-pod/prepare] 2026-08-05T22:17:04.481099178-05:00 2026/08/06 03:17:04 Entrypoint initialization [pod/app-contract-nightly-wdcxf-contract-pod/place-scripts] 2026-08-05T22:17:05.041270292-05:00 2026/08/06 03:17:05 Decoded script /tekton/scripts/script-0-qlbhd