===== app-contract-nightly-rfgjn-archive-logs-pod.log ===== [pod/app-contract-nightly-rfgjn-archive-logs-pod/prepare] 2026-08-04T22:17:37.164495264-05:00 2026/08/05 03:17:37 Entrypoint initialization [pod/app-contract-nightly-rfgjn-archive-logs-pod/place-scripts] 2026-08-04T22:17:37.970202354-05:00 2026/08/05 03:17:37 Decoded script /tekton/scripts/script-0-9jbpt [pod/app-contract-nightly-rfgjn-archive-logs-pod/place-scripts] 2026-08-04T22:17:37.993501406-05:00 2026/08/05 03:17:37 Decoded script /tekton/scripts/script-1-vmfj6 [pod/app-contract-nightly-rfgjn-archive-logs-pod/step-collect-logs] 2026-08-04T22:17:48.290284309-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-rfgjn ===== app-contract-nightly-rfgjn-contract-pod.log ===== [pod/app-contract-nightly-rfgjn-contract-pod/prepare] 2026-08-04T22:17:04.317230461-05:00 2026/08/05 03:17:04 Entrypoint initialization [pod/app-contract-nightly-rfgjn-contract-pod/place-scripts] 2026-08-04T22:17:05.421053067-05:00 2026/08/05 03:17:05 Decoded script /tekton/scripts/script-0-vfjkr [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:08.231699882-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:08.414651954-05:00 job.batch/app-contract-20260805-031708 created [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.267774169-05:00 ----- contract Job logs (app-contract-20260805-031708) ----- [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594451372-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594489841-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594498628-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594505348-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594513210-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594520059-05:00 rootdir: /app [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594526908-05:00 configfile: pytest.ini [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594533548-05:00 plugins: cov-7.1.0, django-4.12.0, anyio-4.14.2 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594540735-05:00 collected 31 items [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594548130-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594557037-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594565108-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594573060-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594579969-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594605257-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594611718-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594617851-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594624233-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594630624-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594636747-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594643586-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594649928-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594656538-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594662960-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594669302-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594675713-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594682115-05:00 > yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594688258-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594694619-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594700961-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594708168-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594714490-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594720832-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594727164-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594733545-05:00 raise exc from None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594739947-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594746388-05:00 response = connection.handle_request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594752740-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594759141-05:00 raise exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594784747-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594789370-05:00 stream = self._connect(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594793694-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594798008-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594802322-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594806656-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594810980-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594815353-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594819667-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594823971-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594828286-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594832610-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594836794-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594841655-05:00 map = {: , : } [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594846844-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594851247-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594855631-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594860015-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594864359-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594868683-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594873026-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594877331-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594881615-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594885909-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594890064-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594894458-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594898573-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594902867-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594906982-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594911406-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594915760-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594920084-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594924189-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594928513-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594932847-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594937131-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594941395-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594945839-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594950133-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594954397-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594958652-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594962936-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594967220-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594971514-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594975779-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594980182-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594984814-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.594989118-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595002498-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595006981-05:00 integrations/base.py:135: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595020848-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595025629-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595030390-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595034724-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595064257-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595071950-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595076294-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595080618-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595084942-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595089246-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595093759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595098063-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595102397-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595106691-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595111025-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595118093-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595122496-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595126800-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595131214-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595135548-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595139683-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595144017-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595148331-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595152615-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595156909-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595161174-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595165677-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595170011-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595174305-05:00 except Exception as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595178599-05:00 mapped_exc = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595182913-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595187307-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595191760-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595196143-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595200537-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595204891-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595209205-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595213499-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595217843-05:00 mapped_exc = to_exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595222187-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595226610-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595239721-05:00 raise [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595244224-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595248608-05:00 message = str(exc) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595252932-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595257425-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595261520-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595265844-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595269960-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595274254-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595278429-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595282703-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595287176-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595291480-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595295764-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595300068-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595304442-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595308846-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595313378-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595317683-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595321997-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595326271-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595330575-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595334829-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595339104-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595343358-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595347801-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595351897-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595356191-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595360515-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595364819-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595368914-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595373209-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595377582-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595381956-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595386419-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595390743-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595395017-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595399282-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595403526-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595407811-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595412095-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595416558-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595420832-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595425126-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595429440-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595433735-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595438019-05:00 last_exc = exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595450782-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595461697-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595466239-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595470951-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595475255-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595479569-05:00 ) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595484450-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595488595-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595492909-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595497362-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595501497-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595505801-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595510086-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595514499-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595518763-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595523038-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595527352-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595531765-05:00 > yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595535880-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595540194-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595544538-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595548833-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595553157-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595557451-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595561725-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595566188-05:00 raise exc from None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595570482-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595574776-05:00 response = connection.handle_request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595579081-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595583415-05:00 raise exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595587748-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595592112-05:00 stream = self._connect(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595596426-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595600810-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595605124-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595609428-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595613692-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595617977-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595624169-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595628821-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595633136-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595637648-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595641764-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595664805-05:00 map = {: , : } [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595669179-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595673513-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595679467-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595683870-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595688314-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595692797-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595697151-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595701485-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595706027-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595710331-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595714447-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595718820-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595722936-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595727359-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595731474-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595735818-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595740152-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595744506-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595748621-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595752915-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595757239-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595761593-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595765838-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595770181-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595774486-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595778760-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595783253-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595787557-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595791871-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595796324-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595800628-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595804903-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595809227-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595813501-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595817566-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595821851-05:00 integrations/base.py:135: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595826175-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595830529-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595834823-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595839127-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595843431-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595847795-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595852129-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595856463-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595866532-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595871055-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595882595-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595887049-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595891353-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595895637-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595899881-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595904156-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595908510-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595912794-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595917058-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595921362-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595925438-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595929821-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595934096-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595938539-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595942913-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595947237-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595951511-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595955835-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595960129-05:00 except Exception as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595964403-05:00 mapped_exc = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595968658-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595972942-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595977236-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595981511-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595985785-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595990059-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595994333-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.595999582-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596003946-05:00 mapped_exc = to_exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596008220-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596014293-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596018757-05:00 raise [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596023100-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596027514-05:00 message = str(exc) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596031838-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596036112-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596049571-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596057225-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596061480-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596065814-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596069899-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596074193-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596078527-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596082841-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596087116-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596091449-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596104372-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596108567-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596112930-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596117284-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596121598-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596125863-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596130117-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596134491-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596138964-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596143218-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596147542-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596151638-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596156051-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596160405-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596164769-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596168864-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596173267-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596177621-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596181925-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596186210-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596190544-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596194858-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596199142-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596203426-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596207740-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596212124-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596216468-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596221358-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596225662-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596229996-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596234350-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596238654-05:00 last_exc = exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596243058-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596247292-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596251557-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596255851-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596260125-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596264439-05:00 ) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596270632-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596274817-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596279151-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596283445-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596287570-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596291954-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596302202-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596306665-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596319319-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596323892-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596328206-05:00 E assert False [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596332500-05:00 E + where False = .reachable [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596336615-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596340899-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596345184-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596349309-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596353692-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596358086-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596362420-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596366764-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596372768-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596377112-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596381475-05:00 > yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596385581-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596389825-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596394259-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596398543-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596402857-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596407121-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596411435-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596415729-05:00 raise exc from None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596420024-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596424348-05:00 response = connection.handle_request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596428691-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596433005-05:00 raise exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596437339-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596441653-05:00 stream = self._connect(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596445908-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596450232-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596454506-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596458790-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596463184-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596467478-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596471743-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596476047-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596480321-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596484605-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596488691-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596493015-05:00 map = {: , : } [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596505211-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596509645-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596513979-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596518322-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596522656-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596526941-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596531503-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596535758-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596540231-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596544505-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596548620-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596552944-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596557040-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596561324-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596565419-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596569694-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596574037-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596578391-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596582497-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596586751-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596591095-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596595389-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596599663-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596603997-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596608441-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596612725-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596616979-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596621234-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596625518-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596629782-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596634047-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596638301-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596642645-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596646899-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596650965-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596655209-05:00 integrations/base.py:135: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596659503-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596663798-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596668072-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596672346-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596676730-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596681044-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596685388-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596689662-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596699513-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596703986-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596708658-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596721222-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596725616-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596729920-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596734184-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596738459-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596742743-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596747017-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596751291-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596755635-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596759731-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596764045-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596768319-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596772593-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596776878-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596781132-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596785426-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596789989-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596794283-05:00 except Exception as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596798567-05:00 mapped_exc = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596802861-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596807175-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596811480-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596815774-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596820048-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596824372-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596828646-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596832921-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596837205-05:00 mapped_exc = to_exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596841509-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596846141-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596850435-05:00 raise [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596854729-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596859203-05:00 message = str(exc) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596863487-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596867741-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596871797-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596876121-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596880176-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596884451-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596888526-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596892801-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596897075-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596901349-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596905623-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596909808-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596914172-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596918466-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596922810-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596935037-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596939400-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596943714-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596948009-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596952263-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596956507-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596960752-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596965026-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596969320-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596973406-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596977700-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596982014-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596986318-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596990404-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596994698-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.596999061-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597003763-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597008018-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597012292-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597016566-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597020950-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597026288-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597030592-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597034886-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597056029-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597064786-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597069210-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597073573-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597077878-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597082182-05:00 last_exc = exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597086516-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597090820-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597095203-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597099498-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597103792-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597108106-05:00 ) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597112489-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597116605-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597120919-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597125253-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597129418-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597133762-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597143751-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597148205-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597152877-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597157151-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597170351-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597174844-05:00 > yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597178950-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597184149-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597188522-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597192816-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597197101-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597201385-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597205689-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597210083-05:00 raise exc from None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597214407-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597218701-05:00 response = connection.handle_request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597222955-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597227229-05:00 raise exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597231534-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597235897-05:00 stream = self._connect(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597240977-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597246345-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597251583-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597256692-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597261931-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597267149-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597272517-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597277527-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597281801-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597286135-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597290251-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597294873-05:00 map = {: , : } [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597298978-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597303203-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597307457-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597311761-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597316065-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597320489-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597324743-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597328988-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597334912-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597339335-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597343451-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597347745-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597351870-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597356204-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597360289-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597364564-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597377496-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597381880-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597386005-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597390259-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597394563-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597398897-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597403172-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597407426-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597411690-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597415965-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597420199-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597424444-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597428738-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597433042-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597438131-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597442465-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597446779-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597451342-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597455397-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597459682-05:00 integrations/base.py:135: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597463956-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597468419-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597472703-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597476988-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597481292-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597485576-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597489860-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597494154-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597498429-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597502773-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597507057-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597511311-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597515596-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597519890-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597524144-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597528478-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597532782-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597544064-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597548518-05:00 self.gen.throw(value) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597553050-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597557136-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597561440-05:00 @contextlib.contextmanager [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597565754-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597570048-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597574531-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597592662-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597597036-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597601370-05:00 yield [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597605803-05:00 except Exception as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597610057-05:00 mapped_exc = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597614342-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597618686-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597623089-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597627363-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597631628-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597635952-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597640236-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597644510-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597648824-05:00 mapped_exc = to_exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597653138-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597657492-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597661767-05:00 raise [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597666041-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597670345-05:00 message = str(exc) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597675643-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597679967-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597684102-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597688436-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597692740-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597697005-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597701050-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597705345-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597709629-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597713883-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597718118-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597722163-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597726507-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597730881-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597735155-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597740921-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597745314-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597749598-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597753903-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597758197-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597762600-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597766875-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597771099-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597775383-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597779469-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597783773-05:00 self = [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597788067-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597800582-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597804826-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597809121-05:00 def _request( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597813445-05:00 self, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597817759-05:00 method: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597822023-05:00 path: str, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597826287-05:00 *, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597830572-05:00 retry: bool = True, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597834806-05:00 **kwargs: Any, [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597839110-05:00 ) -> httpx.Response: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597844587-05:00 client = self._ensure_client() [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597848911-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597853991-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597858315-05:00 for attempt in range(attempts): [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597862619-05:00 try: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597866943-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597871217-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597875710-05:00 last_exc = exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597880004-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597884259-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597888563-05:00 continue [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597892827-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597897131-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597901435-05:00 ) from exc [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597905749-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597909904-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597914159-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597918453-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597922847-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597926972-05:00 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597931246-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597935540-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597939844-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597944308-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597948602-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.597979079-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598007925-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598011692-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598029625-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598035768-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598064187-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598077924-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598081672-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598084892-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598088133-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598091373-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598094574-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598097993-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598101224-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598104415-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598107626-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598110816-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598114047-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598117258-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598120478-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598123739-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598127397-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598130657-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598133937-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598137188-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598140836-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598144156-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598147396-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598150746-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598153967-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598157168-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598160368-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598170507-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598173817-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598177217-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598180438-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598183688-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598186889-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598190129-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598193350-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598202117-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598205557-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598208986-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598212266-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598215497-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598222326-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598225775-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598229006-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598232266-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598235944-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598239194-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598242564-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598245815-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598249463-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598253061-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598256351-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598259612-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598262832-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598266103-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598276530-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598279810-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598283051-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598286291-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598289989-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598293249-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598296490-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598299740-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598303209-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598306559-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598309820-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598313040-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598316281-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598319491-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598322722-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598325933-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598329342-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598332583-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598335803-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598339014-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598363865-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598386151-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598388874-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598391379-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598393566-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598395723-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598397870-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598400047-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598402711-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598418834-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598421667-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598423864-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-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598426031-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.24s =================== [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598428894-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598431418-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-rfgjn-contract-pod/step-run-contract] 2026-08-04T22:17:34.598434003-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above