===== app-contract-nightly-staging-6ht2j-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-6ht2j-archive-logs-pod/prepare] 2026-07-20T21:47:37.960168866-05:00 2026/07/21 02:47:37 Entrypoint initialization [pod/app-contract-nightly-staging-6ht2j-archive-logs-pod/place-scripts] 2026-07-20T21:47:38.717642815-05:00 2026/07/21 02:47:38 Decoded script /tekton/scripts/script-0-8jnsp [pod/app-contract-nightly-staging-6ht2j-archive-logs-pod/place-scripts] 2026-07-20T21:47:38.737495017-05:00 2026/07/21 02:47:38 Decoded script /tekton/scripts/script-1-tmj67 [pod/app-contract-nightly-staging-6ht2j-archive-logs-pod/step-collect-logs] 2026-07-20T21:47:42.144334144-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-6ht2j ===== app-contract-nightly-staging-6ht2j-contract-pod.log ===== [pod/app-contract-nightly-staging-6ht2j-contract-pod/place-scripts] 2026-07-20T21:47:05.210810682-05:00 2026/07/21 02:47:05 Decoded script /tekton/scripts/script-0-lf4px [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:08.680939408-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:26d57b68c0de647bfb8129c17915743a82b15d81 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:08.775564254-05:00 job.batch/app-contract-20260721-024708 created [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:34.670443975-05:00 ----- contract Job logs (app-contract-20260721-024708) ----- [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251133893-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251161992-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251168032-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251173302-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251177552-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251182182-05:00 rootdir: /app [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251186792-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251191752-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251195952-05:00 collected 31 items [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251200032-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251204572-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251208782-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251213282-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251217512-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251221752-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251226022-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251230092-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251234322-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251238532-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251242592-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251247212-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251251522-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251255702-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251259942-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251264162-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251268412-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251272612-05:00 > yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251276692-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251280872-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251285082-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251290082-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251294442-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251298672-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251302902-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251307112-05:00 raise exc from None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251311312-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251315472-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251319662-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251323902-05:00 raise exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251364211-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251369241-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251372181-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251375011-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251377811-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251380641-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251383461-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251386331-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251389181-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251392001-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251394911-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251397791-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251400501-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251403741-05:00 map = {: , : } [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251408261-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251411301-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251414261-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251417161-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251419991-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251422881-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251425731-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251428581-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251431441-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251434251-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251437021-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251439911-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251442671-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251445481-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251448201-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251451081-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251453931-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251456811-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251459591-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251462511-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251465391-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251468251-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251471471-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251474301-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251477131-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251479961-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251482841-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251485711-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251488571-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251491481-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251494331-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251497161-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251499981-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251502781-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251510711-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251513600-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251524020-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251527150-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251530130-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251533180-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251536310-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251539290-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251542260-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251545110-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251548050-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251551260-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251554110-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251557040-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251601080-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251605480-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251609840-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251614110-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251618380-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251622560-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251626720-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251631030-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251635110-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251639330-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251643480-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251646970-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251650390-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251653840-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251657210-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251660600-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251664040-05:00 except Exception as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251667420-05:00 mapped_exc = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251670780-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251674280-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251678950-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251682470-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251685930-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251689310-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251692909-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251696379-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251699779-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251704499-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251707909-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251716009-05:00 raise [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251718329-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251720639-05:00 message = str(exc) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251725499-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251727909-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251730189-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251732549-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251734739-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251737079-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251739269-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251741549-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251743799-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251746089-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251748349-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251750729-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251753029-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251755239-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251757509-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251759869-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251762129-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251764479-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251766739-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251768999-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251771319-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251773579-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251775859-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251778049-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251781299-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251783699-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251786099-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251788329-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251790639-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251792949-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251795309-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251797579-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251799839-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251802239-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251804469-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251806809-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251809089-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251811399-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251813759-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251816119-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251818379-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251820779-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251823159-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251825499-05:00 last_exc = exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251827849-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251837869-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251840349-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251842879-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251845449-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251847979-05:00 ) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251850619-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251852839-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251855159-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251857569-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251859749-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251862019-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251864439-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251866729-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251869009-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251871459-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251873738-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251876108-05:00 > yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251878358-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251880698-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251883078-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251885428-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251887728-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251890038-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251892468-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251894748-05:00 raise exc from None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251897138-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251899438-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251901728-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251904108-05:00 raise exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251906378-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251908648-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251910928-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251913218-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251915528-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251917828-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251920118-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251922438-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251924698-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251926948-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251929248-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251931628-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251933818-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251939918-05:00 map = {: , : } [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251942188-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251944418-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251946748-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251949018-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251951288-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251953578-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251955848-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251958088-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251960388-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251962718-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251964918-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251967208-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251969398-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251971638-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251973818-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251976098-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251978408-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251980688-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251982908-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251986448-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251988748-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251991068-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251993328-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251995668-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.251997938-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252000188-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252002508-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252004778-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252007058-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252009348-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252011608-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252013938-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252016238-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252018498-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252020678-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252022928-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252025238-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252027508-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252029778-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252032038-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252034348-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252036628-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252038888-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252041138-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252048128-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252050498-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252063827-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252066287-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252068617-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252070907-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252073177-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252075447-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252077697-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252079927-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252082177-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252084437-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252086627-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252088877-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252091177-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252093517-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252095827-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252098097-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252100387-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252102687-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252105037-05:00 except Exception as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252107307-05:00 mapped_exc = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252109577-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252111857-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252114117-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252116407-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252118667-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252121047-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252123317-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252125687-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252127947-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252130237-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252132517-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252134787-05:00 raise [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252137097-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252139407-05:00 message = str(exc) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252141717-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252143957-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252146137-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252148417-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252150617-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252152927-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252155107-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252157377-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252159737-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252162007-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252164267-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252166597-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252172767-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252174997-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252177247-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252179617-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252181877-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252184787-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252187037-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252189277-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252191497-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252193737-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252195997-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252198217-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252200567-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252202927-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252205227-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252207397-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252209657-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252211977-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252214247-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252216537-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252218807-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252221057-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252223307-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252225627-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252227877-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252230167-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252232427-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252234736-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252237016-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252239306-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252241586-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252243866-05:00 last_exc = exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252246116-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252248346-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252250606-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252252916-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252255186-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252257456-05:00 ) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252259836-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252262036-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252264276-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252266546-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252268776-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252271046-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252276666-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252279006-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252285436-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252288096-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252290376-05:00 E assert False [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252292806-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252295046-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252297326-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252299596-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252301786-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252304026-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252306296-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252308556-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252310796-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252313096-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252315376-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252317696-05:00 > yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252319886-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252322146-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252324406-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252327316-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252329616-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252331946-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252334226-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252336516-05:00 raise exc from None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252349346-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252353356-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252355676-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252357976-05:00 raise exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252360216-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252362506-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252364776-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252367106-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252370186-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252372446-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252374746-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252377006-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252379276-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252381606-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252383866-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252387506-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252389736-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252392116-05:00 map = {: , : } [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252398356-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252400746-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252403036-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252405386-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252407646-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252409916-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252412276-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252414546-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252416785-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252419095-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252421285-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252423565-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252425785-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252428465-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252430655-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252432945-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252435235-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252437535-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252439735-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252442035-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252444435-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252446765-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252449025-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252451305-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252453555-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252455805-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252458075-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252460445-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252462725-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252465465-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252467935-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252470305-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252472615-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252475075-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252477265-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252479755-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252482095-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252484495-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252486855-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252489235-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252491625-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252494015-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252496445-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252498815-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252504825-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252507765-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252510315-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252517325-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252519645-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252521915-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252524645-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252526955-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252529335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252531635-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252534105-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252536435-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252538615-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252540895-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252543225-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252545585-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252547895-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252550165-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252552515-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252554755-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252557025-05:00 except Exception as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252559345-05:00 mapped_exc = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252561725-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252563995-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252566355-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252568645-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252570975-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252573315-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252575625-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252577935-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252580255-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252582565-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252584915-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252587225-05:00 raise [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252589495-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252591765-05:00 message = str(exc) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252594035-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252596414-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252598634-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252601064-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252603254-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252605544-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252607734-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252610024-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252612334-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252614644-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252616944-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252619144-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252621394-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252623644-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252625964-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252632284-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252634664-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252636934-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252639294-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252641634-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252643924-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252646274-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252648524-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252650774-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252652994-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252655254-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252657564-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252659824-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252662004-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252664274-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252666574-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252668844-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252671084-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252673374-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252675664-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252677944-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252680154-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252682404-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252684664-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252686904-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252689144-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252691704-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252693954-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252696204-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252698484-05:00 last_exc = exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252700724-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252702964-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252705214-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252707564-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252709834-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252712134-05:00 ) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252714474-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252716674-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252718884-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252721164-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252723344-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252725564-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252731494-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252733844-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252736074-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252739004-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252745674-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252747964-05:00 > yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252750134-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252752384-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252754714-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252757874-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252760144-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252762424-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252764764-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252767044-05:00 raise exc from None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252769324-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252771564-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252773854-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252776124-05:00 raise exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252778363-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252780603-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252782863-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252785103-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252788173-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252790463-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252792793-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252795063-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252797373-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252799623-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252801883-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252804163-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252806323-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252808663-05:00 map = {: , : } [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252810863-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252813093-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252815423-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252817663-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252819913-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252822153-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252824403-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252826613-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252828983-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252831243-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252833403-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252835653-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252837833-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252840053-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252842213-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252848113-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252850573-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252852823-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252855023-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252857313-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252859593-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252861823-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252864063-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252866383-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252868673-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252871003-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252873733-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252876003-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252878763-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252881053-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252883293-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252885633-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252887953-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252890203-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252892383-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252894623-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252896883-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252899183-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252901483-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252904193-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252906583-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252909003-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252911583-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252913963-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252916183-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252918493-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252920813-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252923053-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252925343-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252927593-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252929813-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252932143-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252934383-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252939773-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252942093-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252944443-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252947443-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252949793-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252952033-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252954273-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252960242-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252962542-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252964852-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252967162-05:00 yield [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252969442-05:00 except Exception as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252971702-05:00 mapped_exc = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252974032-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252976322-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252978642-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252980892-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252983202-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252985542-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252987862-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252990302-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252992632-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252994912-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252997692-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.252999932-05:00 raise [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253002192-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253004472-05:00 message = str(exc) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253006722-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253009012-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253011172-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253013422-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253015582-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253017902-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253020092-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253022322-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253024622-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253026892-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253029152-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253031352-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253033572-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253036622-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253038912-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253041272-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253043682-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253045952-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253048252-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253050502-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253052732-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253054952-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253058772-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253061112-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253063292-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253065612-05:00 self = [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253067862-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253074132-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253076322-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253078542-05:00 def _request( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253080822-05:00 self, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253083532-05:00 method: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253085822-05:00 path: str, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253088052-05:00 *, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253090262-05:00 retry: bool = True, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253092502-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253094732-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253097042-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253099362-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253101752-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253103992-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253106262-05:00 try: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253108632-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253110872-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253113112-05:00 last_exc = exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253115442-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253117742-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253120042-05:00 continue [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253122272-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253124542-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253126862-05:00 ) from exc [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253129132-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253131302-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253133532-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253135842-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253138112-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253140291-05:00 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253142561-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253144871-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253147211-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253149471-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253151741-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253172081-05:00 config/settings.py 50 2 6 3 91% 130->138, 139, 141 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253191631-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253197741-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253211341-05:00 fleet/admin.py 230 101 34 0 49% 67-68, 72, 75-78, 92, 96, 99, 115, 136, 139, 150, 154, 200-209, 217-223, 228-238, 251-253, 282-286, 290-298, 302-305, 310-327, 332-346, 355-366, 402, 406-409, 413-442, 446-452 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253214781-05:00 fleet/api_consent.py 74 74 28 0 0% 20-146 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253227161-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253230201-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253233301-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253236151-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253239371-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253242221-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253245101-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253248011-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253250811-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253253661-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253256551-05:00 fleet/management/commands/sync_devices.py 216 216 80 0 0% 34-348 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253259411-05:00 fleet/models.py 122 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253263291-05:00 fleet/reconcile.py 107 76 32 0 22% 61, 66, 70-71, 81-86, 97-131, 137-150, 170-183, 191-194, 210-213, 226-231, 245-274 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253266321-05:00 fleet/roles.py 27 14 6 0 39% 91-104, 125-129 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253269291-05:00 fleet/scoping.py 26 20 10 0 17% 17-19, 26-28, 36-39, 44-47, 53-59 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253272131-05:00 fleet/selftest.py 116 90 24 0 19% 67, 71, 90-124, 136-163, 168-173, 184-191, 201-214, 219-224, 235-254, 269-277 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253275471-05:00 fleet/status.py 144 82 26 0 36% 78, 101-106, 110-120, 124, 128, 132, 135-136, 163-164, 168, 185-188, 200-215, 219-221, 232-235, 241-255, 260-278, 283-286, 298-303, 307-312 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253278401-05:00 fleet/tests_authority.py 124 124 2 0 0% 4-220 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253281331-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253284311-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253287091-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253289871-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253292821-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253295591-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253298491-05:00 fleet/tests_sync.py 151 151 8 0 0% 21-287 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253301271-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253304151-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253312331-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253315211-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253318011-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253321130-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253324120-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253327350-05:00 integrations/base.py 122 33 32 12 67% 39, 43-51, 55, 60-62, 96, 99, 100->108, 111-113, 116, 119, 146-147, 161, 165, 176, 179, 186-187, 193, 196, 205, 220 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253330970-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253350350-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 64 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253361370-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253364680-05:00 integrations/grafana.py 68 50 22 0 20% 27, 30, 33, 36, 43-50, 60-72, 75-97, 110-123, 126-135, 141 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253367560-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253370420-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253373220-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253376510-05:00 integrations/rundeck.py 46 25 10 0 38% 44-49, 65-81, 85-89, 95-103, 114-117, 126 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253379450-05:00 integrations/types.py 80 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253382310-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253385780-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253388700-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253391620-05:00 stores/admin.py 87 30 12 0 58% 95, 101-104, 107-110, 118-121, 142, 145, 148-152, 156-168, 183 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253394520-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253397310-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253400240-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253403200-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253405980-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253409290-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253413040-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253415830-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253425560-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253428420-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253431320-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253434200-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253436980-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253439740-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253442610-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253445410-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253448250-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253451140-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253453960-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253457650-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253460540-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253463790-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253466650-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253469420-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253472270-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253475350-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253478140-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253480960-05:00 TOTAL 4972 4017 756 19 17% [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253484180-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253501670-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253515139-05:00 SKIPPED [5] tests/contract/_live.py:75: mender not configured (MENDER_URL/MENDER_API_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253519199-05:00 SKIPPED [5] tests/contract/_live.py:101: grafana not configured (GRAFANA_URL/GRAFANA_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253522419-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.33s =================== [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253525909-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.253529329-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-6ht2j-contract-pod/step-run-contract] 2026-07-20T21:47:35.254295035-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above [pod/app-contract-nightly-staging-6ht2j-contract-pod/prepare] 2026-07-20T21:47:04.521710396-05:00 2026/07/21 02:47:04 Entrypoint initialization