===== app-contract-nightly-staging-5kdpn-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-5kdpn-archive-logs-pod/place-scripts] 2026-07-28T21:47:40.013088141-05:00 2026/07/29 02:47:40 Decoded script /tekton/scripts/script-0-6r57b [pod/app-contract-nightly-staging-5kdpn-archive-logs-pod/place-scripts] 2026-07-28T21:47:40.029507091-05:00 2026/07/29 02:47:40 Decoded script /tekton/scripts/script-1-xs6l4 [pod/app-contract-nightly-staging-5kdpn-archive-logs-pod/step-collect-logs] 2026-07-28T21:47:54.108434956-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-5kdpn [pod/app-contract-nightly-staging-5kdpn-archive-logs-pod/prepare] 2026-07-28T21:47:39.433920767-05:00 2026/07/29 02:47:39 Entrypoint initialization ===== app-contract-nightly-staging-5kdpn-contract-pod.log ===== [pod/app-contract-nightly-staging-5kdpn-contract-pod/prepare] 2026-07-28T21:47:05.745075996-05:00 2026/07/29 02:47:05 Entrypoint initialization [pod/app-contract-nightly-staging-5kdpn-contract-pod/place-scripts] 2026-07-28T21:47:06.633942685-05:00 2026/07/29 02:47:06 Decoded script /tekton/scripts/script-0-fps98 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:10.966276818-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:11.080636773-05:00 job.batch/app-contract-20260729-024710 created [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.062894537-05:00 ----- contract Job logs (app-contract-20260729-024710) ----- [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263359054-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263387604-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263393213-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263397803-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263402843-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263407593-05:00 rootdir: /app [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263414413-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263420743-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263425823-05:00 collected 31 items [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263429923-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263434563-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263439473-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263444113-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263448253-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263453103-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263457933-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263462133-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263466683-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263471603-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263476413-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263482143-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263487763-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263492283-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263497223-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263501873-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263506873-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263511543-05:00 > yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263515513-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263525783-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263530593-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263537383-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263542783-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263547773-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263552973-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263558113-05:00 raise exc from None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263563733-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263569353-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263574583-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263580193-05:00 raise exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263617383-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263620593-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263624192-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263628212-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263631602-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263634932-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263638142-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263641472-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263644692-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263648222-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263651222-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263654272-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263656972-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263660482-05:00 map = {: , : } [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263664872-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263669002-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263672102-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263675092-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263678122-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263681312-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263683962-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263687712-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263691092-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263697612-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263700472-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263704152-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263707342-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263710812-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263714342-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263717732-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263721012-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263724552-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263728222-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263731392-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263734932-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263738202-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263741202-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263744532-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263748182-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263751372-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263754902-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263758182-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263761232-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263764542-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263768112-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263771112-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263774642-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263778142-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263790332-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263793392-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263807672-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263811732-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263815492-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263818192-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263820952-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263824432-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263827462-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263830102-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263833152-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263836502-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263839662-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263853662-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263856621-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263860391-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263863281-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263866171-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263869281-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263872181-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263874921-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263878091-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263881261-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263883791-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263887221-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263890251-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263893111-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263895801-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263898861-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263902041-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263904841-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263908021-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263911021-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263913971-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263916801-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263920251-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263923021-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263926011-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263928921-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263931731-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263934471-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263937171-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263940051-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263949431-05:00 raise [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263955021-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263958041-05:00 message = str(exc) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263961151-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263963951-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263966481-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263969581-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.263972211-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264053231-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264060631-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264065411-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264069631-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264073741-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264081531-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264085811-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264102630-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264106510-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264110680-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264114770-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264118710-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264123410-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264127230-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264131320-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264135140-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264139310-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264143540-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264147300-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264151740-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264155900-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264161170-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264164970-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264168860-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264173100-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264177000-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264180840-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264184970-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264188780-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264192690-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264196910-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264200760-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264204750-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264208800-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264212680-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264216870-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264220690-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264224550-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264228660-05:00 last_exc = exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264232600-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264260360-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264263490-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264266450-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264269590-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264272420-05:00 ) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264275880-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264278730-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264281720-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264284570-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264287090-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264290460-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264293510-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264296150-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264298940-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264301540-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264304370-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264307100-05:00 > yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264309610-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264312320-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264315290-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264318599-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264321319-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264324009-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264326969-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264329849-05:00 raise exc from None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264332829-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264335589-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264338619-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264341289-05:00 raise exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264344049-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264346989-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264349649-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264352589-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264355949-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264358589-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264361489-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264364139-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264366719-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264369399-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264372149-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264374319-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264376339-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264378939-05:00 map = {: , : } [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264386679-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264388779-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264391359-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264393539-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264395609-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264397899-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264400109-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264402449-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264404889-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264407139-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264409149-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264411679-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264413649-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264415959-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264417959-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264420539-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264422789-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264424849-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264426819-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264428849-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264431279-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264433319-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264435479-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264437809-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264439879-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264442089-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264444129-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264446379-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264448899-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264450969-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264453359-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264455639-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264457699-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264460039-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264462329-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264464369-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264466739-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264469189-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264471389-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264473699-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264475829-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264478039-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264480939-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264483089-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264490499-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264492829-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264501919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264504829-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264506899-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264508949-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264511719-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264513789-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264516029-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264518549-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264520919-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264524049-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264526049-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264528099-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264530429-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264532749-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264535179-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264537259-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264539669-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264541859-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264544009-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264546099-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264548439-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264550698-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264552798-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264555238-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264557518-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264559728-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264562698-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264565038-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264567138-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264569388-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264578038-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264580198-05:00 raise [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264582568-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264584698-05:00 message = str(exc) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264587238-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264589598-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264591588-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264593758-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264595808-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264598578-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264600608-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264602668-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264604738-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264607378-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264609828-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264612108-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264620818-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264622878-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264625368-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264628238-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264630438-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264632648-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264634808-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264636968-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264639168-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264641228-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264644408-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264646408-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264648558-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264650918-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264653078-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264655098-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264657148-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264659388-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264663268-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264665398-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264667858-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264670008-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264672058-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264674238-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264676338-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264679038-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264681138-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264683378-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264685968-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264688458-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264690618-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264694858-05:00 last_exc = exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264697768-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264700188-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264702538-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264704688-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264706828-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264708968-05:00 ) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264712178-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264714208-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264716358-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264718498-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264720528-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264722638-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264727328-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264729708-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264744448-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264746688-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264748778-05:00 E assert False [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264751208-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264753218-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264755668-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264757888-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264759888-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264762188-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264764358-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264766448-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264768898-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264771108-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264773288-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264775368-05:00 > yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264777378-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264779538-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264781698-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264784197-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264786407-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264788607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264790767-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264792987-05:00 raise exc from None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264795127-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264797367-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264799527-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264801607-05:00 raise exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264803907-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264805977-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264808437-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264811017-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264813427-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264815947-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264818227-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264820527-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264822777-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264825187-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264827457-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264830337-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264832397-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264834627-05:00 map = {: , : } [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264836597-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264859787-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264864247-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264866367-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264868797-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264870917-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264873077-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264875157-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264877277-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264879717-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264881737-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264883937-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264885937-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264888087-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264890637-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264893557-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264895987-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264898297-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264900327-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264902477-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264904577-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264906917-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264909597-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264911647-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264913777-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264915917-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264918667-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264920747-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264923007-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264925297-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264927657-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264929847-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264932327-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264934957-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264936957-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264939127-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264942047-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264944207-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264946427-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264949367-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264951527-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264953687-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264955897-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264957967-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264963537-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264965907-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264968027-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264970207-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264976607-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264978857-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264980997-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264983147-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264985377-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264987497-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264989587-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264991957-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264993937-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264996017-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.264998197-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265000277-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265002397-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265004807-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265006887-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265009077-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265011407-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265013886-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265015986-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265018306-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265020856-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265022926-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265025166-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265027896-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265030226-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265032646-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265034926-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265037636-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265040296-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265042356-05:00 raise [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265044456-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265046736-05:00 message = str(exc) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265049216-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265051506-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265053486-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265055596-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265057646-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265060376-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265062376-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265064716-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265066776-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265069216-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265071416-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265073416-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265075516-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265077726-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265079866-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265085936-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265090636-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265092796-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265094926-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265097136-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265099246-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265101376-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265103586-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265105716-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265107706-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265109846-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265111996-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265114086-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265116106-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265118236-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265120336-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265122526-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265125336-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265127426-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265129886-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265132286-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265134326-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265136596-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265139036-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265142006-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265144136-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265146226-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265148366-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265150496-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265152706-05:00 last_exc = exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265155656-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265157946-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265160116-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265162176-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265164436-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265166676-05:00 ) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265168856-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265170856-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265172976-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265175146-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265177136-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265179256-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265183896-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265186026-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265188276-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265191186-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265200176-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265203456-05:00 > yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265206406-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265209416-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265213006-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265216516-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265219626-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265222626-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265226036-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265229036-05:00 raise exc from None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265232026-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265234236-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265237906-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265240436-05:00 raise exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265242696-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265244856-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265247105-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265249325-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265251455-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265253685-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265255965-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265258205-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265260295-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265262415-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265264585-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265266805-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265268805-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265270985-05:00 map = {: , : } [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265273445-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265276205-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265278495-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265280795-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265282875-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265284965-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265287195-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265289335-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265291435-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265293935-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265295945-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265298275-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265300515-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265303055-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265305275-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265307565-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265315785-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265318115-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265320145-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265322195-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265324265-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265326415-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265328475-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265330675-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265332735-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265334885-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265337045-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265339135-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265342065-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265344255-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265346385-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265348675-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265350805-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265352935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265354935-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265357105-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265359305-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265361455-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265364195-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265366385-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265368715-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265370835-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265373585-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265375825-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265377975-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265380295-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265382605-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265384785-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265386955-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265389095-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265391225-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265393415-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265395705-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265401065-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265403545-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265405725-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265407725-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265409855-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265412125-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265414205-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265416325-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265422105-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265424235-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265426385-05:00 yield [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265428635-05:00 except Exception as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265431475-05:00 mapped_exc = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265433585-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265435805-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265437965-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265440385-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265442565-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265444735-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265447035-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265449265-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265451385-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265453605-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265456005-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265458095-05:00 raise [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265460565-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265462885-05:00 message = str(exc) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265464945-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265467135-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265469125-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265471245-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265473255-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265475355-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265477384-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265479544-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265481684-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265483804-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265486704-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265488694-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265490774-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265492994-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265495164-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265498974-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265501424-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265503654-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265506024-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265508244-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265510464-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265512744-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265514824-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265517014-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265519004-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265521744-05:00 self = [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265523924-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265530634-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265532654-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265534824-05:00 def _request( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265536934-05:00 self, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265539104-05:00 method: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265541214-05:00 path: str, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265543284-05:00 *, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265545444-05:00 retry: bool = True, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265547624-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265549714-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265551844-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265554024-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265556954-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265559104-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265561194-05:00 try: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265563964-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265566104-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265568204-05:00 last_exc = exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265570364-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265572524-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265574744-05:00 continue [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265576864-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265578984-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265581164-05:00 ) from exc [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265583344-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265585354-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265587564-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265589814-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265592694-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265594694-05:00 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265596804-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265598994-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265601174-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265603594-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265605714-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265620824-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265624464-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265626664-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265630374-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265633574-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265640024-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265642374-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265644634-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265646834-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265649004-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265651224-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265653804-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265656244-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265658374-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265660584-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265662844-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265664974-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265667434-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265669964-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265672084-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265674824-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265676974-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265681814-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265684074-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265687264-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265689414-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265691804-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265693984-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265696124-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265698264-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265700584-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265702844-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265708464-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265710653-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265712763-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265715123-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265717263-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265719393-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265722223-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265724533-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265729303-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265732223-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265734393-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265737093-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265739253-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265741613-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265743933-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265746123-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265748253-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265750453-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265752643-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265755563-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265757713-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265759853-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265762793-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265764903-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265767043-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265769423-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265775593-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265777783-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265780003-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265782193-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265784553-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265786763-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265788873-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265791173-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265793893-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265796033-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265798213-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265800413-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265802533-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265804763-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265806943-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265809693-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265811803-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265813913-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265816073-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265818283-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265820403-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265826763-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265828983-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265831183-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265833333-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265835503-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265837653-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265839793-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265847013-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265851033-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265858723-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-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265860983-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.55s =================== [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265863063-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.265865183-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-5kdpn-contract-pod/step-run-contract] 2026-07-28T21:47:37.335548116-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above