===== app-contract-nightly-staging-n2kv4-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-n2kv4-archive-logs-pod/prepare] 2026-08-01T21:47:30.440609624-05:00 2026/08/02 02:47:30 Entrypoint initialization [pod/app-contract-nightly-staging-n2kv4-archive-logs-pod/place-scripts] 2026-08-01T21:47:30.679287145-05:00 2026/08/02 02:47:30 Decoded script /tekton/scripts/script-0-qg45j [pod/app-contract-nightly-staging-n2kv4-archive-logs-pod/place-scripts] 2026-08-01T21:47:30.696106273-05:00 2026/08/02 02:47:30 Decoded script /tekton/scripts/script-1-8w4t6 [pod/app-contract-nightly-staging-n2kv4-archive-logs-pod/step-collect-logs] 2026-08-01T21:47:39.680893190-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-n2kv4 ===== app-contract-nightly-staging-n2kv4-contract-pod.log ===== [pod/app-contract-nightly-staging-n2kv4-contract-pod/prepare] 2026-08-01T21:47:03.087129324-05:00 2026/08/02 02:47:03 Entrypoint initialization [pod/app-contract-nightly-staging-n2kv4-contract-pod/place-scripts] 2026-08-01T21:47:03.382915715-05:00 2026/08/02 02:47:03 Decoded script /tekton/scripts/script-0-54dsc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:06.693832435-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:06.764928847-05:00 job.batch/app-contract-20260802-024706 created [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.294197663-05:00 ----- contract Job logs (app-contract-20260802-024706) ----- [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875394078-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875420228-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875425568-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875429498-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875433538-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875437528-05:00 rootdir: /app [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875441808-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875445968-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875449537-05:00 collected 31 items [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875452917-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875456507-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875460037-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875464347-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875468587-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875473137-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875486137-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875489907-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875494127-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875499527-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875502967-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875507397-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875511437-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875515097-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875518677-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875522177-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875525637-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875529057-05:00 > yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875532427-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875535917-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875539497-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875543347-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875546857-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875550417-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875553937-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875557437-05:00 raise exc from None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875560977-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875564507-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875568007-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875571447-05:00 raise exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875590257-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875592877-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875595467-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875597897-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875600227-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875602597-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875605037-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875607427-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875609817-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875612227-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875614617-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875617027-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875619527-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875622317-05:00 map = {: , : } [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875627927-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875630397-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875632887-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875635397-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875637757-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875640197-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875642627-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875644967-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875647297-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875649907-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875652207-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875654617-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875656877-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875659247-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875661497-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875663907-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875666317-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875668677-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875670967-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875673297-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875675667-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875678037-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875680407-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875682767-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875685077-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875687407-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875689767-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875692096-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875694506-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875696926-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875699276-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875701616-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875703956-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875706286-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875713566-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875715936-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875725266-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875727976-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875730746-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875733356-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875735746-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875738136-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875740546-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875742916-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875745326-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875747686-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875750026-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875752426-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875754816-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875757156-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875759556-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875761896-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875764236-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875766546-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875768906-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875771326-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875773586-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875775916-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875778286-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875780656-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875783096-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875785416-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875787796-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875790146-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875792496-05:00 except Exception as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875794866-05:00 mapped_exc = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875797216-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875799606-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875801956-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875804336-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875808466-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875810956-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875813366-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875815816-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875818196-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875820546-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875822906-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875829396-05:00 raise [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875831796-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875834206-05:00 message = str(exc) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875836536-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875838906-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875841176-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875845466-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875847786-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875850166-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875852436-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875854766-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875857106-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875859496-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875861826-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875864246-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875867376-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875870826-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875876866-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875880396-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875884096-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875886696-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875889046-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875891416-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875893716-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875896016-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875898336-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875900596-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875902916-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875905366-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875907736-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875909996-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875913196-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875915616-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875917966-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875920326-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875922646-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875925016-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875927456-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875929786-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875932136-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875934495-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875936845-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875939285-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875941735-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875944125-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875946545-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875948915-05:00 last_exc = exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875955735-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875962225-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875964675-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875967255-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875969905-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875972285-05:00 ) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875975355-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875977665-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875980005-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875982375-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875984625-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875986945-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875989345-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875991665-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875994055-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875996535-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.875999415-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876001765-05:00 > yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876004035-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876006475-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876010075-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876012925-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876015465-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876018365-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876021025-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876024165-05:00 raise exc from None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876026805-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876029365-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876070285-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876074435-05:00 raise exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876078365-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876081985-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876086605-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876090285-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876093895-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876097545-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876107915-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876112065-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876115905-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876119435-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876132875-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876138295-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876147875-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876151725-05:00 map = {: , : } [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876154145-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876156465-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876158865-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876161235-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876163565-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876165915-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876168335-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876170745-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876173205-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876175574-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876177864-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876180284-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876182544-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876184904-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876187184-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876189554-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876192034-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876194384-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876196644-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876198964-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876201444-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876203774-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876206124-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876208464-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876210864-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876213234-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876215564-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876217974-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876220464-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876222814-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876225254-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876227624-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876230104-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876232474-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876234754-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876237064-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876239544-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876242024-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876244444-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876246844-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876249264-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876251624-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876254054-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876256414-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876263894-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876272474-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876275594-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876278014-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876281654-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876284164-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876287244-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876289594-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876291994-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876294324-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876296704-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876299224-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876301484-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876303794-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876306154-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876308484-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876310834-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876313224-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876315664-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876318024-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876320384-05:00 except Exception as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876322854-05:00 mapped_exc = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876325214-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876327684-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876330054-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876332404-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876334834-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876337324-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876339734-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876342144-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876344554-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876346914-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876349374-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876351724-05:00 raise [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876354094-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876356474-05:00 message = str(exc) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876358954-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876361504-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876363874-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876366254-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876368534-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876370934-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876373174-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876375514-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876377894-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876380254-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876382614-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876385044-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876391704-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876394004-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876396354-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876398764-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876401094-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876403414-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876405734-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876408053-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876410363-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876412683-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876415073-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876417353-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876419783-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876422173-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876424503-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876426733-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876429043-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876431403-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876433763-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876436133-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876438503-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876440853-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876443163-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876445553-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876447953-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876450313-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876452663-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876455043-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876457403-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876459763-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876462183-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876464523-05:00 last_exc = exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876466843-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876469143-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876471483-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876473923-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876476323-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876478683-05:00 ) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876481123-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876483393-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876485743-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876488133-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876490433-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876492783-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876498493-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876500953-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876512513-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876515083-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876517443-05:00 E assert False [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876519783-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876522123-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876525043-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876527423-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876529683-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876531973-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876534333-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876536803-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876539193-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876541573-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876544593-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876546933-05:00 > yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876549183-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876552333-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876554743-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876557123-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876559473-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876561843-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876564273-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876566643-05:00 raise exc from None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876569103-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876571453-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876573913-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876576263-05:00 raise exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876578673-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876581593-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876583913-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876586303-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876589493-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876591863-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876594243-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876596573-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876598983-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876601383-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876603743-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876606913-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876609183-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876611553-05:00 map = {: , : } [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876617533-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876619903-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876622513-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876624893-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876627393-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876629883-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876632423-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876634863-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876637193-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876639572-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876641822-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876644252-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876646502-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876648892-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876651142-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876653452-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876655892-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876658262-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876660522-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876662832-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876665202-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876668762-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876671152-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876673502-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876675822-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876678122-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876680422-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876682782-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876685132-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876687562-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876689882-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876692202-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876694522-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876696842-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876699082-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876701412-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876703782-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876706222-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876708592-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876710992-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876713372-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876715702-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876718082-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876720462-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876726052-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876728512-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876731072-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876738212-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876740672-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876742992-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876745452-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876747782-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876750112-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876752442-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876754802-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876757172-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876759412-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876761782-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876764222-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876766562-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876768942-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876771252-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876773602-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876775932-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876778292-05:00 except Exception as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876781252-05:00 mapped_exc = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876783652-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876786002-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876788332-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876790672-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876793032-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876795562-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876797932-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876800972-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876803402-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876805762-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876808162-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876810612-05:00 raise [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876812932-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876815322-05:00 message = str(exc) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876817702-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876820052-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876822322-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876824662-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876826932-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876829242-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876831492-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876833832-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876836192-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876838522-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876840922-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876843192-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876845522-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876847942-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876854052-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876856492-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876858912-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876861332-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876863692-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876866012-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876868342-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876870671-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876872981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876875341-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876877651-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876879991-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876882361-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876884741-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876886991-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876889331-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876891691-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876894101-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876896421-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876898761-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876901131-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876903471-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876905831-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876908171-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876910531-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876912871-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876915251-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876917611-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876919971-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876922291-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876924631-05:00 last_exc = exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876926931-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876929701-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876933431-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876937191-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876941021-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876944571-05:00 ) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876950131-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876953601-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876956541-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876959551-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876962811-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876966531-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876974861-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876977391-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876979841-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876986951-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876989351-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876991711-05:00 > yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876993951-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876996281-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.876998781-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877001231-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877003591-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877005961-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877008371-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877010721-05:00 raise exc from None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877013151-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877016831-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877019301-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877021651-05:00 raise exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877024011-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877026341-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877028671-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877031061-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877033441-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877035801-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877038191-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877040601-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877042931-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877045281-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877047641-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877049991-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877052241-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877054641-05:00 map = {: , : } [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877056951-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877059291-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877061651-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877064131-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877066501-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877068841-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877071171-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877073491-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877075871-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877078221-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877080491-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877082871-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877085131-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877087511-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877093601-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877096191-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877098651-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877101031-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877103290-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877105650-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877108010-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877110330-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877112700-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877115040-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877117420-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877119760-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877128330-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877132690-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877135110-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877137510-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877139850-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877142200-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877144910-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877147250-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877149490-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877151940-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877154400-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877156870-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877159290-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877161630-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877164040-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877166600-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877168950-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877171410-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877173760-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877176100-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877178520-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877180840-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877183240-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877185660-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877188070-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877190400-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877192760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877198600-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877201070-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877203720-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877206070-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877208420-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877210870-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877213210-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877215540-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877222010-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877224410-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877226820-05:00 yield [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877229220-05:00 except Exception as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877231540-05:00 mapped_exc = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877233890-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877236250-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877238570-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877241000-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877243370-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877245750-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877248100-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877250460-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877252920-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877255260-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877257600-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877260020-05:00 raise [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877262380-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877264760-05:00 message = str(exc) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877267080-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877269410-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877271660-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877274040-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877276310-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877278630-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877280860-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877283220-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877285560-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877287900-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877290220-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877292460-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877294760-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877297170-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877299520-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877301930-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877304330-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877306650-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877308980-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877311290-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877314780-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877317150-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877319550-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877321920-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877324170-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877326520-05:00 self = [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877328870-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877335110-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877337410-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877339810-05:00 def _request( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877342210-05:00 self, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877344619-05:00 method: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877347009-05:00 path: str, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877349349-05:00 *, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877351699-05:00 retry: bool = True, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877354019-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877356329-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877358679-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877361049-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877363399-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877365719-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877368109-05:00 try: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877370479-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877372849-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877375189-05:00 last_exc = exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877377529-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877381769-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877384169-05:00 continue [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877386499-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877388859-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877391209-05:00 ) from exc [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877394439-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877396719-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877399039-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877401449-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877403899-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877406159-05:00 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877408599-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877411069-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877413459-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877415809-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877418219-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877437769-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877451009-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877454289-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877465129-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-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877469309-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877488099-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877490739-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877494309-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877496709-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877499109-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877501439-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877503839-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877506189-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877508539-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877510929-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877513379-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877515689-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877518079-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877520419-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877522779-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877525909-05:00 fleet/reconcile.py 111 79 34 0 22% 62, 67, 71-72, 82-87, 104-142, 148-161, 181-194, 202-205, 223-226, 239-244, 258-287 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877528339-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877530709-05:00 fleet/scoping.py 32 25 12 0 16% 17-19, 26-28, 36-39, 44-47, 53-58, 66-72 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877533129-05:00 fleet/selftest.py 116 90 24 0 19% 67, 71, 90-124, 136-163, 168-173, 184-191, 201-214, 219-224, 235-254, 269-277 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877535769-05:00 fleet/status.py 144 82 26 0 36% 78, 101-106, 110-120, 124, 128, 132, 135-136, 163-164, 168, 185-188, 200-215, 219-221, 232-235, 241-255, 260-278, 283-286, 298-303, 307-312 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877538139-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877540699-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877543239-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877545619-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877547939-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877550259-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877552609-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877560039-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877562389-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877564749-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877567099-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877569479-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877571799-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877574189-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877576529-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877582989-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877585809-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877588308-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877592328-05:00 integrations/base.py 122 33 32 12 67% 39, 43-51, 55, 60-62, 96, 99, 100->108, 111-113, 116, 119, 146-147, 161, 165, 176, 179, 186-187, 193, 196, 205, 220 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877595198-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877597598-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877600028-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877603248-05:00 integrations/grafana.py 68 50 22 0 20% 27, 30, 33, 36, 43-50, 60-72, 75-97, 110-123, 126-135, 141 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877605638-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877608048-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877610808-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877613388-05:00 integrations/rundeck.py 46 25 10 0 38% 44-49, 65-81, 85-89, 95-103, 114-117, 126 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877615868-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877618288-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877620658-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877623018-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877625388-05:00 stores/admin.py 87 30 12 0 58% 95, 101-104, 107-110, 118-121, 142, 145, 148-152, 156-168, 183 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877627758-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877630078-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877636988-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877639348-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877641658-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877644038-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877646368-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877648698-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877651018-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877653338-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877655708-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877658038-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877660418-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877662888-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877665348-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877667678-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877670058-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877672368-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877674728-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877677028-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877680998-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877683448-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877695198-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877697828-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877700258-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877702588-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877704908-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877707208-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877710358-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877713058-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877715398-05:00 SKIPPED [5] tests/contract/_live.py:75: mender not configured (MENDER_URL/MENDER_API_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877721958-05:00 SKIPPED [5] tests/contract/_live.py:101: grafana not configured (GRAFANA_URL/GRAFANA_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877724308-05:00 =================== 5 failed, 16 passed, 10 skipped in 8.91s =================== [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877726898-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.877729258-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-n2kv4-contract-pod/step-run-contract] 2026-08-01T21:47:27.886585510-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above