===== app-contract-nightly-ql7vf-archive-logs-pod.log ===== [pod/app-contract-nightly-ql7vf-archive-logs-pod/prepare] 2026-08-11T22:17:37.126697176-05:00 2026/08/12 03:17:37 Entrypoint initialization [pod/app-contract-nightly-ql7vf-archive-logs-pod/place-scripts] 2026-08-11T22:17:38.059747866-05:00 2026/08/12 03:17:38 Decoded script /tekton/scripts/script-0-9jc28 [pod/app-contract-nightly-ql7vf-archive-logs-pod/place-scripts] 2026-08-11T22:17:38.081962294-05:00 2026/08/12 03:17:38 Decoded script /tekton/scripts/script-1-w5tgq [pod/app-contract-nightly-ql7vf-archive-logs-pod/step-collect-logs] 2026-08-11T22:17:48.500880227-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-ql7vf ===== app-contract-nightly-ql7vf-contract-pod.log ===== [pod/app-contract-nightly-ql7vf-contract-pod/prepare] 2026-08-11T22:17:05.120291303-05:00 2026/08/12 03:17:05 Entrypoint initialization [pod/app-contract-nightly-ql7vf-contract-pod/place-scripts] 2026-08-11T22:17:06.526003738-05:00 2026/08/12 03:17:06 Decoded script /tekton/scripts/script-0-vkqhj [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:08.969720624-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:09.090012063-05:00 job.batch/app-contract-20260812-031708 created [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.069503491-05:00 ----- contract Job logs (app-contract-20260812-031708) ----- [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206263915-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206286635-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206292695-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206297775-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206302075-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206306705-05:00 rootdir: /app [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206311395-05:00 configfile: pytest.ini [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206316015-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206320235-05:00 collected 31 items [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206324365-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206328955-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206333415-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206337665-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206341855-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206346015-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206350155-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206354225-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206358505-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206362685-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206368994-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206373934-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206378294-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206382564-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206386764-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206391464-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206395664-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206399904-05:00 > yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206403934-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206408114-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206412424-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206417024-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206421194-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206425364-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206429754-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206433954-05:00 raise exc from None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206438214-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206442394-05:00 response = connection.handle_request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206446654-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206451684-05:00 raise exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206468024-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206471174-05:00 stream = self._connect(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206474014-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206476864-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206479834-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206482704-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206485674-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206488594-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206491494-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206494304-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206497154-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206500004-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206502784-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206506544-05:00 map = {: , : } [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206510304-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206513224-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206516124-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206519094-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206521914-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206524964-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206527844-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206530734-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206533714-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206545244-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206549984-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206552884-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206555644-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206558514-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206561254-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206564174-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206567084-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206569974-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206572724-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206575574-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206578514-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206581364-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206584174-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206587014-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206589904-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206592704-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206595574-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206598554-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206601394-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206604244-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206607064-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206609984-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206612923-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206615763-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206623383-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206626313-05:00 integrations/base.py:135: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206638143-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206641553-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206644653-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206647643-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206650513-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206653403-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206656313-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206659173-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206662053-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206664903-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206667723-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206670583-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206673433-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206676233-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206679063-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206681883-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206684723-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206687533-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206690403-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206693473-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206696213-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206703133-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206706083-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206708943-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206711783-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206714603-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206717473-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206720343-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206723193-05:00 except Exception as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206726523-05:00 mapped_exc = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206729383-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206732313-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206735253-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206738143-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206741023-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206744003-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206746873-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206749683-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206752523-05:00 mapped_exc = to_exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206755363-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206758223-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206765933-05:00 raise [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206768813-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206771703-05:00 message = str(exc) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206774513-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206777333-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206780043-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206784463-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206787283-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206790263-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206792993-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206795863-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206798733-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206801643-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206804503-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206807453-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206810363-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206813103-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206815983-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206818883-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206821733-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206824563-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206827443-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206830333-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206833183-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206836113-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206839013-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206841843-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206844733-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206847603-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206850473-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206853213-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206856022-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206859422-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206862292-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206865212-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206868062-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206870892-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206873702-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206876492-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206879302-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206883762-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206886612-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206889552-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206892392-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206895192-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206898012-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206900852-05:00 last_exc = exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206908372-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206915632-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206918602-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206921882-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206924942-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206927822-05:00 ) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206931672-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206934412-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206937292-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206940362-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206943142-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206945952-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206948842-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206951672-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206954512-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206957322-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206960512-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206963352-05:00 > yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206966082-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206968942-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206973092-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206976052-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206978902-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206981762-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206984632-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206987572-05:00 raise exc from None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206990592-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206993442-05:00 response = connection.handle_request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206996312-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.206999212-05:00 raise exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207002042-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207004882-05:00 stream = self._connect(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207007712-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207010522-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207013392-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207016242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207019062-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207021892-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207024742-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207027782-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207030622-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207033452-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207040732-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207043762-05:00 map = {: , : } [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207046512-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207049332-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207052182-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207055062-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207057882-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207060702-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207063812-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207066702-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207069552-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207072392-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207075152-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207077992-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207080752-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207083652-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207086422-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207089222-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207092062-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207094912-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207097662-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207100461-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207103331-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207106191-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207109161-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207112111-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207114921-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207117751-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207120551-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207123401-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207126251-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207131111-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207134301-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207137221-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207140071-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207142891-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207145631-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207148381-05:00 integrations/base.py:135: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207152161-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207156361-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207160801-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207165141-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207169811-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207173971-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207176891-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207179751-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207187031-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207195431-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207198471-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207201351-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207204421-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207207271-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207210171-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207213881-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207216781-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207219761-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207222631-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207225461-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207228201-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207231031-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207233881-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207236721-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207239541-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207242421-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207245251-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207248121-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207250981-05:00 except Exception as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207253821-05:00 mapped_exc = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207256621-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207259481-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207262351-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207265251-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207268141-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207271041-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207273941-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207276761-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207279591-05:00 mapped_exc = to_exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207282451-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207285331-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207288371-05:00 raise [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207291201-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207294081-05:00 message = str(exc) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207296951-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207299741-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207302491-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207305451-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207308201-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207311041-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207313791-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207316671-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207319551-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207322361-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207325191-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207328121-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207335551-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207338381-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207341190-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207344050-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207346870-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207349670-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207352450-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207355240-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207358030-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207362810-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207366580-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207369310-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207372130-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207374940-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207377780-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207380500-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207383310-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207386250-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207389090-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207391920-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207394760-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207397560-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207400350-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207403150-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207405980-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207408880-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207411740-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207414590-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207417440-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207420270-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207423090-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207425900-05:00 last_exc = exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207428690-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207431510-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207434340-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207437130-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207440030-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207442990-05:00 ) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207445930-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207448660-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207451470-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207454470-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207457230-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207460070-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207466850-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207469760-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207477860-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207481000-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207484000-05:00 E assert False [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207486890-05:00 E + where False = .reachable [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207489610-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207492420-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207495290-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207498070-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207500860-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207503710-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207506610-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207509450-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207512240-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207515160-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207517990-05:00 > yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207520710-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207523490-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207526330-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207529380-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207532250-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207535090-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207551630-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207555790-05:00 raise exc from None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207560040-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207562960-05:00 response = connection.handle_request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207565890-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207568830-05:00 raise exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207571690-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207575690-05:00 stream = self._connect(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207579890-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207584140-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207588439-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207592739-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207596719-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207599679-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207602539-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207605399-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207608249-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207611159-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207613909-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207616859-05:00 map = {: , : } [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207619629-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207630419-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207634769-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207639109-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207643339-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207647869-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207650869-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207653719-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207656569-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207659489-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207662239-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207665149-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207667909-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207670719-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207673479-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207676299-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207679139-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207682059-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207684799-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207687659-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207690539-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207693369-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207696629-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207701029-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207705409-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207709519-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207713729-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207717729-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207721899-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207726339-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207730349-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207734409-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207738379-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207742659-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207746819-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207750859-05:00 integrations/base.py:135: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207755039-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207759209-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207763129-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207767059-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207771029-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207775179-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207779429-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207783179-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207793809-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207798319-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207802539-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207806819-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207817759-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207822099-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207826059-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207829988-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207833968-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207837848-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207841818-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207846148-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207850338-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207854168-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207858588-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207862518-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207866458-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207870388-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207874468-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207878468-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207882428-05:00 except Exception as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207886648-05:00 mapped_exc = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207890508-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207894388-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207898378-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207902298-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207906348-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207910268-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207914418-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207918438-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207922358-05:00 mapped_exc = to_exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207926678-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207933408-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207936438-05:00 raise [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207939328-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207942218-05:00 message = str(exc) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207945308-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207948158-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207950918-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207953818-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207956608-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207959438-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207962178-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207965058-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207967948-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207970818-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207973648-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207976368-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207979198-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207982068-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207984938-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207992728-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.207997478-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208000508-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208003388-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208007318-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208010218-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208013188-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208016108-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208020968-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208025328-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208029828-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208034118-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208038438-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208042428-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208046598-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208050878-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208055408-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208059038-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208061968-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208064878-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208068018-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208070957-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208073987-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208077057-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208079887-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208083057-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208085937-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208089567-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208093827-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208097987-05:00 last_exc = exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208101777-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208104687-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208107527-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208110407-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208113317-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208116147-05:00 ) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208119107-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208121867-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208124747-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208127637-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208130417-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208133307-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208140767-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208143717-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208146837-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208149777-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208157917-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208160817-05:00 > yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208163657-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208166507-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208169377-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208172257-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208175167-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208178017-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208181977-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208184957-05:00 raise exc from None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208187907-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208190787-05:00 response = connection.handle_request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208193657-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208196527-05:00 raise exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208199387-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208202237-05:00 stream = self._connect(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208205067-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208207907-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208210897-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208213757-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208216577-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208219517-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208222417-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208225227-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208228067-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208231387-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208234237-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208237137-05:00 map = {: , : } [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208240517-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208243417-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208246967-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208249837-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208252667-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208255527-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208258407-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208261267-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208264137-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208266997-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208269757-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208272597-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208275357-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208278187-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208280977-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208283777-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208292127-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208295077-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208297807-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208300607-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208303487-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208306367-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208309497-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208313337-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208316236-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208319146-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208321976-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208324806-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208327656-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208330486-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208333426-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208336346-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208339286-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208342616-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208345356-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208348216-05:00 integrations/base.py:135: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208351066-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208354056-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208357576-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208361986-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208364896-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208367806-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208370616-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208373486-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208376336-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208379236-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208382116-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208384986-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208387956-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208391166-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208395116-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208398296-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208401296-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208409276-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208412596-05:00 self.gen.throw(value) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208461436-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208466176-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208470966-05:00 @contextlib.contextmanager [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208475326-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208479896-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208484436-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208495986-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208499046-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208502076-05:00 yield [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208505326-05:00 except Exception as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208508386-05:00 mapped_exc = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208511416-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208514746-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208518746-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208521796-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208524716-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208527556-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208530436-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208533586-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208544396-05:00 mapped_exc = to_exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208550066-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208552966-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208555905-05:00 raise [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208558765-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208561665-05:00 message = str(exc) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208564715-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208567595-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208570335-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208573285-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208576075-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208578975-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208581715-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208584555-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208587395-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208590255-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208593085-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208595825-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208598665-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208601525-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208604415-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208607285-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208610175-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208613025-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208615885-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208618705-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208621585-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208624525-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208627355-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208630245-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208633025-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208635905-05:00 self = [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208638805-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208650405-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208653215-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208656135-05:00 def _request( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208659065-05:00 self, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208661945-05:00 method: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208664785-05:00 path: str, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208667615-05:00 *, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208670435-05:00 retry: bool = True, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208673235-05:00 **kwargs: Any, [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208676035-05:00 ) -> httpx.Response: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208678985-05:00 client = self._ensure_client() [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208681855-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208684705-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208687575-05:00 for attempt in range(attempts): [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208690435-05:00 try: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208693305-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208696195-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208699255-05:00 last_exc = exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208702195-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208705005-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208710765-05:00 continue [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208713615-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208716525-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208719405-05:00 ) from exc [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208722355-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208725165-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208728065-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208730905-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208733785-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208736545-05:00 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208739895-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208742805-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208745695-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208748585-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208751515-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208770035-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208784555-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208794094-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208797754-05:00 fleet/admin.py 292 122 46 0 50% 74-75, 79, 82-85, 99, 103, 106, 140, 146-147, 169, 172, 193, 196, 207, 211, 258-267, 275-281, 286-296, 309-311, 340-344, 348-356, 360-363, 368-385, 390-404, 413-424, 460, 464-467, 471-500, 504-510, 524, 534-549, 584, 588 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208802104-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208813544-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208816044-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208818714-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208821064-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208823434-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208826214-05:00 fleet/deviceconfig.py 180 123 68 0 23% 106, 113, 118, 123, 129, 141, 166-219, 224, 238-253, 277-331, 342-353, 357-359, 363-374, 383-385, 395-397, 403-415 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208828594-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208830904-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208834794-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208837164-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208839474-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208841734-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208844084-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208846464-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208848894-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208851164-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208853574-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208855964-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208858264-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208860524-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208863184-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208865534-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208868224-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208870554-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208873264-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208880174-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208882524-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208884824-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208887084-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208889344-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208891624-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208894134-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208900494-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208902944-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208905434-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208907944-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208910284-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208912564-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208915564-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208917924-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208920264-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208922684-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208924994-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208927274-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208929664-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208932024-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208934394-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208936824-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208939174-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208941474-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208945004-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208947364-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208953824-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208956534-05:00 integrations/mender.py 116 85 38 0 20% 33-51, 61-79, 82-88, 92-97, 101-102, 111-121, 131-133, 143-153, 158, 161-162, 174-180, 189-190, 210-218, 221, 231 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208958834-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208961134-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208963454-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208965734-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208968004-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208970334-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208972604-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208974914-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208977944-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208980284-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208982604-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208984934-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208987174-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208989474-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208991714-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.208994024-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209012014-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209026583-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209030373-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209033503-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209036903-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209040333-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209043293-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209046173-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209049203-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209052153-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209064513-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209067623-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209070483-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209073323-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209076393-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209079223-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209082203-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209085083-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209088493-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209091753-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209095133-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209098823-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-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209101763-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.73s =================== [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209105073-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209108033-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-ql7vf-contract-pod/step-run-contract] 2026-08-11T22:17:35.209121223-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above