===== app-contract-nightly-staging-hkt85-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-hkt85-archive-logs-pod/prepare] 2026-08-14T21:47:43.272167093-05:00 2026/08/15 02:47:43 Entrypoint initialization [pod/app-contract-nightly-staging-hkt85-archive-logs-pod/place-scripts] 2026-08-14T21:47:43.710340972-05:00 2026/08/15 02:47:43 Decoded script /tekton/scripts/script-0-9248w [pod/app-contract-nightly-staging-hkt85-archive-logs-pod/place-scripts] 2026-08-14T21:47:43.728384915-05:00 2026/08/15 02:47:43 Decoded script /tekton/scripts/script-1-lpxpr [pod/app-contract-nightly-staging-hkt85-archive-logs-pod/step-collect-logs] 2026-08-14T21:47:46.114805571-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-hkt85 ===== app-contract-nightly-staging-hkt85-contract-pod.log ===== [pod/app-contract-nightly-staging-hkt85-contract-pod/prepare] 2026-08-14T21:47:09.816503530-05:00 2026/08/15 02:47:09 Entrypoint initialization [pod/app-contract-nightly-staging-hkt85-contract-pod/place-scripts] 2026-08-14T21:47:11.005708239-05:00 2026/08/15 02:47:11 Decoded script /tekton/scripts/script-0-wb8tf [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:14.884658199-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:14.964442782-05:00 job.batch/app-contract-20260815-024714 created [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.672479380-05:00 ----- contract Job logs (app-contract-20260815-024714) ----- [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748202120-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748226280-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748232390-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748237800-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748242460-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748246820-05:00 rootdir: /app [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748251650-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748256360-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748261230-05:00 collected 31 items [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748265500-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748269810-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748274100-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748279290-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748283950-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748288460-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748292740-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748296840-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748301050-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748305250-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748309340-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748313920-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748318260-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748322820-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748327020-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748331270-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748335440-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748339600-05:00 > yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748343660-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748348260-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748352430-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748357230-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748362040-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748366710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748371100-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748375380-05:00 raise exc from None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748379540-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748383820-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748388200-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748393320-05:00 raise exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748397780-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748416779-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748419789-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748422669-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748425549-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748428709-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748431579-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748434459-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748437299-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748440739-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748443599-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748446549-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748449309-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748452669-05:00 map = {: , : } [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748457099-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748460029-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748462979-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748465859-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748468779-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748471659-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748474509-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748477519-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748480439-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748483289-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748485979-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748491289-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748494069-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748497129-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748499819-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748502679-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748505539-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748508359-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748511039-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748513899-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748516749-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748519529-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748522839-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748525959-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748528719-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748532329-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748535099-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748537939-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748540879-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748543709-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748546669-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748549499-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748552489-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748555769-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748570179-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748573069-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748583479-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748586449-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748589569-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748592619-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748595459-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748598379-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748601239-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748605859-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748608759-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748611699-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748614609-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748617469-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748620549-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748623759-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748626639-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748629479-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748632309-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748637849-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748641538-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748644418-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748647108-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748649928-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748653398-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748656228-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748659038-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748661888-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748664728-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748667588-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748670388-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748673168-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748676088-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748679568-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748682498-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748685408-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748688318-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748691198-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748694088-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748696928-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748699808-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748702658-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748705558-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748713448-05:00 raise [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748716308-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748719188-05:00 message = str(exc) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748722128-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748724948-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748727638-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748730528-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748733298-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748736108-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748738908-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748741738-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748744608-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748747568-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748750378-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748753238-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748756148-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748758908-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748761808-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748764728-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748767538-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748770388-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748773298-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748776168-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748778948-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748781798-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748784688-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748787378-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748790368-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748793228-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748796178-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748798878-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748801668-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748804568-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748807388-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748810148-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748813008-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748815878-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748818638-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748821458-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748824338-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748827228-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748830048-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748832868-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748835708-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748838538-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748841358-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748844198-05:00 last_exc = exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748846978-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748858668-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748861748-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748865508-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748868508-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748871398-05:00 ) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748877787-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748880517-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748883407-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748886487-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748889187-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748891977-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748894797-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748897737-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748900667-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748903527-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748906327-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748909257-05:00 > yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748911927-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748914757-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748917687-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748920517-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748923317-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748926167-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748929037-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748931897-05:00 raise exc from None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748934927-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748937707-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748942427-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748945297-05:00 raise exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748948137-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748950947-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748953797-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748957177-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748960017-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748962797-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748965647-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748968427-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748971187-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748974747-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748977557-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748980457-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748983197-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748990967-05:00 map = {: , : } [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748993687-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.748996467-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749000987-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749003847-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749006907-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749009917-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749013927-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749023107-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749029877-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749034107-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749036907-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749039767-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749042447-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749045307-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749047987-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749050857-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749053717-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749056517-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749059167-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749061927-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749064817-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749067637-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749070517-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749073407-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749076197-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749079107-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749081847-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749084677-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749087557-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749090467-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749093387-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749096177-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749098967-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749101827-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749104537-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749107297-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749110146-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749113016-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749115816-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749118606-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749121466-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749124266-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749127156-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749129956-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749137166-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749140086-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749149086-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749152146-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749154936-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749157706-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749160576-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749163386-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749166246-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749169016-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749171786-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749174646-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749177316-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749180086-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749182896-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749185726-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749188506-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749191266-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749194056-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749196866-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749199656-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749202436-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749205196-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749207986-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749210776-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749213526-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749216446-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749219236-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749222716-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749225566-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749228356-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749231166-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749233956-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749236726-05:00 raise [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749239726-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749242546-05:00 message = str(exc) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749245326-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749248106-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749250776-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749253566-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749256326-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749259056-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749261726-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749264526-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749269446-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749272226-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749275006-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749277876-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749285396-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749288116-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749290846-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749293656-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749296426-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749299226-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749301986-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749304776-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749307556-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749310306-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749313116-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749315796-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749318536-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749321706-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749324996-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749327726-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749330576-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749333436-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749336236-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749339056-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749341876-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749344676-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749347416-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749350176-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749353035-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749355855-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749358685-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749361545-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749364365-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749367125-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749370375-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749373165-05:00 last_exc = exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749375945-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749378715-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749381505-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749384495-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749387405-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749390195-05:00 ) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749393015-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749395725-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749398555-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749401365-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749404085-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749406855-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749413435-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749416345-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749425305-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749428315-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749431165-05:00 E assert False [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749433995-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749436685-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749439465-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749442265-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749444955-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749447725-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749450505-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749453345-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749456155-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749458925-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749461755-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749464555-05:00 > yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749467225-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749470065-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749472915-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749475755-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749478535-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749481355-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749484155-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749486945-05:00 raise exc from None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749489735-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749492575-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749495385-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749498175-05:00 raise exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749500925-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749503665-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749506495-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749509255-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749512055-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749514835-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749517665-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749520475-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749523235-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749526005-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749528765-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749532215-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749534955-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749537825-05:00 map = {: , : } [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749540605-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749547755-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749550565-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749553375-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749556155-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749558985-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749561765-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749564525-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749567345-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749570275-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749572945-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749575745-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749578585-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749581565-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749584405-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749587345-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749590145-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749592915-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749595564-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749598304-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749601074-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749603864-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749607234-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749610074-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749612974-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749615754-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749618504-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749621374-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749624194-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749626994-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749629854-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749632644-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749636074-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749638844-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749641514-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749644254-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749647334-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749650114-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749652914-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749655744-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749658634-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749661434-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749664204-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749667014-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749673704-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749676544-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749679524-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749682494-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749690124-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749692894-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749695674-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749698554-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749701354-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749704114-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749706864-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749709774-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749712444-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749715184-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749718044-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749720844-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749723704-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749726474-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749729254-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749732894-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749735684-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749738544-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749741354-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749744154-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749747054-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749749834-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749752644-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749755654-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749758674-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749761514-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749764294-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749767084-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749769864-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749772664-05:00 raise [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749775454-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749778324-05:00 message = str(exc) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749781084-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749783834-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749786514-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749789254-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749791964-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749794814-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749797484-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749800274-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749803074-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749805884-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749808684-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749811364-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749814124-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749816874-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749819634-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749827294-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749830114-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749832944-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749835694-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749838503-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749841433-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749844243-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749846993-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749849893-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749852573-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749855353-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749858213-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749861003-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749863693-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749866463-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749869213-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749872043-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749874823-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749877593-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749880383-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749883153-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749885923-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749888713-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749891493-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749894333-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749897193-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749900003-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749902793-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749905583-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749908413-05:00 last_exc = exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749911263-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749914113-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749916983-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749923703-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749926513-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749929363-05:00 ) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749932213-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749934933-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749937773-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749940673-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749943403-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749946173-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749952813-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749955643-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749958453-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749961533-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749969243-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749972093-05:00 > yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749974783-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749977613-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749980403-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749983213-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749985993-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749988773-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749991643-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749994513-05:00 raise exc from None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.749997303-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750000173-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750003003-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750005883-05:00 raise exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750008703-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750011493-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750014373-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750027553-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750032583-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750035483-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750038293-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750041133-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750043913-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750046703-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750049543-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750052433-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750055113-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750057973-05:00 map = {: , : } [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750060693-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750063453-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750066303-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750069163-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750071953-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750075633-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750078502-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750081272-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750084012-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750086922-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750089622-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750092412-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750095132-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750097932-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750100702-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750108422-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750111222-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750114152-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750116822-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750119602-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750122872-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750125682-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750128532-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750131302-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750134062-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750136972-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750139712-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750142472-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750145362-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750148222-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750151082-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750153872-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750156682-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750159502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750162162-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750164982-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750167842-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750170672-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750173432-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750176412-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750179172-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750181932-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750184742-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750187532-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750190292-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750193112-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750195872-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750198682-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750201452-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750204242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750207002-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750209772-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750212572-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750219222-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750222142-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750225062-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750227832-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750230572-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750233372-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750236242-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750239052-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750246262-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750249122-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750251862-05:00 yield [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750254632-05:00 except Exception as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750257422-05:00 mapped_exc = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750260182-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750263002-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750267132-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750269932-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750272722-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750275562-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750278762-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750281582-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750284322-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750287122-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750289992-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750292762-05:00 raise [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750295522-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750298322-05:00 message = str(exc) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750301102-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750303882-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750306542-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750309401-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750312101-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750314821-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750317491-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750320261-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750323101-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750325851-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750328611-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750331261-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750334121-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750336901-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750339691-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750342521-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750345331-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750348081-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750350881-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750353651-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750356451-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750359251-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750362011-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750364771-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750367441-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750370191-05:00 self = [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750372971-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750380161-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750382911-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750385681-05:00 def _request( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750388511-05:00 self, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750391291-05:00 method: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750394091-05:00 path: str, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750397001-05:00 *, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750399761-05:00 retry: bool = True, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750402521-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750405431-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750408211-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750411021-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750413791-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750416551-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750419331-05:00 try: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750422091-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750424871-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750427681-05:00 last_exc = exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750430481-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750433241-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750436021-05:00 continue [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750438801-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750441571-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750444331-05:00 ) from exc [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750447211-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750449931-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750452681-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750455491-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750458311-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750461001-05:00 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750464161-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750467011-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750469781-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750472641-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750475501-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750495731-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750513621-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750524351-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750530711-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-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750545130-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750548230-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750551060-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750554210-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750556970-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750559760-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750563630-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-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750566480-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750569360-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750572130-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750574890-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750577660-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750580390-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750583200-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750585990-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750588760-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750591560-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750594330-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750597250-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750599980-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750602880-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750606030-05:00 fleet/reconcile.py 111 79 34 0 22% 62, 67, 71-72, 82-87, 104-142, 148-161, 181-194, 202-205, 223-226, 239-244, 258-287 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750608780-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750612270-05:00 fleet/scoping.py 32 25 12 0 16% 17-19, 26-28, 36-39, 44-47, 53-58, 66-72 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750615090-05:00 fleet/selftest.py 116 90 24 0 19% 67, 71, 90-124, 136-163, 168-173, 184-191, 201-214, 219-224, 235-254, 269-277 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750618260-05:00 fleet/status.py 144 82 26 0 36% 78, 101-106, 110-120, 124, 128, 132, 135-136, 163-164, 168, 185-188, 200-215, 219-221, 232-235, 241-255, 260-278, 283-286, 298-303, 307-312 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750626070-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750628870-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750631630-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750634370-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750637170-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750640070-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750642940-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750650090-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750653020-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750655980-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750658870-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750661700-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750664450-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750667260-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750670060-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750672820-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750675580-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750678310-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750681040-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750683790-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750686550-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750689360-05:00 integrations/base.py 122 33 32 12 67% 39, 43-51, 55, 60-62, 96, 99, 100->108, 111-113, 116, 119, 146-147, 161, 165, 176, 179, 186-187, 193, 196, 205, 220 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750694090-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750696920-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750699690-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750702740-05:00 integrations/grafana.py 68 50 22 0 20% 27, 30, 33, 36, 43-50, 60-72, 75-97, 110-123, 126-135, 141 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750705480-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750713400-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750718200-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-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750721070-05:00 integrations/rundeck.py 46 25 10 0 38% 44-49, 65-81, 85-89, 95-103, 114-117, 126 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750724080-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750726890-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750729630-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750732380-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750735140-05:00 stores/admin.py 87 30 12 0 58% 95, 101-104, 107-110, 118-121, 142, 145, 148-152, 156-168, 183 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750738110-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750740880-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750743700-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750746520-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750749330-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750752130-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750754870-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750757600-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750760370-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750763110-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750775739-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750778759-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750781539-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750784299-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750787059-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750789799-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750792549-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750795389-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750798139-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750800909-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750808839-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750811649-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750814409-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750817189-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750821579-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750824419-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750827239-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750830019-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750833129-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750838749-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750841819-05:00 SKIPPED [5] tests/contract/_live.py:75: mender not configured (MENDER_URL/MENDER_API_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750844619-05:00 SKIPPED [5] tests/contract/_live.py:101: grafana not configured (GRAFANA_URL/GRAFANA_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750847439-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.83s =================== [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750850489-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.750853809-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-hkt85-contract-pod/step-run-contract] 2026-08-14T21:47:40.752275833-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above