===== app-contract-nightly-br6kc-archive-logs-pod.log ===== [pod/app-contract-nightly-br6kc-archive-logs-pod/place-scripts] 2026-08-01T22:17:31.209922580-05:00 2026/08/02 03:17:31 Decoded script /tekton/scripts/script-0-qrbk6 [pod/app-contract-nightly-br6kc-archive-logs-pod/place-scripts] 2026-08-01T22:17:31.228271762-05:00 2026/08/02 03:17:31 Decoded script /tekton/scripts/script-1-dhprr [pod/app-contract-nightly-br6kc-archive-logs-pod/step-collect-logs] 2026-08-01T22:17:34.563629895-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-br6kc [pod/app-contract-nightly-br6kc-archive-logs-pod/prepare] 2026-08-01T22:17:30.346199450-05:00 2026/08/02 03:17:30 Entrypoint initialization ===== app-contract-nightly-br6kc-contract-pod.log ===== [pod/app-contract-nightly-br6kc-contract-pod/prepare] 2026-08-01T22:17:03.071774840-05:00 2026/08/02 03:17:03 Entrypoint initialization [pod/app-contract-nightly-br6kc-contract-pod/place-scripts] 2026-08-01T22:17:03.894470422-05:00 2026/08/02 03:17:03 Decoded script /tekton/scripts/script-0-x49hs [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:07.148959245-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:07.216636133-05:00 job.batch/app-contract-20260802-031707 created [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.772102840-05:00 ----- contract Job logs (app-contract-20260802-031707) ----- [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849356807-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849377117-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849382477-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849388907-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849393107-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849396997-05:00 rootdir: /app [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849401777-05:00 configfile: pytest.ini [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849406196-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849418456-05:00 collected 31 items [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849422386-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849426346-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849430236-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849434116-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849437916-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849441766-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849445656-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849449336-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849453206-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849457186-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849460886-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849465176-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849469126-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849472936-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849476716-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849483336-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849487286-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849491246-05:00 > yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849494936-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849498726-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849502576-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849508086-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849514126-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849519826-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849524616-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849528476-05:00 raise exc from None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849533166-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849537026-05:00 response = connection.handle_request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849540926-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849544716-05:00 raise exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849562176-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849565036-05:00 stream = self._connect(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849568646-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849571416-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849574026-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849576646-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849579276-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849582196-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849585616-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849588196-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849590806-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849593505-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849595985-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849599335-05:00 map = {: , : } [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849602625-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849605745-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849608575-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849611185-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849613775-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849616385-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849618975-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849621545-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849624095-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849626745-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849629215-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849632095-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849634605-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849637215-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849639715-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849642315-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849644925-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849647725-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849650235-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849652815-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849655475-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849658065-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849660655-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849663245-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849665785-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849668325-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849670865-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849674035-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849676945-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849679545-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849682175-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849684775-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849722605-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849726795-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849735965-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849738795-05:00 integrations/base.py:135: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849747705-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849750695-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849753395-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849756475-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849759115-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849761865-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849764675-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849767395-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849770045-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849772615-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849775205-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849777855-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849780434-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849783004-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849785634-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849788244-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849790804-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849793424-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849796034-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849798684-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849801234-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849805974-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849808644-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849811344-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849813974-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849816554-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849819134-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849821814-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849824404-05:00 except Exception as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849826954-05:00 mapped_exc = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849829544-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849832174-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849834774-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849837344-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849839934-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849842514-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849845064-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849847664-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849850254-05:00 mapped_exc = to_exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849852894-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849855464-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849863434-05:00 raise [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849866054-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849868634-05:00 message = str(exc) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849871204-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849873834-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849876504-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849879204-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849881684-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849884234-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849886704-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849889254-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849891844-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849894474-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849898374-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849901124-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849903844-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849906324-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849908854-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849911474-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849914074-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849916654-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849919244-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849921854-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849924424-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849926974-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849929714-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849932194-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849934784-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849937424-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849940124-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849942664-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849945214-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849947814-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849950434-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849953014-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849955584-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849958124-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849960694-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849963354-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849965914-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849968543-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849971253-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849973853-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849976433-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849980353-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849983073-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849985723-05:00 last_exc = exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849992923-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.849999823-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850002503-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850005263-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850007963-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850010543-05:00 ) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850013613-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850016063-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850018623-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850021293-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850023763-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850026603-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850030053-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850032603-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850035233-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850037943-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850040563-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850043293-05:00 > yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850045783-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850048393-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850050963-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850053553-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850056183-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850058773-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850061413-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850064093-05:00 raise exc from None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850066713-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850069293-05:00 response = connection.handle_request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850071853-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850074443-05:00 raise exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850077093-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850079743-05:00 stream = self._connect(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850082363-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850084933-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850087503-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850090103-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850092673-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850095273-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850097883-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850100463-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850103113-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850106863-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850114393-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850117113-05:00 map = {: , : } [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850119603-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850130983-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850136583-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850139253-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850141843-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850144413-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850147063-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850149613-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850152163-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850154763-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850157322-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850159952-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850162422-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850164932-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850167412-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850169972-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850172572-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850175132-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850177662-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850180192-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850182792-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850185322-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850187872-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850190412-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850192952-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850195492-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850198082-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850200692-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850203072-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850205132-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850207582-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850209632-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850211682-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850213822-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850215892-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850217912-05:00 integrations/base.py:135: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850219982-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850222052-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850224122-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850226162-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850228192-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850230242-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850232422-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850234502-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850239982-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850246172-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850248382-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850250502-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850252562-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850254662-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850256732-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850258772-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850260822-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850262902-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850264952-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850267002-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850268982-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850271022-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850273152-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850275242-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850277302-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850279362-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850281412-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850283482-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850285532-05:00 except Exception as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850287612-05:00 mapped_exc = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850289672-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850291952-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850294052-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850296112-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850298192-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850300262-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850302322-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850304492-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850306562-05:00 mapped_exc = to_exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850308632-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850310732-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850312832-05:00 raise [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850314882-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850317082-05:00 message = str(exc) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850319142-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850321232-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850323212-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850325332-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850327332-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850329352-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850331312-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850333352-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850335402-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850337482-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850339542-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850341672-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850347871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850349891-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850351931-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850354001-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850356031-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850358101-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850360131-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850362161-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850364221-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850366361-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850368431-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850370401-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850372431-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850374561-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850376641-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850378631-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850380681-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850382791-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850384851-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850386881-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850388941-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850391031-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850393091-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850395151-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850397201-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850399271-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850401411-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850403461-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850405521-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850407601-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850409651-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850411751-05:00 last_exc = exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850413801-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850415901-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850418111-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850420151-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850422271-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850424371-05:00 ) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850426531-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850428511-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850430531-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850432641-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850434641-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850436691-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850442651-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850444851-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850450561-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850453831-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850455961-05:00 E assert False [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850458031-05:00 E + where False = .reachable [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850460011-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850462111-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850464731-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850466861-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850469001-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850471141-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850473281-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850475431-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850477541-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850479661-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850481851-05:00 > yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850483831-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850486181-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850488461-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850490581-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850492741-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850494921-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850497091-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850499181-05:00 raise exc from None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850501311-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850503381-05:00 response = connection.handle_request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850505431-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850507501-05:00 raise exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850509761-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850511811-05:00 stream = self._connect(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850513871-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850516041-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850518081-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850520101-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850522161-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850524201-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850526231-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850528291-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850530331-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850532400-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850534410-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850536520-05:00 map = {: , : } [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850542730-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850544800-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850546870-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850548910-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850550950-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850553050-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850555120-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850557160-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850559220-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850561310-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850563310-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850565370-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850567350-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850569380-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850571370-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850573430-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850575490-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850577530-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850579510-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850581540-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850583610-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850585690-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850587740-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850589780-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850591880-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850593960-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850596010-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850598060-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850600120-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850602270-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850604310-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850606370-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850608420-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850610450-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850612430-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850614470-05:00 integrations/base.py:135: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850616520-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850618630-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850620670-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850622690-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850624720-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850626750-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850628810-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850630870-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850636700-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850638860-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850641070-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850643240-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850652610-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850654710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850656770-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850658980-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850661130-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850663160-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850665860-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850667980-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850669960-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850672010-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850674080-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850676150-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850678290-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850680350-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850682420-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850684470-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850686530-05:00 except Exception as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850688650-05:00 mapped_exc = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850690710-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850692780-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850694860-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850696920-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850699050-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850701180-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850703230-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850705280-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850707340-05:00 mapped_exc = to_exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850709410-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850711520-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850713570-05:00 raise [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850715630-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850717680-05:00 message = str(exc) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850719759-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850721819-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850723789-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850725839-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850727869-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850729899-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850731879-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850733969-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850736089-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850738289-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850740519-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850742599-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850744699-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850746769-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850748839-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850754389-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850756459-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850758499-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850760529-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850762559-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850764619-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850766669-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850768699-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850770739-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850772699-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850774909-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850777079-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850779149-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850781149-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850783179-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850785269-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850787299-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850789349-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850791389-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850793419-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850795449-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850797499-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850799579-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850801649-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850803709-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850805749-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850807779-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850809819-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850811969-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850814069-05:00 last_exc = exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850816189-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850818229-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850820269-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850822369-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850824469-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850826629-05:00 ) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850828899-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850830989-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850833009-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850835069-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850837069-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850839099-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850844409-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850846519-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850848739-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850850999-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850856449-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850858529-05:00 > yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850860499-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850862519-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850864619-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850866659-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850868739-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850870809-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850872909-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850874979-05:00 raise exc from None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850877149-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850879239-05:00 response = connection.handle_request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850881429-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850883589-05:00 raise exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850885679-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850887729-05:00 stream = self._connect(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850889799-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850892059-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850894129-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850896179-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850898249-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850900289-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850902429-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850904519-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850906568-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850908678-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850910658-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850912768-05:00 map = {: , : } [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850914758-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850916788-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850918888-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850920968-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850923018-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850925068-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850927128-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850929158-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850933028-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850935128-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850937248-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850939408-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850941378-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850943478-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850945458-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850947488-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850954008-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850956148-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850958118-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850960158-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850962198-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850964238-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850966338-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850968358-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850970378-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850972428-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850974588-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850976658-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850978748-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850980828-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850982968-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850985018-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850987058-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850989088-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850991068-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850993118-05:00 integrations/base.py:135: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850995228-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850997288-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.850999338-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851001368-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851003408-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851005478-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851007558-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851009638-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851011748-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851013848-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851015908-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851017948-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851020008-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851022078-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851024178-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851026228-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851028268-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851033638-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851035768-05:00 self.gen.throw(value) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851037838-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851040098-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851042178-05:00 @contextlib.contextmanager [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851044338-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851046388-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851048448-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851054448-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851056528-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851058608-05:00 yield [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851060668-05:00 except Exception as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851062748-05:00 mapped_exc = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851064798-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851066848-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851069608-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851071668-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851073748-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851076918-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851079028-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851081128-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851083748-05:00 mapped_exc = to_exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851085828-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851087898-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851089958-05:00 raise [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851092028-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851094127-05:00 message = str(exc) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851096167-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851098267-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851100227-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851102337-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851104327-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851106357-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851108327-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851110407-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851112497-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851114627-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851117747-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851119717-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851126477-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851130077-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851132137-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851134167-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851136197-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851138267-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851140307-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851142367-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851144427-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851146467-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851148507-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851150627-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851152597-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851154727-05:00 self = [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851156867-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851223637-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851225787-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851227877-05:00 def _request( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851230757-05:00 self, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851234807-05:00 method: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851236917-05:00 path: str, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851239107-05:00 *, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851241237-05:00 retry: bool = True, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851243317-05:00 **kwargs: Any, [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851245427-05:00 ) -> httpx.Response: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851247527-05:00 client = self._ensure_client() [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851249687-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851251807-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851253877-05:00 for attempt in range(attempts): [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851256007-05:00 try: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851258097-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851260247-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851262387-05:00 last_exc = exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851264437-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851266557-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851268617-05:00 continue [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851270677-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851272837-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851274907-05:00 ) from exc [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851277757-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851279787-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851281816-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851283896-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851285966-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851287986-05:00 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851290116-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851292256-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851295706-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851297776-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851299826-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851317006-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851334226-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851338036-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851348626-05:00 fleet/admin.py 256 105 34 0 52% 73-74, 78, 81-84, 98, 102, 105, 139, 145-146, 168, 171, 192, 195, 206, 210, 257-266, 274-280, 285-295, 308-310, 339-343, 347-355, 359-362, 367-384, 389-403, 412-423, 459, 463-466, 470-499, 503-509 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851353646-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851366786-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851369826-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851372556-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851375166-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851377796-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851380466-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851383126-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851385806-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851388416-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851390996-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851393596-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851396156-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851398896-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851401706-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851404356-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851406926-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851409806-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851412436-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851415046-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851417776-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851420856-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851423456-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851426066-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851428636-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851431216-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851433836-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851436426-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851443746-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851447656-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851450446-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851453046-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851455596-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851458156-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851460726-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851463276-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851469745-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851472475-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851475115-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851477735-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851480385-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851483245-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851485985-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851488555-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851491175-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851493935-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851496505-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851499075-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851501715-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851504435-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851507085-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851509715-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851512325-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851514915-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851517495-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851524775-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851527405-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851530005-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851532585-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851535125-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851537765-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851540385-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851542945-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851545505-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851548065-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851550635-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851553185-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851555745-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851558355-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851561005-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851563595-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851566175-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851568755-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851571365-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851573935-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851588835-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851599685-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851603195-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851606025-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851608585-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851611165-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851613815-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851616415-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851619325-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851630755-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851634425-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851637105-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-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851640165-05:00 =================== 5 failed, 16 passed, 10 skipped in 8.94s =================== [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851642855-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851645505-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-br6kc-contract-pod/step-run-contract] 2026-08-01T22:17:27.851656445-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above