===== app-contract-nightly-staging-jcdrj-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-jcdrj-archive-logs-pod/prepare] 2026-08-16T21:47:35.766556406-05:00 2026/08/17 02:47:35 Entrypoint initialization [pod/app-contract-nightly-staging-jcdrj-archive-logs-pod/place-scripts] 2026-08-16T21:47:36.887082760-05:00 2026/08/17 02:47:36 Decoded script /tekton/scripts/script-0-4lxz4 [pod/app-contract-nightly-staging-jcdrj-archive-logs-pod/place-scripts] 2026-08-16T21:47:36.905443920-05:00 2026/08/17 02:47:36 Decoded script /tekton/scripts/script-1-l5g69 [pod/app-contract-nightly-staging-jcdrj-archive-logs-pod/step-collect-logs] 2026-08-16T21:47:41.153655625-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-jcdrj ===== app-contract-nightly-staging-jcdrj-contract-pod.log ===== [pod/app-contract-nightly-staging-jcdrj-contract-pod/prepare] 2026-08-16T21:47:02.916040348-05:00 2026/08/17 02:47:02 Entrypoint initialization [pod/app-contract-nightly-staging-jcdrj-contract-pod/place-scripts] 2026-08-16T21:47:03.520082211-05:00 2026/08/17 02:47:03 Decoded script /tekton/scripts/script-0-xz2r6 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:06.797205788-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:06.890934829-05:00 job.batch/app-contract-20260817-024706 created [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.650394506-05:00 ----- contract Job logs (app-contract-20260817-024706) ----- [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722736761-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722757950-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722762770-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722766630-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722770490-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722774420-05:00 rootdir: /app [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722778220-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722782160-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722785860-05:00 collected 31 items [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722789420-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722793170-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722796920-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722800780-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722804540-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722808740-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722825390-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722829040-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722832710-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722836470-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722839940-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722857390-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722861160-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722864720-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722868340-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722872480-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722876050-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722879610-05:00 > yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722883080-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722886720-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722890360-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722894020-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722897790-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722901350-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722905000-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722908650-05:00 raise exc from None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722912370-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722916020-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722919700-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722923340-05:00 raise exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722927070-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722944570-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722947980-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722950980-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722953560-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722955940-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722960660-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722963160-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722966600-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722969040-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722971430-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722973890-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722976200-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722978740-05:00 map = {: , : } [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722982970-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722986160-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722988729-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722991179-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722993649-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722996069-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.722998459-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723000959-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723003499-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723005949-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723008289-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723010739-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723013079-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723015779-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723018109-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723020479-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723022859-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723025329-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723027669-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723030039-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723032449-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723034849-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723037399-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723039799-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723042159-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723044529-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723046969-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723049379-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723051809-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723054209-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723056689-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723059119-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723061479-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723063919-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723070899-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723073399-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723079919-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723082489-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723084949-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723087399-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723089779-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723092749-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723095169-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723097559-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723099979-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723102409-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723104779-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723107219-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723109579-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723111969-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723114559-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723117709-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723120069-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723122409-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723124869-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723127399-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723129689-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723132079-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723134499-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723136909-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723139299-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723141689-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723144169-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723146699-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723149069-05:00 except Exception as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723151469-05:00 mapped_exc = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723153999-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723156449-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723158869-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723161339-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723163779-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723166249-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723168869-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723171409-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723173779-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723176199-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723178579-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723185719-05:00 raise [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723188159-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723190559-05:00 message = str(exc) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723193699-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723196099-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723198379-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723200869-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723203189-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723205609-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723207899-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723210259-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723212649-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723215069-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723217459-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723219948-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723222958-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723225278-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723227708-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723231768-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723234278-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723236668-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723239058-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723241408-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723243778-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723246138-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723248578-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723250888-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723254128-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723256628-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723259128-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723261448-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723263788-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723266198-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723268818-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723271198-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723273578-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723276108-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723278468-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723280918-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723283308-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723285838-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723288288-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723290758-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723293698-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723297368-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723301238-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723304758-05:00 last_exc = exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723307768-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723318638-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723321288-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723324028-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723326718-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723329178-05:00 ) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723332048-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723334338-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723336778-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723372308-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723375938-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723379478-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723383048-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723386648-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723390188-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723393758-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723397428-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723400948-05:00 > yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723408798-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723412498-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723424458-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723428088-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723431738-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723435258-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723438828-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723442618-05:00 raise exc from None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723446248-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723449868-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723453467-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723457097-05:00 raise exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723460717-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723464277-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723467797-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723471397-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723474917-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723478517-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723482167-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723485697-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723489287-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723492827-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723496447-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723500047-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723503467-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723507267-05:00 map = {: , : } [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723516217-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723518747-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723521207-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723523627-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723526067-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723528947-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723531347-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723533767-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723536757-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723539167-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723541487-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723543957-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723546267-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723548717-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723551017-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723553487-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723555967-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723558557-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723560857-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723563257-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723565707-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723568157-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723570547-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723572937-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723575427-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723577797-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723580157-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723582547-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723585007-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723587427-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723589807-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723592237-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723594657-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723597037-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723599327-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723601737-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723604187-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723606637-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723609067-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723611527-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723613947-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723616377-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723618867-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723621297-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723626737-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723629257-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723636047-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723638527-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723640887-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723643317-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723645727-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723648167-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723650607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723653097-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723655487-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723657977-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723660287-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723662647-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723665187-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723667567-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723669967-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723672477-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723674857-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723677337-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723679707-05:00 except Exception as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723682087-05:00 mapped_exc = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723684596-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723686986-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723689436-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723691826-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723694816-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723697296-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723699776-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723702206-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723704666-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723707066-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723709626-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723712036-05:00 raise [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723714406-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723716836-05:00 message = str(exc) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723719306-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723721746-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723724036-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723726466-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723728766-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723731146-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723733436-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723735886-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723738316-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723740696-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723743116-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723745586-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723753116-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723755436-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723757796-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723760976-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723763396-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723765846-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723768246-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723770696-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723773156-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723775506-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723777946-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723780266-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723782666-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723785136-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723787546-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723789846-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723792236-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723794646-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723797036-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723799466-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723801836-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723804216-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723806696-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723809056-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723811436-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723813896-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723816336-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723818816-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723821196-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723823666-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723826106-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723828506-05:00 last_exc = exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723830886-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723833446-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723835846-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723838236-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723840676-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723843076-05:00 ) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723845556-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723847876-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723850216-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723852736-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723855056-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723857516-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723862416-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723864886-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723871596-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723874066-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723876436-05:00 E assert False [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723878856-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723881206-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723883616-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723886056-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723888336-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723890736-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723893166-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723895566-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723897936-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723900386-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723902796-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723905206-05:00 > yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723907496-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723909906-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723912366-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723914786-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723917235-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723921185-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723923665-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723926085-05:00 raise exc from None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723928515-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723930965-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723933455-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723935675-05:00 raise exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723937635-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723939575-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723941495-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723943455-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723945415-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723947475-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723950425-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723952345-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723954265-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723956345-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723958235-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723960315-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723962165-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723964125-05:00 map = {: , : } [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723965975-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723971445-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723973405-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723975385-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723977305-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723979255-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723981245-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723983275-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723985175-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723987155-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723988995-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723990995-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723992855-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723994865-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723996715-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.723998675-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724000755-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724002675-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724004505-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724006425-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724008485-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724010395-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724012315-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724014265-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724016175-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724018115-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724020025-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724022055-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724023985-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724025915-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724027885-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724029865-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724031835-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724033795-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724035705-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724037635-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724039555-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724041585-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724043545-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724045935-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724047925-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724049845-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724051815-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724053795-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724057875-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724059885-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724061865-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724063985-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724069155-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724071075-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724073095-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724075015-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724077105-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724079065-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724081185-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724083175-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724085015-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724086915-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724088895-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724090785-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724092775-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724094765-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724096775-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724098675-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724100595-05:00 except Exception as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724102505-05:00 mapped_exc = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724104505-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724106885-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724108875-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724110835-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724112845-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724114825-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724116785-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724118735-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724120765-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724122675-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724124595-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724126515-05:00 raise [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724128425-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724130345-05:00 message = str(exc) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724132285-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724134255-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724136115-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724138075-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724139905-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724141875-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724143705-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724145595-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724148054-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724150044-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724152044-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724153884-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724155764-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724157784-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724160514-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724166844-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724168824-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724170764-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724172814-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724174714-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724176704-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724178584-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724180604-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724182554-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724184384-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724186324-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724188344-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724190274-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724192124-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724194004-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724195904-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724197794-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724199674-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724201574-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724204844-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724206764-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724208744-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724210624-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724212574-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724214484-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724216374-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724218264-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724220294-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724222254-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724224184-05:00 last_exc = exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724226194-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724228154-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724230054-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724231944-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724233904-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724235854-05:00 ) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724238504-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724240344-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724242244-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724244164-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724246034-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724247934-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724251984-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724253934-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724255894-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724257854-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724263794-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724265724-05:00 > yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724267534-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724269424-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724271624-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724273604-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724275604-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724277504-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724279474-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724281404-05:00 raise exc from None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724283324-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724285234-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724287164-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724289114-05:00 raise exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724291494-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724293634-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724295764-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724297664-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724299704-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724301664-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724303614-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724305524-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724307414-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724309334-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724311234-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724313224-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724315064-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724317014-05:00 map = {: , : } [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724318884-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724320754-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724322654-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724324584-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724326504-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724328414-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724330374-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724332274-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724334214-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724336174-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724338034-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724339924-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724341754-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724343634-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724345494-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724347404-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724352724-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724354664-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724356494-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724358424-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724360354-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724362224-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724364104-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724366004-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724367944-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724369824-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724371714-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724373614-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724375604-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724377524-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724379933-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724381863-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724383833-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724385793-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724387633-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724389523-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724391453-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724393363-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724395273-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724397183-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724399203-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724401123-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724403043-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724404963-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724406873-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724408773-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724410703-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724416593-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724419943-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724421853-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724423743-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724425643-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724427563-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724431603-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724433543-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724435533-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724437413-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724439283-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724441923-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724443813-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724445793-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724451423-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724453373-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724455303-05:00 yield [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724457233-05:00 except Exception as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724459133-05:00 mapped_exc = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724461053-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724463023-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724464953-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724466863-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724468823-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724471243-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724473253-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724475173-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724477093-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724478993-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724480963-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724482883-05:00 raise [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724484783-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724486733-05:00 message = str(exc) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724488633-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724490513-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724492323-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724494223-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724496053-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724497943-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724499773-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724501733-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724503653-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724505623-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724507513-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724509343-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724511213-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724513123-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724515033-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724516963-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724518883-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724520803-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724522703-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724524623-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724526523-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724528483-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724530393-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724532303-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724534123-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724536023-05:00 self = [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724537933-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724544963-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724546913-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724548783-05:00 def _request( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724550693-05:00 self, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724552643-05:00 method: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724554593-05:00 path: str, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724556503-05:00 *, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724558393-05:00 retry: bool = True, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724560293-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724562173-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724564063-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724565973-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724568073-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724570013-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724571933-05:00 try: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724573903-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724575803-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724577733-05:00 last_exc = exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724579603-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724581483-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724583413-05:00 continue [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724585333-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724587213-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724589133-05:00 ) from exc [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724591063-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724592903-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724594783-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724596713-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724598663-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724600503-05:00 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724602503-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724604483-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724606393-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724608853-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724610972-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724623362-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724631882-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724639362-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724644542-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724659202-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724662122-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724664642-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724667592-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724670082-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724672452-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724675792-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724679042-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724681482-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724683962-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724687042-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724689462-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724691862-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724694252-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724696692-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724699142-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724701572-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724703962-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724706422-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724708812-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724711212-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724714362-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724716902-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724720172-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724724092-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724728232-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724735602-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724738042-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724740432-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724742852-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724745242-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724747632-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724750012-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724755512-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724758062-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724760512-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724762852-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724765302-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724767792-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724770692-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724773032-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724775392-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724777842-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724780192-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724782562-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724784962-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724787442-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724790432-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724792872-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724795862-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724799432-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724804322-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724806922-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724819512-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724822062-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724824462-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724826832-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724829202-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724831592-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724833982-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724836402-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724838782-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724841302-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724843651-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724846011-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724848621-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724851151-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724853511-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724856021-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724858421-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724860911-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724868211-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724870821-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724874461-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724878341-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724882011-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724884481-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724886831-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724889201-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724891581-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724893941-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724900921-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724903371-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724905721-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724908051-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724911121-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724915991-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724918491-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724920901-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724923711-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724926761-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724929211-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724931671-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-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724934081-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.45s =================== [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724936621-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.724939071-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-jcdrj-contract-pod/step-run-contract] 2026-08-16T21:47:32.727963748-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above