===== app-contract-nightly-nx8m9-archive-logs-pod.log ===== [pod/app-contract-nightly-nx8m9-archive-logs-pod/prepare] 2026-08-03T22:17:31.836770870-05:00 2026/08/04 03:17:31 Entrypoint initialization [pod/app-contract-nightly-nx8m9-archive-logs-pod/place-scripts] 2026-08-03T22:17:32.428510063-05:00 2026/08/04 03:17:32 Decoded script /tekton/scripts/script-0-8rt7s [pod/app-contract-nightly-nx8m9-archive-logs-pod/place-scripts] 2026-08-03T22:17:32.444897253-05:00 2026/08/04 03:17:32 Decoded script /tekton/scripts/script-1-cdwtl [pod/app-contract-nightly-nx8m9-archive-logs-pod/step-collect-logs] 2026-08-03T22:17:41.844975355-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-nx8m9 ===== app-contract-nightly-nx8m9-contract-pod.log ===== [pod/app-contract-nightly-nx8m9-contract-pod/prepare] 2026-08-03T22:17:04.689314587-05:00 2026/08/04 03:17:04 Entrypoint initialization [pod/app-contract-nightly-nx8m9-contract-pod/place-scripts] 2026-08-03T22:17:05.696923003-05:00 2026/08/04 03:17:05 Decoded script /tekton/scripts/script-0-5bpt2 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:08.902688196-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:003dc2f197336849905987c1b43df01cc1ba912c [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:08.994829744-05:00 job.batch/app-contract-20260804-031708 created [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:29.725544095-05:00 ----- contract Job logs (app-contract-20260804-031708) ----- [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008153929-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008173249-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008178549-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008182858-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008187928-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008191918-05:00 rootdir: /app [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008206088-05:00 configfile: pytest.ini [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008210528-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008214548-05:00 collected 31 items [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008218358-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008222738-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008227268-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008231348-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008235228-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008239068-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008242918-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008246648-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008250538-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008254448-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008258208-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008262558-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008266498-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008270368-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008274278-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008278118-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008282018-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008285888-05:00 > yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008289678-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008293628-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008297498-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008302468-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008306358-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008310208-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008314228-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008318128-05:00 raise exc from None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008321958-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008325988-05:00 response = connection.handle_request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008330008-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008333858-05:00 raise exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008348438-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008351278-05:00 stream = self._connect(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008354058-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008357128-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008359838-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008362588-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008365258-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008394088-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008398108-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008402308-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008406208-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008410128-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008413917-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008418467-05:00 map = {: , : } [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008426267-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008433557-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008437707-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008441667-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008445597-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008449497-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008453427-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008457717-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008462347-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008466327-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008470197-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008474117-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008477877-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008481767-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008485557-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008489717-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008493897-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008497777-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008501487-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008505527-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008509577-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008513547-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008517617-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008521607-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008525467-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008529357-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008533287-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008537217-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008541177-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008545207-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008549177-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008553087-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008557097-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008561707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008569507-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008572297-05:00 integrations/base.py:135: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008582757-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008585667-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008588987-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008591967-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008594637-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008597317-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008600077-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008602747-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008605547-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008608577-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008611327-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008614327-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008617077-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008619787-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008622547-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008625237-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008627887-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008630577-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008633227-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008635907-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008638447-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008641357-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008644087-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008646736-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008649966-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008652746-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008655396-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008658046-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008660696-05:00 except Exception as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008663346-05:00 mapped_exc = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008666006-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008671696-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008674516-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008677236-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008680606-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008683286-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008686006-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008688646-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008691346-05:00 mapped_exc = to_exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008694036-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008696726-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008709196-05:00 raise [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008712086-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008714836-05:00 message = str(exc) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008719476-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008722236-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008724776-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008727616-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008730256-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008732886-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008735456-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008738116-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008740736-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008743376-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008746056-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008749006-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008751726-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008755026-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008757686-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008760356-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008763036-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008765666-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008768286-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008770936-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008773526-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008776156-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008778826-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008781376-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008784006-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008786626-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008789576-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008792156-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008794806-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008797536-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008800276-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008802886-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008805516-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008808146-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008810736-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008813396-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008816036-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008818696-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008821366-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008824006-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008826636-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008829446-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008833456-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008836136-05:00 last_exc = exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008843466-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008850656-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008853416-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008856066-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008859156-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008861856-05:00 ) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008867726-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008870306-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008872986-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008875826-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008878566-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008881306-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008884105-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008886735-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008889375-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008892065-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008894765-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008897565-05:00 > yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008900115-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008902845-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008905525-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008908665-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008911325-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008914515-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008919495-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008922255-05:00 raise exc from None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008924985-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008927665-05:00 response = connection.handle_request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008930595-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008933455-05:00 raise exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008936185-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008939085-05:00 stream = self._connect(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008941745-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008944545-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008947195-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008949915-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008952565-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008955215-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008957855-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008960595-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008963295-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008966005-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008973545-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008976975-05:00 map = {: , : } [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008979515-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008982145-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008984895-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008987585-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008990225-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008992985-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008995685-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.008998375-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009001045-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009003695-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009006285-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009009045-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009011615-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009014375-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009016935-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009020025-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009022735-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009025395-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009027955-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009030615-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009033325-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009036025-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009038805-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009041475-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009044145-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009046765-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009049395-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009052095-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009054765-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009059515-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009062205-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009064865-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009067575-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009070445-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009073005-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009075625-05:00 integrations/base.py:135: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009078345-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009081115-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009083805-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009086515-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009089305-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009092085-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009094725-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009097425-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009104915-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009113215-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009116225-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009118855-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009121485-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009124215-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009126895-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009129574-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009132284-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009135034-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009137744-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009140414-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009142954-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009145574-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009148294-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009150954-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009153684-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009156364-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009159034-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009161704-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009164544-05:00 except Exception as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009167174-05:00 mapped_exc = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009169834-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009172514-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009175234-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009177894-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009180614-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009183284-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009185904-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009189374-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009192084-05:00 mapped_exc = to_exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009194764-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009197514-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009200154-05:00 raise [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009202834-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009205504-05:00 message = str(exc) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009208214-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009211404-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009213964-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009216664-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009219294-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009221954-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009224494-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009227124-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009229754-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009232374-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009235084-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009238854-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009246024-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009248714-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009251344-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009254014-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009256664-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009259364-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009262054-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009264664-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009267334-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009269994-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009273534-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009276094-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009278734-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009281424-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009284124-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009286674-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009289354-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009292084-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009294754-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009297384-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009300064-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009302704-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009305324-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009307984-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009310644-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009313354-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009316214-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009318874-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009321504-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009324644-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009327374-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009330034-05:00 last_exc = exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009332834-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009335444-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009338094-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009340714-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009343434-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009346124-05:00 ) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009348904-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009351484-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009354144-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009356784-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009359354-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009361994-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009368374-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009371103-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009378913-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009382343-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009384973-05:00 E assert False [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009387633-05:00 E + where False = .reachable [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009390203-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009392813-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009395983-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009398553-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009401163-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009403943-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009406553-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009409253-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009411893-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009414543-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009417183-05:00 > yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009419703-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009422453-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009425173-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009427863-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009430523-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009433183-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009435903-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009438563-05:00 raise exc from None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009441283-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009443973-05:00 response = connection.handle_request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009446743-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009449433-05:00 raise exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009452133-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009454863-05:00 stream = self._connect(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009457513-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009460173-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009462863-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009466173-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009468913-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009471523-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009474153-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009476783-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009479443-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009482153-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009484733-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009487433-05:00 map = {: , : } [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009494833-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009497713-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009500403-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009503103-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009505773-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009508413-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009511053-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009513733-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009516383-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009519533-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009522103-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009524823-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009527363-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009530023-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009532593-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009535203-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009538363-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009541273-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009543833-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009546493-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009549213-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009551933-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009554763-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009557453-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009560193-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009563493-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009566163-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009569703-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009572353-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009575033-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009577653-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009580313-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009583003-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009585613-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009588133-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009590913-05:00 integrations/base.py:135: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009593583-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009596233-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009598863-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009601473-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009604143-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009606823-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009609653-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009612333-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009618642-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009621392-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009624052-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009631372-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009634192-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009636832-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009639712-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009642402-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009645092-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009647702-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009650322-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009653012-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009655552-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009658202-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009660832-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009663822-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009666532-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009669192-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009671902-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009674632-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009680602-05:00 except Exception as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009683312-05:00 mapped_exc = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009685962-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009688602-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009691462-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009694122-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009696762-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009699602-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009702262-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009720862-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009723692-05:00 mapped_exc = to_exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009726362-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009729192-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009731902-05:00 raise [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009734592-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009737332-05:00 message = str(exc) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009740022-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009742652-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009745182-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009747902-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009750462-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009753112-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009755682-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009758362-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009761022-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009763742-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009766482-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009769012-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009771642-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009774392-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009781672-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009784552-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009787242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009789872-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009792502-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009795182-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009797832-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009800472-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009803162-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009805872-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009808422-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009811062-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009813732-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009817032-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009819602-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009822262-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009824982-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009827662-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009830282-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009832922-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009835582-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009838202-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009840862-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009843482-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009846162-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009848902-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009851551-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009854221-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009856871-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009859531-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009862181-05:00 last_exc = exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009864821-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009867461-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009870131-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009872781-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009875431-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009878081-05:00 ) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009880811-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009883411-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009886031-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009888701-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009891341-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009893961-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009900421-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009903131-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009905781-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009913391-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009916281-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009919011-05:00 > yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009921541-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009924161-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009926791-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009930101-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009932771-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009935591-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009938351-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009941111-05:00 raise exc from None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009943771-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009946461-05:00 response = connection.handle_request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009949121-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009951791-05:00 raise exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009954451-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009957161-05:00 stream = self._connect(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009959841-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009962541-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009965191-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009967891-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009970551-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009973201-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009975871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009978511-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009981161-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009983841-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009986421-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009989131-05:00 map = {: , : } [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009991921-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009994521-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009997171-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.009999851-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010002521-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010005331-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010007991-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010010651-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010013311-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010015941-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010018511-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010021161-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010023731-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010026481-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010033191-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010035971-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010039291-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010041921-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010044471-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010047111-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010049771-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010052481-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010055121-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010057761-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010060421-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010063051-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010065751-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010068391-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010071121-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010073891-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010076541-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010079171-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010081830-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010084550-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010087090-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010089700-05:00 integrations/base.py:135: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010092390-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010095090-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010097750-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010100420-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010103030-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010105710-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010109120-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010111890-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010114720-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010118000-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010120710-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010123430-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010127020-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010129720-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010132420-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010135140-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010137870-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010144360-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010147170-05:00 self.gen.throw(value) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010149820-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010153020-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010155730-05:00 @contextlib.contextmanager [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010158390-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010161030-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010168120-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010170960-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010173610-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010176290-05:00 yield [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010179060-05:00 except Exception as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010181710-05:00 mapped_exc = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010184420-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010187200-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010189960-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010192660-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010195470-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010198300-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010201110-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010203770-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010206410-05:00 mapped_exc = to_exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010209090-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010211810-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010214450-05:00 raise [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010217180-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010219870-05:00 message = str(exc) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010222520-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010225780-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010228340-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010231050-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010233760-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010236400-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010238950-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010241570-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010244230-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010246890-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010249520-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010252080-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010254720-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010257390-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010260040-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010263430-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010266140-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010268800-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010271560-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010274200-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010276950-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010279580-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010282200-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010284900-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010287450-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010290160-05:00 self = [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010293380-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010302770-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010305460-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010308090-05:00 def _request( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010310790-05:00 self, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010313469-05:00 method: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010316119-05:00 path: str, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010318749-05:00 *, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010321369-05:00 retry: bool = True, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010323989-05:00 **kwargs: Any, [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010326729-05:00 ) -> httpx.Response: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010329709-05:00 client = self._ensure_client() [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010332389-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010335039-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010337659-05:00 for attempt in range(attempts): [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010340289-05:00 try: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010342909-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010345599-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010348299-05:00 last_exc = exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010350909-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010353559-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010358599-05:00 continue [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010361269-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010363989-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010366699-05:00 ) from exc [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010369479-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010372169-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010374809-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010377519-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010380219-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010382789-05:00 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010385409-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010388239-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010390929-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010395079-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010397739-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010421119-05:00 config/settings.py 55 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010441519-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010445269-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010458759-05:00 fleet/admin.py 256 105 34 0 52% 73-74, 78, 81-84, 98, 102, 105, 139, 145-146, 168, 171, 192, 195, 206, 210, 257-266, 274-280, 285-295, 308-310, 339-343, 347-355, 359-362, 367-384, 389-403, 412-423, 459, 463-466, 470-499, 503-509 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010464489-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010479839-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010483719-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010486949-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010490349-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010494009-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010497229-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010500339-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010504139-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010507379-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010510329-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010513419-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010516679-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010519639-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010522749-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010526319-05:00 fleet/manifest.py 29 29 4 0 0% 34-131 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010529259-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010533389-05:00 fleet/reconcile.py 111 79 34 0 22% 62, 67, 71-72, 82-87, 104-142, 148-161, 181-194, 202-205, 223-226, 239-244, 258-287 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010536379-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010539369-05:00 fleet/scoping.py 32 25 12 0 16% 17-19, 26-28, 36-39, 44-47, 53-58, 66-72 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010542459-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010546368-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010549298-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010552338-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010555548-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010558628-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010562128-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010565188-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010582018-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010585348-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010588268-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010591268-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010594528-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010597778-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010601058-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010604368-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010614008-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010617208-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010620728-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010623828-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010626988-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010631278-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010634518-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010637568-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010640498-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010643808-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010646928-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010649868-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010653228-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010656688-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010659858-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010663268-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010666268-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010669398-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010672608-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010681368-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010684518-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010687598-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010690998-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010694148-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010697158-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010700328-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010709288-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010718308-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010721578-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010725488-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010728458-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010731418-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010734468-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010737498-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010743178-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010746128-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010749058-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010751878-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010754998-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010772258-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010777687-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010781377-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010784937-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010788087-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010791387-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010794697-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010797677-05:00 TOTAL 5633 4625 806 19 16% [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010801887-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010810997-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010815107-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010818197-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-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010821167-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.01s =================== [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010825227-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010828757-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-nx8m9-contract-pod/step-run-contract] 2026-08-03T22:17:30.010831837-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above