===== app-contract-nightly-kphqg-archive-logs-pod.log ===== [pod/app-contract-nightly-kphqg-archive-logs-pod/prepare] 2026-07-28T22:17:37.381114137-05:00 2026/07/29 03:17:37 Entrypoint initialization [pod/app-contract-nightly-kphqg-archive-logs-pod/place-scripts] 2026-07-28T22:17:38.633443991-05:00 2026/07/29 03:17:38 Decoded script /tekton/scripts/script-0-4nkqm [pod/app-contract-nightly-kphqg-archive-logs-pod/place-scripts] 2026-07-28T22:17:38.649263005-05:00 2026/07/29 03:17:38 Decoded script /tekton/scripts/script-1-fcrzk [pod/app-contract-nightly-kphqg-archive-logs-pod/step-collect-logs] 2026-07-28T22:17:43.239548373-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-kphqg ===== app-contract-nightly-kphqg-contract-pod.log ===== [pod/app-contract-nightly-kphqg-contract-pod/prepare] 2026-07-28T22:17:04.528603920-05:00 2026/07/29 03:17:04 Entrypoint initialization [pod/app-contract-nightly-kphqg-contract-pod/place-scripts] 2026-07-28T22:17:05.426599053-05:00 2026/07/29 03:17:05 Decoded script /tekton/scripts/script-0-bg5dg [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:08.951950627-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:09.090016273-05:00 job.batch/app-contract-20260729-031708 created [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:34.862802440-05:00 ----- contract Job logs (app-contract-20260729-031708) ----- [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166362842-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166385802-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166390652-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166394482-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166398912-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166402712-05:00 rootdir: /app [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166406332-05:00 configfile: pytest.ini [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166410272-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166413782-05:00 collected 31 items [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166417192-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166420802-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166424382-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166427852-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166431302-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166434782-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166438232-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166441592-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166455012-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166458672-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166462372-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166466182-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166469662-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166473122-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166476592-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166480052-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166483602-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166487122-05:00 > yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166490492-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166493982-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166497511-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166501551-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166505091-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166508561-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166512131-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166515691-05:00 raise exc from None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166519281-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166522781-05:00 response = connection.handle_request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166526551-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166530031-05:00 raise exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166548391-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166551921-05:00 stream = self._connect(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166554371-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166556911-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166559291-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166561721-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166564161-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166566611-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166569061-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166571481-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166573861-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166576301-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166578571-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166581661-05:00 map = {: , : } [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166584741-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166587251-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166592161-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166594581-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166596961-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166599381-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166601771-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166604151-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166606521-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166608981-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166611281-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166613661-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166615961-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166618371-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166620671-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166623021-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166625381-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166627921-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166630221-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166632551-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166634931-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166637881-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166640361-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166642741-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166645111-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166647541-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166649961-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166652331-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166654731-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166657141-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166660621-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166663031-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166665431-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166667871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166674951-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166677431-05:00 integrations/base.py:135: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166686031-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166688611-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166691001-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166693331-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166695691-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166698061-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166700551-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166702911-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166705481-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166707941-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166710341-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166712751-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166715201-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166717621-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166720061-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166722501-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166725001-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166728311-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166730791-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166733231-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166735521-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166737961-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166740340-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166742770-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166745250-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166747600-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166750060-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166752440-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166754900-05:00 except Exception as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166757300-05:00 mapped_exc = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166759670-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166762100-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166764550-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166766960-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166769360-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166772140-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166774520-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166776970-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166779350-05:00 mapped_exc = to_exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166781740-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166784150-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166790960-05:00 raise [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166793360-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166795750-05:00 message = str(exc) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166798120-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166800510-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166802830-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166805280-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166807620-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166809990-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166812300-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166816000-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166818990-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166821420-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166823800-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166826320-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166828730-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166831040-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166833370-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166835750-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166838130-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166840480-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166851390-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166853770-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166856360-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166858720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166861090-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166863350-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166866300-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166868770-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166871220-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166873510-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166875890-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166878280-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166880660-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166883020-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166885390-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166887770-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166890100-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166892460-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166894830-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166897210-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166899580-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166901970-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166904430-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166906880-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166909240-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166911610-05:00 last_exc = exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166914020-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166952800-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166955530-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166957920-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166961360-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166963850-05:00 ) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166967340-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166969670-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166972070-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166974870-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166977149-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166979529-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166981899-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166984759-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166987119-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166989549-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166991939-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166994599-05:00 > yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166996849-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.166999329-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167001799-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167004209-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167007099-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167009619-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167012089-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167014679-05:00 raise exc from None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167017119-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167019529-05:00 response = connection.handle_request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167021929-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167024389-05:00 raise exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167026879-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167029359-05:00 stream = self._connect(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167031719-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167034239-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167036599-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167039019-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167041489-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167044069-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167046419-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167048869-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167051259-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167053839-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167056109-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167058549-05:00 map = {: , : } [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167064969-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167067459-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167069969-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167072449-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167074859-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167077279-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167079629-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167082009-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167084329-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167086719-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167088969-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167092379-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167094709-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167097129-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167099439-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167101869-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167104309-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167106779-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167109029-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167111469-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167113869-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167116319-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167118699-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167121059-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167123459-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167125869-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167128859-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167131339-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167133719-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167136099-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167138619-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167140989-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167143429-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167145819-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167148179-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167150559-05:00 integrations/base.py:135: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167153009-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167155449-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167158229-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167160669-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167163019-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167165519-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167168459-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167170929-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167176069-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167178499-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167185379-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167187809-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167190159-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167193169-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167195619-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167198049-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167200449-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167202779-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167205209-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167207639-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167209898-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167212238-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167214698-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167217038-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167219408-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167221828-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167224248-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167226688-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167229108-05:00 except Exception as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167231448-05:00 mapped_exc = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167233968-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167236348-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167238708-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167241138-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167243638-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167246088-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167248528-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167250928-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167253308-05:00 mapped_exc = to_exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167255678-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167258138-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167260568-05:00 raise [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167262948-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167265298-05:00 message = str(exc) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167267758-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167270148-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167272438-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167274848-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167277138-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167279538-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167281818-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167284228-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167286588-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167288978-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167291418-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167294648-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167300998-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167305178-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167307598-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167310148-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167314828-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167317218-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167319698-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167322038-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167324868-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167327308-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167329738-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167332018-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167334368-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167337458-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167339858-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167342128-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167345288-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167347668-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167350038-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167353018-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167355398-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167357748-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167360818-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167363168-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167365528-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167367908-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167370268-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167372718-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167375078-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167377438-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167380328-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167382698-05:00 last_exc = exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167385118-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167387458-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167389798-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167392148-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167394578-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167396988-05:00 ) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167399478-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167401768-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167404118-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167406498-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167408778-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167411138-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167415918-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167418428-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167424608-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167427128-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167429508-05:00 E assert False [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167431898-05:00 E + where False = .reachable [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167434148-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167436528-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167438988-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167441277-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167443607-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167445967-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167448337-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167450697-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167453027-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167455377-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167457737-05:00 > yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167460037-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167462417-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167464757-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167467167-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167469527-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167471887-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167474317-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167476697-05:00 raise exc from None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167479117-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167481487-05:00 response = connection.handle_request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167483837-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167486297-05:00 raise exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167488647-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167491097-05:00 stream = self._connect(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167493487-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167495847-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167498237-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167500607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167502957-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167505327-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167507767-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167510137-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167512497-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167514927-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167517227-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167519637-05:00 map = {: , : } [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167521927-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167528127-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167530567-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167532937-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167535317-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167537667-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167540107-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167542457-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167544817-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167547227-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167549507-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167551847-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167554117-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167556477-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167558797-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167561687-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167564087-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167566487-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167568747-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167571077-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167573477-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167575847-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167578237-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167580607-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167582957-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167585287-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167587617-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167589967-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167592347-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167594717-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167597117-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167599487-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167601827-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167604157-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167606447-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167608777-05:00 integrations/base.py:135: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167611137-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167613567-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167616047-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167618397-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167620757-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167623127-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167625477-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167627847-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167632687-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167635147-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167637517-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167639857-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167645987-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167648397-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167650727-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167653127-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167655497-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167657867-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167660257-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167662607-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167664907-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167669267-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167671647-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167674706-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167677066-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167679496-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167681856-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167684256-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167686636-05:00 except Exception as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167689026-05:00 mapped_exc = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167691416-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167693776-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167696166-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167698566-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167700936-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167703306-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167705816-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167708236-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167710596-05:00 mapped_exc = to_exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167712966-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167715356-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167717746-05:00 raise [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167720146-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167722576-05:00 message = str(exc) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167724936-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167727306-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167729646-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167732006-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167734296-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167736716-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167738996-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167741336-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167743716-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167746056-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167748406-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167750666-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167753006-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167755516-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167757886-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167764096-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167766526-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167768876-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167771206-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167773536-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167775916-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167778336-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167780656-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167784076-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167786376-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167788766-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167791146-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167793556-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167795866-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167798226-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167800616-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167803026-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167805386-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167807756-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167810116-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167812456-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167814826-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167817256-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167819646-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167822016-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167824376-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167826766-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167829186-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167831536-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167833906-05:00 last_exc = exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167836336-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167838676-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167863806-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167868246-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167870856-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167873396-05:00 ) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167875926-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167878236-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167880626-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167883006-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167885366-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167887746-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167893176-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167895626-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167898026-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167900496-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167907425-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167909845-05:00 > yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167912125-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167914585-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167916965-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167919385-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167921775-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167924195-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167926655-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167929065-05:00 raise exc from None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167931455-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167933845-05:00 response = connection.handle_request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167936215-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167938625-05:00 raise exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167941035-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167943435-05:00 stream = self._connect(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167945825-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167948215-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167950605-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167952995-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167955375-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167957805-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167960195-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167962615-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167965005-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167967415-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167969715-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167972075-05:00 map = {: , : } [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167974405-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167976795-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167979185-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167981685-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167984085-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167986495-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167988875-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167991245-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167993725-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167996115-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.167998435-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168000855-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168003165-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168005505-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168007815-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168010185-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168016505-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168018945-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168021245-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168023655-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168026065-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168028465-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168030865-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168033255-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168035665-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168038045-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168040405-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168042815-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168045215-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168048185-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168050605-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168053005-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168055385-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168057835-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168060135-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168062515-05:00 integrations/base.py:135: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168064915-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168067315-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168069695-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168072135-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168074545-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168076945-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168079315-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168081765-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168084225-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168086685-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168089205-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168091895-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168094325-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168096865-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168099315-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168101805-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168104185-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168109085-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168111585-05:00 self.gen.throw(value) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168114035-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168116345-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168118795-05:00 @contextlib.contextmanager [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168121245-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168123665-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168126085-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168132915-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168135375-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168139445-05:00 yield [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168141875-05:00 except Exception as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168144285-05:00 mapped_exc = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168146705-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168149095-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168151474-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168153874-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168156334-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168158804-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168161194-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168163574-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168166004-05:00 mapped_exc = to_exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168168474-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168170884-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168173254-05:00 raise [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168175664-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168178074-05:00 message = str(exc) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168180464-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168182854-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168185174-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168187574-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168189874-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168192304-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168194594-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168196974-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168199374-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168201764-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168204184-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168206474-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168208904-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168211294-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168213684-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168216074-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168218514-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168221024-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168223484-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168225874-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168228244-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168230704-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168233074-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168235444-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168237744-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168240654-05:00 self = [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168243124-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168251674-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168254004-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168256354-05:00 def _request( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168258734-05:00 self, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168261454-05:00 method: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168263814-05:00 path: str, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168266164-05:00 *, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168269264-05:00 retry: bool = True, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168271634-05:00 **kwargs: Any, [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168274054-05:00 ) -> httpx.Response: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168276474-05:00 client = self._ensure_client() [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168278934-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168281324-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168283704-05:00 for attempt in range(attempts): [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168286114-05:00 try: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168288564-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168290944-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168293344-05:00 last_exc = exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168295754-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168298134-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168300524-05:00 continue [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168302904-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168305314-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168307764-05:00 ) from exc [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168310234-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168312534-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168314884-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168317934-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168320384-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168322694-05:00 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168325804-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168328254-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168330714-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168333094-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168335464-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168350114-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168361184-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168364704-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168375374-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168379064-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168389344-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168392004-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168394753-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168397163-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168399583-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168402233-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168404713-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168407173-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168409643-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168412173-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168414613-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168417193-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168419663-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168422173-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168425163-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168427613-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168431303-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168433873-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168436843-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168439293-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168442693-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168445233-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168447683-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168450483-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168452893-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168455433-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168458883-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168465763-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168468233-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168470783-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168473203-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168475933-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168478353-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168480863-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168483663-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168489153-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168491713-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168494233-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168497753-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168500223-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168503373-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168505823-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168508963-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168511393-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168514333-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168516843-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168519353-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168521793-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168524673-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168527123-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168529593-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168532113-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168534713-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168537203-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168543933-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168546463-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168548953-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168551363-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168554153-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168556583-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168559103-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168561613-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168564093-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168566563-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168569583-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168572133-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168574593-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168577203-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168579713-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168582133-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168584983-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168587513-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168590043-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168592783-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168600563-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168603233-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168605793-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168608393-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168610923-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168613393-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168616823-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168620103-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168622873-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168630223-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168632823-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168635293-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-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168637742-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.60s =================== [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168640422-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.168643002-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-kphqg-contract-pod/step-run-contract] 2026-07-28T22:17:35.170775034-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above