===== app-contract-nightly-7vck5-archive-logs-pod.log ===== [pod/app-contract-nightly-7vck5-archive-logs-pod/prepare] 2026-08-07T22:17:31.935893890-05:00 2026/08/08 03:17:31 Entrypoint initialization [pod/app-contract-nightly-7vck5-archive-logs-pod/place-scripts] 2026-08-07T22:17:32.561178281-05:00 2026/08/08 03:17:32 Decoded script /tekton/scripts/script-0-wgs6k [pod/app-contract-nightly-7vck5-archive-logs-pod/place-scripts] 2026-08-07T22:17:32.575991669-05:00 2026/08/08 03:17:32 Decoded script /tekton/scripts/script-1-drmfs [pod/app-contract-nightly-7vck5-archive-logs-pod/step-collect-logs] 2026-08-07T22:17:37.010149077-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-7vck5 ===== app-contract-nightly-7vck5-contract-pod.log ===== [pod/app-contract-nightly-7vck5-contract-pod/prepare] 2026-08-07T22:17:03.572407907-05:00 2026/08/08 03:17:03 Entrypoint initialization [pod/app-contract-nightly-7vck5-contract-pod/place-scripts] 2026-08-07T22:17:04.122031276-05:00 2026/08/08 03:17:04 Decoded script /tekton/scripts/script-0-l4jnp [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:07.644066078-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:07.738195576-05:00 job.batch/app-contract-20260808-031707 created [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.402711407-05:00 ----- contract Job logs (app-contract-20260808-031707) ----- [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484673168-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484745818-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484755017-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484760817-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484766287-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484771707-05:00 rootdir: /app [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484778197-05:00 configfile: pytest.ini [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484784507-05:00 plugins: django-4.13.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484790247-05:00 collected 31 items [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484804557-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484810447-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484817127-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484822747-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484828927-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484834527-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484840477-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484846077-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484852107-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484857707-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484863687-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484869847-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484875617-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484881657-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484887917-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484894157-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484898817-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484903457-05:00 > yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484907967-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484912797-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484917817-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484924287-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484929257-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484940427-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484946507-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484951257-05:00 raise exc from None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484955907-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484960836-05:00 response = connection.handle_request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484965616-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484970326-05:00 raise exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484995296-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.484998776-05:00 stream = self._connect(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485002066-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485005236-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485008516-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485011786-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485015146-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485018326-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485021496-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485027396-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485030296-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485033386-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485036276-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485040616-05:00 map = {: , : } [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485044306-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485047496-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485051386-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485054886-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485058116-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485061316-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485064436-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485067756-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485073036-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485076436-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485079816-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485083356-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485086656-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485090606-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485093566-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485096996-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485100336-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485103596-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485106536-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485109686-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485113186-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485116536-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485119786-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485123226-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485126426-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485129886-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485132076-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485134266-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485136766-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485139096-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485141256-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485144336-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485153476-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485181995-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485189785-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485192055-05:00 integrations/base.py:135: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485200035-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485202515-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485204715-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485206895-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485209205-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485211555-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485213825-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485216645-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485218885-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485221215-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485223415-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485225645-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485227835-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485230015-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485232245-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485234415-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485236655-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485239005-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485241175-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485243465-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485245575-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485247895-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485250125-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485252445-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485255495-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485257745-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485259995-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485262205-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485264435-05:00 except Exception as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485266665-05:00 mapped_exc = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485268835-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485271115-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485273285-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485275535-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485277795-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485280055-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485282325-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485284815-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485287005-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485289295-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485291495-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485297985-05:00 raise [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485300305-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485302565-05:00 message = str(exc) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485304835-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485307075-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485309165-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485311415-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485313515-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485316005-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485318095-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485320235-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485322425-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485324655-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485326825-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485329095-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485331575-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485333675-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485335855-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485338115-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485340405-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485342575-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485344825-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485346985-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485349205-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485351425-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485353665-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485355785-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485358025-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485360245-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485362665-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485364755-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485366935-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485369125-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485371375-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485373525-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485376555-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485378775-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485380944-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485383224-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485385404-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485387564-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485389874-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485392214-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485394524-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485396724-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485399034-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485401674-05:00 last_exc = exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485407524-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485412854-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485415284-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485417494-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485419774-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485422034-05:00 ) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485425184-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485427314-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485429604-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485431874-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485433964-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485436174-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485439124-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485441294-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485443474-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485445694-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485447874-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485450144-05:00 > yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485452274-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485454534-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485456824-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485459044-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485461244-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485463524-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485465754-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485467964-05:00 raise exc from None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485470404-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485472694-05:00 response = connection.handle_request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485474934-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485477664-05:00 raise exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485479904-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485482154-05:00 stream = self._connect(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485484314-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485486524-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485488774-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485490964-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485493154-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485495394-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485497554-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485499784-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485501944-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485504164-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485510134-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485512494-05:00 map = {: , : } [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485514594-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485516724-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485518944-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485521194-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485523354-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485525624-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485527784-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485529964-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485532234-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485534454-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485536534-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485538764-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485540854-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485543064-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485545144-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485547374-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485549894-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485552064-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485554204-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485556364-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485558614-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485560834-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485562994-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485565284-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485567434-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485569604-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485571764-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485573974-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485576224-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485578654-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485581774-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485585014-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485588454-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485591944-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485595003-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485597833-05:00 integrations/base.py:135: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485600053-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485602413-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485604653-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485606913-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485609213-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485611433-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485613653-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485615883-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485620913-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485628513-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485630813-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485633053-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485635313-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485637983-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485640243-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485642493-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485644733-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485646983-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485649183-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485651393-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485653503-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485655783-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485658033-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485660243-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485662413-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485664793-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485667093-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485669293-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485671483-05:00 except Exception as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485673643-05:00 mapped_exc = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485675803-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485677953-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485680213-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485682393-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485684683-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485686993-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485689363-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485691593-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485693783-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485695963-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485698163-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485700323-05:00 raise [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485702563-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485704733-05:00 message = str(exc) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485706933-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485709163-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485711263-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485713533-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485715653-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485717913-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485720063-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485722213-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485724383-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485726563-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485728723-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485730973-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485737953-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485740083-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485742283-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485744463-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485746643-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485748803-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485750973-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485753123-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485755273-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485757423-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485759673-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485761783-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485763963-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485766233-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485768423-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485770513-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485772663-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485774843-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485777163-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485779323-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485781473-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485783643-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485785783-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485787933-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485790093-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485792273-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485794463-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485796763-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485798983-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485801143-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485803383-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485805562-05:00 last_exc = exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485807862-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485810282-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485812492-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485814722-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485817602-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485819812-05:00 ) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485822102-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485824652-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485826972-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485829142-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485831252-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485833472-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485838252-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485840612-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485849032-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485851362-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485853622-05:00 E assert False [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485855872-05:00 E + where False = .reachable [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485857962-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485860162-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485862402-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485864482-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485866812-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485869022-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485871192-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485873512-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485875702-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485877912-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485880082-05:00 > yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485882172-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485884382-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485886632-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485888952-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485891272-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485893452-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485895692-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485897932-05:00 raise exc from None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485900112-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485902302-05:00 response = connection.handle_request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485904542-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485906782-05:00 raise exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485908992-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485911172-05:00 stream = self._connect(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485913382-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485915552-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485917782-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485920012-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485922232-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485924442-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485926662-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485928822-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485931012-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485946502-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485951992-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485954352-05:00 map = {: , : } [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485961302-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485963542-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485965852-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485968072-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485970252-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485972442-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485974632-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485976792-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485978962-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485981212-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485983342-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485985542-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485987642-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485989812-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485991912-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485994092-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485996312-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.485998512-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486000662-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486002822-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486005012-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486007172-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486009342-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486011492-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486013731-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486015901-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486018131-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486020361-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486022641-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486024821-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486026991-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486029191-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486031361-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486033591-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486035711-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486037851-05:00 integrations/base.py:135: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486040041-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486042241-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486044441-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486046611-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486048821-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486050991-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486053211-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486055411-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486060361-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486062621-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486064811-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486071241-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486073481-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486075691-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486077981-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486080231-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486082381-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486084541-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486086711-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486088901-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486091001-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486093211-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486095381-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486097551-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486099701-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486101861-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486104051-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486106221-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486108401-05:00 except Exception as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486110621-05:00 mapped_exc = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486112831-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486114991-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486117161-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486119351-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486121561-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486125251-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486127541-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486129781-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486131991-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486134211-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486136381-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486138571-05:00 raise [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486140791-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486142971-05:00 message = str(exc) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486145171-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486147391-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486149501-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486151721-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486153851-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486156021-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486158131-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486160271-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486162431-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486164741-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486167671-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486169781-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486171971-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486174271-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486180361-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486182641-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486184831-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486187051-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486189231-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486191491-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486193691-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486195941-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486198221-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486200421-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486202511-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486204801-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486207071-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486209341-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486211451-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486213611-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486215801-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486218380-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486220600-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486222830-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486225080-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486227230-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486229540-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486231800-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486234000-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486236260-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486238570-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486240760-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486243630-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486245840-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486248190-05:00 last_exc = exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486250360-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486252530-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486255450-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486257610-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486259900-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486262160-05:00 ) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486265200-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486267320-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486269540-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486271740-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486273860-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486276020-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486280990-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486283260-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486285460-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486287700-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486293910-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486296120-05:00 > yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486298220-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486300470-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486302650-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486304920-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486307120-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486309310-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486311570-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486313760-05:00 raise exc from None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486316030-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486318270-05:00 response = connection.handle_request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486320530-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486322850-05:00 raise exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486325030-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486327260-05:00 stream = self._connect(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486329520-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486331710-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486333990-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486336200-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486338380-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486341350-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486343540-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486345710-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486347880-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486350120-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486352220-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486354480-05:00 map = {: , : } [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486356600-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486359280-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486361520-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486363720-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486365910-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486368090-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486370250-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486372460-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486374610-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486376850-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486378940-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486381120-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486383220-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486385380-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486387470-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486389650-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486396230-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486398450-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486400560-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486402750-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486405580-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486407750-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486409930-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486412150-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486414320-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486416500-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486418720-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486420889-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486423089-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486425259-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486427429-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486429639-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486431809-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486434019-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486436109-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486438279-05:00 integrations/base.py:135: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486440469-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486442679-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486444869-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486447079-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486449249-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486451439-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486453629-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486456479-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486458659-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486461019-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486463219-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486465489-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486469119-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486472359-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486475629-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486478899-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486482079-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486489009-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486492679-05:00 self.gen.throw(value) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486496179-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486499309-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486502809-05:00 @contextlib.contextmanager [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486505949-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486509339-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486512629-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486522029-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486525299-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486528529-05:00 yield [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486531769-05:00 except Exception as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486535009-05:00 mapped_exc = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486538329-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486541439-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486544769-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486547969-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486551389-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486554689-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486557759-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486561579-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486564719-05:00 mapped_exc = to_exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486567949-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486571329-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486574579-05:00 raise [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486577819-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486581039-05:00 message = str(exc) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486584419-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486587609-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486590559-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486593799-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486596799-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486599919-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486603069-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486606199-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486609529-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486612639-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486615629-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486618529-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486621749-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486625038-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486628358-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486631888-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486635398-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486639548-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486642938-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486646088-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486649818-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486652998-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486656438-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486659928-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486662988-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486666118-05:00 self = [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486669578-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486679708-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486682908-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486686108-05:00 def _request( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486689368-05:00 self, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486692658-05:00 method: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486696018-05:00 path: str, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486699518-05:00 *, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486702768-05:00 retry: bool = True, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486706438-05:00 **kwargs: Any, [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486709708-05:00 ) -> httpx.Response: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486713108-05:00 client = self._ensure_client() [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486716738-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486720148-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486723478-05:00 for attempt in range(attempts): [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486726908-05:00 try: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486730338-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486733798-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486737058-05:00 last_exc = exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486740358-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486743638-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486747818-05:00 continue [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486751258-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486754568-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486757768-05:00 ) from exc [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486761038-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486763938-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486767098-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486770548-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486774258-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486777318-05:00 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486782688-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486786018-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486789048-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486792208-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486795388-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486819088-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486836407-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486840167-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486852177-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486858017-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486870817-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486873937-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486876627-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486878897-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486881237-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486883677-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486885897-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486888147-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486890297-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486892537-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486894797-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486897057-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486899197-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486901357-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486903677-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486905897-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486909227-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486911577-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486913787-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486916077-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486918747-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486921017-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486923237-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486925477-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486927687-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486930227-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486932587-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486951527-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486954097-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486956337-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486958527-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486960867-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486963027-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486965467-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486967717-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486976307-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486978687-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486980937-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486983607-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486985847-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486988507-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486990787-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486993017-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486995207-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.486998367-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487000897-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487003097-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487005347-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487007847-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487010097-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487012277-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487014567-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487016967-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487019207-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487026237-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487028446-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487030826-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487033336-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487035516-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487037676-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487039826-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487041976-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487044136-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487046296-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487048516-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487050696-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487052826-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487054986-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487057186-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487059396-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487061546-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487063676-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487065846-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487068376-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487080676-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487083146-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487085336-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487087596-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487089756-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487091946-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487095696-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487097926-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487100666-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487107176-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487109466-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487111706-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-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487113996-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.14s =================== [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487116636-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487118836-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-7vck5-contract-pod/step-run-contract] 2026-08-07T22:17:28.487121156-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above