===== app-contract-nightly-dtf5s-archive-logs-pod.log ===== [pod/app-contract-nightly-dtf5s-archive-logs-pod/prepare] 2026-07-24T22:17:31.217994103-05:00 2026/07/25 03:17:31 Entrypoint initialization [pod/app-contract-nightly-dtf5s-archive-logs-pod/place-scripts] 2026-07-24T22:17:31.671611266-05:00 2026/07/25 03:17:31 Decoded script /tekton/scripts/script-0-hzqpk [pod/app-contract-nightly-dtf5s-archive-logs-pod/place-scripts] 2026-07-24T22:17:31.687807729-05:00 2026/07/25 03:17:31 Decoded script /tekton/scripts/script-1-kkwpq [pod/app-contract-nightly-dtf5s-archive-logs-pod/step-collect-logs] 2026-07-24T22:17:34.978979556-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-dtf5s ===== app-contract-nightly-dtf5s-contract-pod.log ===== [pod/app-contract-nightly-dtf5s-contract-pod/prepare] 2026-07-24T22:17:04.254952642-05:00 2026/07/25 03:17:04 Entrypoint initialization [pod/app-contract-nightly-dtf5s-contract-pod/place-scripts] 2026-07-24T22:17:04.449405048-05:00 2026/07/25 03:17:04 Decoded script /tekton/scripts/script-0-fppqc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:07.642236045-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:07.716691773-05:00 job.batch/app-contract-20260725-031707 created [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.275228627-05:00 ----- contract Job logs (app-contract-20260725-031707) ----- [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779004008-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779029648-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779056448-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779063288-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779070148-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779076348-05:00 rootdir: /app [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779084248-05:00 configfile: pytest.ini [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779103718-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779111428-05:00 collected 31 items [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779117448-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779124408-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779130998-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779137427-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779144217-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779150717-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779160667-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779167267-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779173917-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779180717-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779187087-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779195527-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779202117-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779208937-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779215457-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779222507-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779228857-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779235257-05:00 > yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779241417-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779247937-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779254637-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779261257-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779267357-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779274037-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779280357-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779286427-05:00 raise exc from None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779292976-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779299116-05:00 response = connection.handle_request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779305496-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779311666-05:00 raise exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779330786-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779334986-05:00 stream = self._connect(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779338906-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779342386-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779345826-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779349006-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779352416-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779355926-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779359166-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779362736-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779366216-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779370226-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779373306-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779377036-05:00 map = {: , : } [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779380856-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779384386-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779387646-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779390896-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779394056-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779397406-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779401116-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779404226-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779407316-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779410276-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779413456-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779416576-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779419636-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779423586-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779426836-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779430056-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779433386-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779436506-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779439796-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779442995-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779446225-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779449575-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779452945-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779456445-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779459695-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779463065-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779466415-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779470195-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779473405-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779476855-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779480175-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779483915-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779487305-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779524305-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779536005-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779539655-05:00 integrations/base.py:135: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779555245-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779558955-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779562655-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779566335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779569885-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779573525-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779577265-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779580845-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779584395-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779589865-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779593405-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779596964-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779600574-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779604084-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779608114-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779611734-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779615164-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779618814-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779622364-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779626044-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779629264-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779632824-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779636354-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779640034-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779643744-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779647674-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779651284-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779654864-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779658564-05:00 except Exception as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779662194-05:00 mapped_exc = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779665644-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779669414-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779672934-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779676384-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779679904-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779683484-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779687874-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779691494-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779695244-05:00 mapped_exc = to_exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779698694-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779702624-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779712444-05:00 raise [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779715974-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779719824-05:00 message = str(exc) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779723514-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779727104-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779730614-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779734344-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779737674-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779741414-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779744814-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779748313-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779751993-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779755573-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779759193-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779762833-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779766603-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779770053-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779773583-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779777223-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779780793-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779784273-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779787923-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779791463-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779795123-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779798683-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779802703-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779805953-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779809483-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779813173-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779816723-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779820043-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779823763-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779827103-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779830343-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779833743-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779837203-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779840633-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779844033-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779849633-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779852953-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779856623-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779860103-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779863443-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779866953-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779870353-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779873743-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779877383-05:00 last_exc = exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779887723-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779896113-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779899863-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779903422-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779906802-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779910232-05:00 ) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779914002-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779917202-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779920452-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779924042-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779927302-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779930732-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779934272-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779937622-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779940942-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779945342-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779949392-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779952912-05:00 > yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779956102-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779959732-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779963122-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779967342-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779970822-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779974262-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779978172-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779981552-05:00 raise exc from None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779984962-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779988352-05:00 response = connection.handle_request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779991692-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779995182-05:00 raise exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.779998602-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780001822-05:00 stream = self._connect(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780005412-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780008832-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780012092-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780015502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780018652-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780021932-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780025822-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780029062-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780043932-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780049952-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780058901-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780062111-05:00 map = {: , : } [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780065081-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780068311-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780071511-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780074711-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780077881-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780081141-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780084301-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780087501-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780090761-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780096001-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780099461-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780102671-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780105691-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780109071-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780112231-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780115461-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780118711-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780122031-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780125021-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780128381-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780131671-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780134921-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780138101-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780141481-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780144941-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780148241-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780151621-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780154951-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780158361-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780161641-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780165061-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780168361-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780171961-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780175821-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780179051-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780182401-05:00 integrations/base.py:135: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780185821-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780189101-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780192341-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780195551-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780198981-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780202231-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780205501-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780208820-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780216800-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780226810-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780230370-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780233580-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780238510-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780242150-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780246780-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780250120-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780253330-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780256540-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780259780-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780263190-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780266450-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780269780-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780273060-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780275960-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780278550-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780281180-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780283970-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780286690-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780289400-05:00 except Exception as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780292240-05:00 mapped_exc = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780294930-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780297830-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780300700-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780303410-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780306310-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780309610-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780312330-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780315040-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780317620-05:00 mapped_exc = to_exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780320180-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780322610-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780325050-05:00 raise [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780327590-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780330160-05:00 message = str(exc) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780332800-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780335290-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780337710-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780340330-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780342880-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780345500-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780347860-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780350380-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780352970-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780355510-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780358170-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780360909-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780368269-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780370879-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780373489-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780376089-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780378649-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780381249-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780383839-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780386649-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780389189-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780391799-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780394379-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780396969-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780399509-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780402169-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780404689-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780407279-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780409879-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780412689-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780415429-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780418039-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780420629-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780423159-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780425729-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780428259-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780431009-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780434259-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780437169-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780439829-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780442379-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780445139-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780447749-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780450389-05:00 last_exc = exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780452979-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780455629-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780458339-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780461099-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780463719-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780466479-05:00 ) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780469199-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780471739-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780474309-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780476969-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780479529-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780482169-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780488649-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780491379-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780498779-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780501509-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780504529-05:00 E assert False [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780507209-05:00 E + where False = .reachable [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780509809-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780512558-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780515248-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780517818-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780520478-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780523048-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780525788-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780528458-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780531108-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780533778-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780536398-05:00 > yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780539028-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780541688-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780544318-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780547118-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780549818-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780552488-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780555208-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780557848-05:00 raise exc from None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780560468-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780563168-05:00 response = connection.handle_request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780565708-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780568478-05:00 raise exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780571178-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780573818-05:00 stream = self._connect(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780576508-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780579138-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780581818-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780584478-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780587058-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780589728-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780592478-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780595328-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780598918-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780601948-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780604558-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780607368-05:00 map = {: , : } [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780609898-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780617298-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780620208-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780622838-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780626188-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780628778-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780631548-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780634248-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780636848-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780639578-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780642088-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780644608-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780647098-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780649708-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780652358-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780655078-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780657698-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780660438-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780663088-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780665647-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780668287-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780670967-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780673547-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780676337-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780678997-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780681897-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780684627-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780687277-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780690007-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780692617-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780695377-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780698057-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780700667-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780703447-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780705967-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780709127-05:00 integrations/base.py:135: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780711857-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780714507-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780717157-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780719807-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780722437-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780725087-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780727667-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780730297-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780736147-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780738907-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780741507-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780744097-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780751417-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780754117-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780756687-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780760197-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780762827-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780765737-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780768327-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780771827-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780774367-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780776947-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780779597-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780782277-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780784997-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780787737-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780790407-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780793027-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780795707-05:00 except Exception as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780798267-05:00 mapped_exc = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780800897-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780803597-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780806267-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780808977-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780811667-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780814397-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780816987-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780819686-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780822296-05:00 mapped_exc = to_exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780825066-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780827676-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780830206-05:00 raise [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780832806-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780835366-05:00 message = str(exc) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780837886-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780840416-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780842866-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780845396-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780847856-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780850376-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780852796-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780855306-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780857806-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780860356-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780862896-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780865326-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780867846-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780870376-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780872916-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780879686-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780882876-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780886076-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780888866-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780891726-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780894426-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780897256-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780899986-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780902786-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780905236-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780908116-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780910786-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780913336-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780916096-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780918956-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780921686-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780924336-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780926956-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780929656-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780932336-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780935036-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780937766-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780940426-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780943106-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780945916-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780948646-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780951486-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780954176-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780956886-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780959636-05:00 last_exc = exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780962336-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780964926-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780967596-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780970755-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780973465-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780976135-05:00 ) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780978955-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780982355-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780985085-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780988305-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780990855-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780993475-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.780999475-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781002425-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781005165-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781007845-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781015455-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781018245-05:00 > yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781020865-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781023495-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781026175-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781028995-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781036175-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781040965-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781043715-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781046405-05:00 raise exc from None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781049085-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781051685-05:00 response = connection.handle_request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781054415-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781057365-05:00 raise exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781060075-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781063935-05:00 stream = self._connect(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781066775-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781069415-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781072035-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781074755-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781077635-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781080435-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781083355-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781085995-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781088585-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781091315-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781093755-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781096445-05:00 map = {: , : } [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781098865-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781101535-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781104175-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781106825-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781109435-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781111965-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781114695-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781117405-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781120154-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781122914-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781125584-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781128174-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781130714-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781133214-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781135674-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781143724-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781146634-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781149494-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781152094-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781154694-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781157454-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781160144-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781162864-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781165434-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781168104-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781170774-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781173494-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781176224-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781178774-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781181434-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781184174-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781186824-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781189454-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781192084-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781194514-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781197204-05:00 integrations/base.py:135: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781199944-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781202744-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781205334-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781207904-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781210494-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781213284-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781215994-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781218764-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781221454-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781224274-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781227014-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781229864-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781232604-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781235534-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781238184-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781240874-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781243554-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781249624-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781252344-05:00 self.gen.throw(value) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781255204-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781257834-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781260374-05:00 @contextlib.contextmanager [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781263774-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781266724-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781269373-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781276123-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781278863-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781281583-05:00 yield [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781284433-05:00 except Exception as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781287053-05:00 mapped_exc = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781289853-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781292793-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781295373-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781298173-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781300913-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781303633-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781306563-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781309343-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781312143-05:00 mapped_exc = to_exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781314843-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781317473-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781320133-05:00 raise [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781323313-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781325993-05:00 message = str(exc) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781328623-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781331353-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781333953-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781336653-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781339303-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781341973-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781344613-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781347383-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781350193-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781352823-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781356413-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781358763-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781361443-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781364233-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781367013-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781369683-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781372363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781375003-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781377583-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781380253-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781382973-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781385703-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781388413-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781391053-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781393463-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781396173-05:00 self = [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781398813-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781408673-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781411433-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781414153-05:00 def _request( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781416912-05:00 self, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781419622-05:00 method: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781422282-05:00 path: str, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781424882-05:00 *, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781427492-05:00 retry: bool = True, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781430242-05:00 **kwargs: Any, [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781432912-05:00 ) -> httpx.Response: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781435592-05:00 client = self._ensure_client() [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781438392-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781441182-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781443972-05:00 for attempt in range(attempts): [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781446572-05:00 try: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781449262-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781452002-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781454602-05:00 last_exc = exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781457242-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781459822-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781462592-05:00 continue [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781465462-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781468272-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781470932-05:00 ) from exc [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781473652-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781476102-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781478712-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781481362-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781484332-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781486962-05:00 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781489692-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781492412-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781495102-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781497802-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781500382-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781517662-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781527652-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781531132-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781541512-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781545792-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781555592-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781558122-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781561272-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781564991-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781568601-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781572601-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781576661-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781580671-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781584541-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781588251-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781592121-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781595931-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781599511-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781603531-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781606941-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781609421-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781612801-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781615291-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781618851-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781622651-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781626801-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781630161-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781633511-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781637441-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781641471-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781645401-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781649211-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781661321-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781665331-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781669201-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781673301-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781677141-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781680671-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781684271-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781688231-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781733550-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781738130-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781741620-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781745210-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781748710-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781754040-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781757820-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781761440-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781764950-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781768780-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781772220-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781775680-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781779280-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781783000-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781786470-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781789940-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781793370-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781796800-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781800240-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781809730-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781812260-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781814600-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781816930-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781819330-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781821680-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781824000-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781826330-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781828780-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781831110-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781833410-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781835720-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781838060-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781840360-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781842830-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781845160-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781847480-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781849800-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781852140-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781854530-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781863599-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781866269-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781868949-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781871229-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781873519-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781876739-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781879179-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781881759-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781884489-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781892429-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781894849-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781897189-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-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781900119-05:00 =================== 5 failed, 16 passed, 10 skipped in 8.91s =================== [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781902699-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.781905049-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-dtf5s-contract-pod/step-run-contract] 2026-07-24T22:17:28.784224634-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above