===== app-contract-nightly-8qmkp-archive-logs-pod.log ===== [pod/app-contract-nightly-8qmkp-archive-logs-pod/prepare] 2026-07-22T22:17:35.500764009-05:00 2026/07/23 03:17:35 Entrypoint initialization [pod/app-contract-nightly-8qmkp-archive-logs-pod/place-scripts] 2026-07-22T22:17:36.248759843-05:00 2026/07/23 03:17:36 Decoded script /tekton/scripts/script-0-hxkcz [pod/app-contract-nightly-8qmkp-archive-logs-pod/place-scripts] 2026-07-22T22:17:36.265243349-05:00 2026/07/23 03:17:36 Decoded script /tekton/scripts/script-1-7m8q4 [pod/app-contract-nightly-8qmkp-archive-logs-pod/step-collect-logs] 2026-07-22T22:17:39.687579276-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-8qmkp ===== app-contract-nightly-8qmkp-contract-pod.log ===== [pod/app-contract-nightly-8qmkp-contract-pod/place-scripts] 2026-07-22T22:17:03.670684536-05:00 2026/07/23 03:17:03 Decoded script /tekton/scripts/script-0-gvsh6 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:07.289701989-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:07.371041966-05:00 job.batch/app-contract-20260723-031707 created [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.100144871-05:00 ----- contract Job logs (app-contract-20260723-031707) ----- [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193303106-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193331666-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193353936-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193359666-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193363666-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193368666-05:00 rootdir: /app [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193373146-05:00 configfile: pytest.ini [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193377186-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193381296-05:00 collected 31 items [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193384806-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193388586-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193392306-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193396026-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193402436-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193406146-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193409756-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193413276-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193417026-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193420836-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193424646-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193429396-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193435416-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193439116-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193442886-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193446436-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193450096-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193453736-05:00 > yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193457216-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193460826-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193464476-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193468706-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193472466-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193476216-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193479845-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193483495-05:00 raise exc from None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193487115-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193490845-05:00 response = connection.handle_request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193494585-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193498345-05:00 raise exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193516035-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193518725-05:00 stream = self._connect(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193521255-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193523675-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193526135-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193528585-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193531095-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193533505-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193535935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193538655-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193541065-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193543555-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193545905-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193548805-05:00 map = {: , : } [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193552955-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193555495-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193558065-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193560515-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193562925-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193565445-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193567965-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193570725-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193573435-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193576025-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193578385-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193580885-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193583225-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193585775-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193588145-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193591195-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193593725-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193596195-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193598485-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193600915-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193603465-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193605895-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193608725-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193611215-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193613615-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193616585-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193619035-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193621505-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193624305-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193626765-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193629315-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193631795-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193634265-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193636805-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193643475-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193646285-05:00 integrations/base.py:135: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193656955-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193659705-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193662235-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193664685-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193667295-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193669795-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193673185-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193675625-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193678905-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193681554-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193684194-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193686694-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193689274-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193691954-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193694554-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193696974-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193699394-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193701794-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193704324-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193749944-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193753884-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193757974-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193762384-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193765984-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193769804-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193773824-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193777624-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193788094-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193791834-05:00 except Exception as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193795464-05:00 mapped_exc = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193799094-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193803644-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193807274-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193810914-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193814654-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193818304-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193821874-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193825464-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193830614-05:00 mapped_exc = to_exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193834274-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193837864-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193846694-05:00 raise [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193849284-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193851744-05:00 message = str(exc) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193854204-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193856624-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193859014-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193861474-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193863864-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193866324-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193868704-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193871074-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193873514-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193876024-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193878674-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193881204-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193883654-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193886033-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193888493-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193891013-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193893433-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193895833-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193898213-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193900643-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193903033-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193905413-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193907853-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193910173-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193912643-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193915173-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193917633-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193920003-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193933443-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193935993-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193938473-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193940903-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193943353-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193945773-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193948183-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193950633-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193953253-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193955673-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193958193-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193960623-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193963043-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193965483-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193967903-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193970393-05:00 last_exc = exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193977133-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193983393-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193986063-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193988533-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193991013-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193993463-05:00 ) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193996523-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.193998893-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194001323-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194004443-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194006913-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194009333-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194011783-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194014193-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194016633-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194019033-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194021473-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194023943-05:00 > yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194026333-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194028773-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194031723-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194034163-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194036603-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194039003-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194041503-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194044033-05:00 raise exc from None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194046513-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194048963-05:00 response = connection.handle_request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194051423-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194053863-05:00 raise exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194056273-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194058713-05:00 stream = self._connect(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194061123-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194063583-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194065963-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194068363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194070773-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194073163-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194075553-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194077953-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194080393-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194082883-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194089582-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194092122-05:00 map = {: , : } [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194094482-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194096862-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194099312-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194101812-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194104252-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194106732-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194109172-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194111632-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194114022-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194116432-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194118772-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194121202-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194123552-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194125962-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194128312-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194130732-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194133132-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194135552-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194137892-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194140312-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194142742-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194145412-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194147872-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194150302-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194152712-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194155132-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194157532-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194160012-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194162442-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194164912-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194167352-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194169792-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194172222-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194174632-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194177032-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194179432-05:00 integrations/base.py:135: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194181952-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194184522-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194188552-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194191042-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194193552-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194195982-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194198402-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194200812-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194206292-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194212882-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194215472-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194217932-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194220372-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194222802-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194225242-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194227762-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194230232-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194232692-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194235222-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194237682-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194240022-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194242512-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194244972-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194247412-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194249872-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194252382-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194254812-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194257212-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194259652-05:00 except Exception as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194262072-05:00 mapped_exc = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194264482-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194266932-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194269432-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194271902-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194274412-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194276902-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194279362-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194281782-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194284222-05:00 mapped_exc = to_exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194286672-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194289122-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194291551-05:00 raise [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194293981-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194296421-05:00 message = str(exc) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194298881-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194301301-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194303661-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194306101-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194308491-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194310891-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194313221-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194315621-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194318051-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194320481-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194322861-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194325361-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194332011-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194334371-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194336781-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194351981-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194354491-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194356901-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194359311-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194361711-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194364241-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194366671-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194369081-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194371411-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194373831-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194376281-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194378741-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194381101-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194383571-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194386061-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194388511-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194390931-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194393471-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194395931-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194398341-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194400801-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194403281-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194405701-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194408111-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194410541-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194412961-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194415391-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194417891-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194420321-05:00 last_exc = exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194422761-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194425161-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194427581-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194430001-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194432481-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194436441-05:00 ) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194439011-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194441371-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194443821-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194446231-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194448591-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194451001-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194456761-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194459271-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194466411-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194469081-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194471571-05:00 E assert False [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194474221-05:00 E + where False = .reachable [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194476641-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194479061-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194481551-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194483901-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194486391-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194488860-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194491290-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194493710-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194496290-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194498770-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194501190-05:00 > yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194503530-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194506030-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194508530-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194511010-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194513440-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194515860-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194518300-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194520720-05:00 raise exc from None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194523190-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194525640-05:00 response = connection.handle_request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194528140-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194530590-05:00 raise exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194533020-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194535450-05:00 stream = self._connect(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194537870-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194540280-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194542710-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194545130-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194547580-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194550070-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194552490-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194554900-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194557340-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194559810-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194562150-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194564670-05:00 map = {: , : } [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194570890-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194573350-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194575810-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194578270-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194580720-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194583190-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194585610-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194588020-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194590480-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194592970-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194595340-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194598490-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194600870-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194603300-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194605660-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194608100-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194610640-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194613100-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194615440-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194617850-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194620290-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194622740-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194625250-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194627680-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194630190-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194632630-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194635050-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194637470-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194639910-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194642400-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194644870-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194647330-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194649800-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194652250-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194654610-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194657000-05:00 integrations/base.py:135: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194659520-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194662040-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194664490-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194666930-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194669400-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194671830-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194674240-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194676660-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194681920-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194684509-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194686949-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194689449-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194695859-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194698329-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194700829-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194703249-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194705659-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194708059-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194710469-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194713029-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194715379-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194717819-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194720329-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194722829-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194725259-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194727669-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194730109-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194732559-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194735009-05:00 except Exception as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194737479-05:00 mapped_exc = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194739909-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194742329-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194744759-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194747189-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194749599-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194752049-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194754479-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194756899-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194759319-05:00 mapped_exc = to_exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194761789-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194764209-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194766639-05:00 raise [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194769069-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194771529-05:00 message = str(exc) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194773969-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194776599-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194778909-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194781329-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194783689-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194786069-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194788399-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194790879-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194793309-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194795709-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194798119-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194800449-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194802849-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194805269-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194807699-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194814369-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194816829-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194819229-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194821659-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194824079-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194826479-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194828879-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194831269-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194833749-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194836089-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194838499-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194840929-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194843349-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194845669-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194848059-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194850569-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194853059-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194855479-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194857919-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194860389-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194862839-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194865259-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194867669-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194870089-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194872569-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194874999-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194877699-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194880108-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194882548-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194885028-05:00 last_exc = exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194887438-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194889858-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194892298-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194894708-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194897138-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194899558-05:00 ) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194902058-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194904428-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194906838-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194909268-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194911668-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194914058-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194919088-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194921598-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194924048-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194926698-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194934558-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194937118-05:00 > yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194939468-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194941858-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194944288-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194946718-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194949188-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194951628-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194954058-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194956538-05:00 raise exc from None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194959008-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194961458-05:00 response = connection.handle_request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194966018-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194968498-05:00 raise exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194970968-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194973538-05:00 stream = self._connect(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194976038-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194979108-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194981568-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194983988-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194986898-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194989338-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194991738-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194994138-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194996598-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.194999128-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195001478-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195003958-05:00 map = {: , : } [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195006308-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195008748-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195011188-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195013648-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195016078-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195018568-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195021008-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195023408-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195025798-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195028218-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195030568-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195032978-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195035318-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195037738-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195040128-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195042498-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195053218-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195055668-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195057998-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195060378-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195062808-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195065248-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195067688-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195070128-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195072548-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195075017-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195077417-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195079857-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195082287-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195084847-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195087347-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195089827-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195092297-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195094707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195097047-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195099467-05:00 integrations/base.py:135: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195101947-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195104457-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195106917-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195109337-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195111717-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195114157-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195116597-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195119027-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195121527-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195124007-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195126437-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195128947-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195131367-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195133797-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195136267-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195138707-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195141217-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195146257-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195148747-05:00 self.gen.throw(value) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195151437-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195153807-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195156207-05:00 @contextlib.contextmanager [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195158647-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195161077-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195163607-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195169897-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195172357-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195174787-05:00 yield [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195177297-05:00 except Exception as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195179707-05:00 mapped_exc = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195182127-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195184597-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195187067-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195189507-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195191957-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195194437-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195196857-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195199387-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195201827-05:00 mapped_exc = to_exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195204317-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195206757-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195209177-05:00 raise [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195211597-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195214037-05:00 message = str(exc) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195216467-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195218887-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195221207-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195223647-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195226927-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195229327-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195231637-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195234077-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195236587-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195238977-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195241397-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195243737-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195246177-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195248587-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195250987-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195253397-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195255857-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195258297-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195260757-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195263177-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195265627-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195268037-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195270476-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195272916-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195275246-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195277666-05:00 self = [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195280206-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195286546-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195288956-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195291386-05:00 def _request( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195293836-05:00 self, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195296266-05:00 method: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195298866-05:00 path: str, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195301296-05:00 *, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195303716-05:00 retry: bool = True, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195306136-05:00 **kwargs: Any, [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195308656-05:00 ) -> httpx.Response: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195311706-05:00 client = self._ensure_client() [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195314196-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195316836-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195319256-05:00 for attempt in range(attempts): [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195322336-05:00 try: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195324856-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195327996-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195330476-05:00 last_exc = exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195332896-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195335316-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195343326-05:00 continue [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195347526-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195350076-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195352506-05:00 ) from exc [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195355006-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195357406-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195359766-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195362226-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195364666-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195367006-05:00 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195369406-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195371906-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195374376-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195376816-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195379236-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195395206-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195406686-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195410256-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195422056-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195427396-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195439176-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195441856-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195445286-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195447726-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195450166-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195452626-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195455106-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195457686-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195460126-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195462546-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195465045-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195467445-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195469855-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195472285-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195474835-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195477325-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195480135-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195482645-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195485155-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195487695-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195490775-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195493275-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195495725-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195498165-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195500705-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195503125-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195505565-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195512635-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195515085-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195517495-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195519885-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195522345-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195524775-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195527275-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195529715-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195535375-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195538055-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195540445-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195543035-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195546445-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195549415-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195552185-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195554665-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195558535-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195561615-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195564155-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195567075-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195569795-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195572755-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195575825-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195646395-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195653795-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195658334-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195662374-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195675094-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195678004-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195680674-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195683214-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195685664-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195688174-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195690604-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195692994-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195695494-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195697894-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195700294-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195702724-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195705144-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195707544-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195709984-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195712514-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195715054-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195717474-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195720014-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195723094-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195735074-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195737764-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195740194-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195742624-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195745024-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195747424-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195749814-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195752194-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195755144-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195762874-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195765524-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195768024-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-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195770484-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.02s =================== [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195773344-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.195775844-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-8qmkp-contract-pod/step-run-contract] 2026-07-22T22:17:33.198680709-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above [pod/app-contract-nightly-8qmkp-contract-pod/prepare] 2026-07-22T22:17:03.210237912-05:00 2026/07/23 03:17:03 Entrypoint initialization