===== app-contract-nightly-4skc4-archive-logs-pod.log ===== [pod/app-contract-nightly-4skc4-archive-logs-pod/prepare] 2026-08-13T22:17:31.058888362-05:00 2026/08/14 03:17:31 Entrypoint initialization [pod/app-contract-nightly-4skc4-archive-logs-pod/place-scripts] 2026-08-13T22:17:32.072606765-05:00 2026/08/14 03:17:32 Decoded script /tekton/scripts/script-0-5x8m5 [pod/app-contract-nightly-4skc4-archive-logs-pod/place-scripts] 2026-08-13T22:17:32.092067407-05:00 2026/08/14 03:17:32 Decoded script /tekton/scripts/script-1-nx9l7 [pod/app-contract-nightly-4skc4-archive-logs-pod/step-collect-logs] 2026-08-13T22:17:34.576569798-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-4skc4 ===== app-contract-nightly-4skc4-contract-pod.log ===== [pod/app-contract-nightly-4skc4-contract-pod/prepare] 2026-08-13T22:17:05.218887480-05:00 2026/08/14 03:17:05 Entrypoint initialization [pod/app-contract-nightly-4skc4-contract-pod/place-scripts] 2026-08-13T22:17:05.759964932-05:00 2026/08/14 03:17:05 Decoded script /tekton/scripts/script-0-mmps9 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:08.062888998-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:5cad235cc948928c86fe0ecbf312ecde7964ab68 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:08.143545756-05:00 job.batch/app-contract-20260814-031707 created [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:28.747302279-05:00 ----- contract Job logs (app-contract-20260814-031707) ----- [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023479047-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023504917-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023509187-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023513267-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023516357-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023519287-05:00 rootdir: /app [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023522557-05:00 configfile: pytest.ini [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023527537-05:00 plugins: django-4.14.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023530607-05:00 collected 31 items [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023533307-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023537277-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023540297-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023543217-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023546077-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023548847-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023552456-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023555166-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023557976-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023560766-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023563486-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023566586-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023569396-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023572196-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023575576-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023578476-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023581406-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023584546-05:00 > yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023587696-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023591036-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023609426-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023612896-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023615946-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023618776-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023621916-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023625416-05:00 raise exc from None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023629216-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023633066-05:00 response = connection.handle_request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023636166-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023639316-05:00 raise exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023654136-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023656396-05:00 stream = self._connect(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023658426-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023660466-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023662746-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023664746-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023666926-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023669146-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023671046-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023673026-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023675156-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023677086-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023678946-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023681316-05:00 map = {: , : } [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023683906-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023685946-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023687906-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023689836-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023692656-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023694636-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023696706-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023698696-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023700766-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023702766-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023704626-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023706686-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023708556-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023710626-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023712476-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023714566-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023716576-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023718586-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023720556-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023722466-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023724476-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023726476-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023728416-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023730326-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023732316-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023734286-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023736166-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023738136-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023740146-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023742136-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023744146-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023746236-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023748216-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023750246-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023755106-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023757056-05:00 integrations/base.py:135: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023767096-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023769276-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023771586-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023773556-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023775716-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023777636-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023779626-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023781536-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023783666-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023785716-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023787636-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023789796-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023792576-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023794546-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023797066-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023799006-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023801196-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023803366-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023805296-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023807235-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023809105-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023811045-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023812955-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023814985-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023816955-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023819145-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023821055-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023823055-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023824975-05:00 except Exception as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023826885-05:00 mapped_exc = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023828895-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023831005-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023833085-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023835025-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023837025-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023838945-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023841045-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023843015-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023844915-05:00 mapped_exc = to_exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023846855-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023848985-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023854405-05:00 raise [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023856345-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023858275-05:00 message = str(exc) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023860185-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023862095-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023863925-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023866365-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023868195-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023870195-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023872025-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023873915-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023875835-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023877745-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023879705-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023881705-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023883715-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023885595-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023887495-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023889425-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023891365-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023893395-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023895335-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023897245-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023899355-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023901285-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023903305-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023905155-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023907195-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023909165-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023911255-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023913085-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023914975-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023916985-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023918895-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023920805-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023922715-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023924655-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023926595-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023928505-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023930455-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023932445-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023936355-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023938305-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023940235-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023942215-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023944185-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023947295-05:00 last_exc = exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023952695-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023957115-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023959535-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023961455-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023963545-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023965495-05:00 ) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023968015-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023969885-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023971905-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023973925-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023975765-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023977695-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023979715-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023981655-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023983565-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023985705-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023987665-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023989615-05:00 > yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023991495-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023993405-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023995315-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023997265-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.023999395-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024001325-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024003385-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024005305-05:00 raise exc from None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024007205-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024009115-05:00 response = connection.handle_request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024011085-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024012995-05:00 raise exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024014885-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024016795-05:00 stream = self._connect(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024025665-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024027725-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024029625-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024031515-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024033495-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024035395-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024037295-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024039205-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024041145-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024043055-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024048515-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024050595-05:00 map = {: , : } [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024052455-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024054335-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024056235-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024058145-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024060104-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024062034-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024063934-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024065844-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024067764-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024070484-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024072354-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024074274-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024076164-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024078124-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024079964-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024081954-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024083864-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024085804-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024087654-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024089644-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024091594-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024093524-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024095474-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024097384-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024099294-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024101174-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024103054-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024104954-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024106904-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024108854-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024110774-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024112714-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024114624-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024116514-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024118344-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024120254-05:00 integrations/base.py:135: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024122204-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024124124-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024126044-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024127934-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024129844-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024131744-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024133674-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024135654-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024140194-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024145704-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024147654-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024149544-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024151454-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024153364-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024155334-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024157404-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024159314-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024161214-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024163114-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024165014-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024166884-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024168794-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024170744-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024172684-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024174584-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024176484-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024178404-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024180314-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024182224-05:00 except Exception as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024184144-05:00 mapped_exc = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024186054-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024188064-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024190044-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024191974-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024193894-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024197974-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024200014-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024201974-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024203954-05:00 mapped_exc = to_exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024205964-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024207974-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024209944-05:00 raise [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024211934-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024213864-05:00 message = str(exc) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024215874-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024217854-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024219694-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024221704-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024223554-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024225974-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024227814-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024229794-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024231914-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024233924-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024235874-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024238044-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024244654-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024246534-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024248564-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024250574-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024252714-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024254894-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024257804-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024259914-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024261914-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024264394-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024266344-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024268194-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024270234-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024272674-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024274584-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024276444-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024278474-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024280454-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024282344-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024284364-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024286304-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024288304-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024290204-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024292144-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024294214-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024296254-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024298734-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024300764-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024302723-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024304743-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024306793-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024308923-05:00 last_exc = exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024310883-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024312833-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024314733-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024317003-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024318973-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024320963-05:00 ) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024323013-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024324973-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024327133-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024329163-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024331023-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024333173-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024337263-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024339313-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024344603-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024346763-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024348743-05:00 E assert False [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024351213-05:00 E + where False = .reachable [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024353053-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024355023-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024357113-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024358973-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024360963-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024363053-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024364973-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024367023-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024369003-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024370923-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024372923-05:00 > yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024374773-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024376853-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024378833-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024381093-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024383123-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024385133-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024387103-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024389133-05:00 raise exc from None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024391353-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024393303-05:00 response = connection.handle_request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024395343-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024397663-05:00 raise exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024399693-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024401713-05:00 stream = self._connect(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024403803-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024405763-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024407733-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024409903-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024412063-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024414033-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024415963-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024417973-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024420003-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024422063-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024423893-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024425953-05:00 map = {: , : } [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024432073-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024434783-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024436833-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024438753-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024440783-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024443843-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024446163-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024448193-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024450193-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024452553-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024454753-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024458593-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024460803-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024463353-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024505373-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024508863-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024511963-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024515213-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024518153-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024521073-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024524023-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024528253-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024531153-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024534213-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024537173-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024540153-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024542993-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024545922-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024548942-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024551982-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024554852-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024558212-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024561182-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024564142-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024566952-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024569842-05:00 integrations/base.py:135: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024572902-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024575932-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024578912-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024581842-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024584922-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024587902-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024591142-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024594002-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024599282-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024602382-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024605372-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024612922-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024615132-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024617112-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024619222-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024621252-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024623242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024625262-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024627212-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024629172-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024631102-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024633092-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024635602-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024637662-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024639692-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024641682-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024643712-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024645632-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024647532-05:00 except Exception as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024649512-05:00 mapped_exc = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024651442-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024653472-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024655442-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024657372-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024659422-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024661512-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024663422-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024665432-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024667512-05:00 mapped_exc = to_exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024670592-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024672592-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024674522-05:00 raise [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024676712-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024678642-05:00 message = str(exc) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024681052-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024683152-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024685882-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024687922-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024689782-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024691842-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024693722-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024695742-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024697652-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024700262-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024702242-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024704082-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024706172-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024708242-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024714102-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024716132-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024718242-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024720182-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024722162-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024724162-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024726262-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024728282-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024730292-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024732292-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024734252-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024736222-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024738272-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024740272-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024742112-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024744082-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024746022-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024748022-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024750012-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024752012-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024753922-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024755932-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024757892-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024759852-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024761882-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024764052-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024766092-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024768082-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024770072-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024772012-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024774082-05:00 last_exc = exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024776082-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024778152-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024780142-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024782192-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024784182-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024786222-05:00 ) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024801091-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024803021-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024805001-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024807081-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024808941-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024810851-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024814701-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024816671-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024818751-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024824431-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024826391-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024828331-05:00 > yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024830171-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024832311-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024834351-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024837291-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024839261-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024841321-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024843401-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024845331-05:00 raise exc from None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024847371-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024849301-05:00 response = connection.handle_request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024851291-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024853461-05:00 raise exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024856221-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024858211-05:00 stream = self._connect(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024860361-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024862351-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024864371-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024866441-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024868441-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024870531-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024872451-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024874441-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024876481-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024878461-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024880311-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024883101-05:00 map = {: , : } [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024884971-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024887001-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024888981-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024891011-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024892961-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024894961-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024896861-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024898831-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024901351-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024903331-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024905171-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024907171-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024909061-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024911151-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024917101-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024919131-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024921141-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024923161-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024925061-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024926961-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024929001-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024931021-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024932911-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024934891-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024936901-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024938871-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024940781-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024942681-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024944841-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024946891-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024948891-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024950941-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024952931-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024954981-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024956831-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024958741-05:00 integrations/base.py:135: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024960921-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024962991-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024965051-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024967211-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024969271-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024971271-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024973251-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024975161-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024977191-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024979191-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024981171-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024983171-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024985251-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024987241-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024989301-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024991771-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024993971-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.024998511-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025000471-05:00 self.gen.throw(value) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025002701-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025004621-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025006711-05:00 @contextlib.contextmanager [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025008691-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025010691-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025015921-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025023091-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025026511-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025028441-05:00 yield [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025030491-05:00 except Exception as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025032570-05:00 mapped_exc = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025034520-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025036610-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025038540-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025040450-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025042510-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025044540-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025046540-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025049260-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025051160-05:00 mapped_exc = to_exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025053270-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025055310-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025057230-05:00 raise [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025059290-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025061220-05:00 message = str(exc) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025063210-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025065280-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025067130-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025069150-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025070990-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025072990-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025074830-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025076820-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025078800-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025080820-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025082800-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025084670-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025086740-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025088740-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025090720-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025092710-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025094800-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025096780-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025098830-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025100760-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025102740-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025104820-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025106780-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025108780-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025110680-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025112640-05:00 self = [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025114620-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025123250-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025125140-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025127270-05:00 def _request( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025129190-05:00 self, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025131230-05:00 method: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025133220-05:00 path: str, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025135220-05:00 *, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025137130-05:00 retry: bool = True, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025139220-05:00 **kwargs: Any, [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025141190-05:00 ) -> httpx.Response: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025143100-05:00 client = self._ensure_client() [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025145130-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025147220-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025149120-05:00 for attempt in range(attempts): [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025151120-05:00 try: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025153230-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025155250-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025157260-05:00 last_exc = exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025159220-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025161290-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025163270-05:00 continue [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025165230-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025167250-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025169220-05:00 ) from exc [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025171190-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025173060-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025175050-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025177080-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025179070-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025180900-05:00 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025184050-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025186090-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025188240-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025190230-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025192230-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025205610-05:00 config/settings.py 58 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025215810-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025224000-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025227490-05:00 fleet/admin.py 292 122 46 0 50% 74-75, 79, 82-85, 99, 103, 106, 140, 146-147, 169, 172, 193, 196, 207, 211, 258-267, 275-281, 286-296, 309-311, 340-344, 348-356, 360-363, 368-385, 390-404, 413-424, 460, 464-467, 471-500, 504-510, 524, 534-549, 584, 588 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025232240-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025244290-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025246930-05:00 fleet/apps.py 7 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025250120-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025252600-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025255210-05:00 fleet/device_sts.py 65 65 14 0 0% 36-220 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025263340-05:00 fleet/deviceconfig.py 180 123 68 0 23% 106, 113, 118, 123, 129, 141, 166-219, 224, 238-253, 277-331, 342-353, 357-359, 363-374, 383-385, 395-397, 403-415 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025265950-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025268450-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025271420-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025273940-05:00 fleet/knowledge.py 48 36 22 0 17% 41-51, 57-76, 88-101, 107-109, 121 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025276390-05:00 fleet/knowledge_seed.py 4 4 0 0 0% 26-140 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025278860-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025281440-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025283920-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025286390-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025288899-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025291329-05:00 fleet/management/commands/reconcile_deviceconfig.py 60 60 24 0 0% 26-148 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025293769-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025296269-05:00 fleet/manifest.py 28 28 4 0 0% 37-126 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025298709-05:00 fleet/models.py 174 16 14 0 84% 584-598, 606-616 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025301319-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025305049-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025307799-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025310589-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025313379-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025321599-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025324139-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025326569-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025329159-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025331989-05:00 fleet/tests_device_sts.py 150 150 2 0 0% 12-280 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025334419-05:00 fleet/tests_deviceconfig.py 334 334 4 0 0% 24-516 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025336939-05:00 fleet/tests_knowledge.py 178 178 6 0 0% 18-322 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025342409-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025345049-05:00 fleet/tests_manifest.py 92 92 0 0 0% 15-218 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025347579-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025350099-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025353359-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025355839-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025358269-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025361439-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025363939-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025366369-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025368839-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025371279-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025373829-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025376329-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025378829-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025381329-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025386549-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025389039-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025392349-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025394819-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025403679-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025406189-05:00 integrations/mender.py 116 85 38 0 20% 33-51, 61-79, 82-88, 92-97, 101-102, 111-121, 131-133, 143-153, 158, 161-162, 174-180, 189-190, 210-218, 221, 231 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025408669-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025411749-05:00 integrations/types.py 90 2 0 0 98% 68, 72 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025414279-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025416679-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025419899-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025422359-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025424899-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025428319-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025430799-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025433249-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025435749-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025438219-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025440699-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025443159-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025445669-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025448179-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025456459-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025459039-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025461539-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025464039-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025466889-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025469359-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025471879-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025474369-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025476809-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025479309-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025486699-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025489109-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025491549-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025493939-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025496489-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025498979-05:00 stores/views.py 40 40 4 0 0% 2-117 [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025502039-05:00 ------------------------------------------------------------------------------------------------- [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025504519-05:00 TOTAL 6573 5433 968 19 15% [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025507109-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025509649-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025512159-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025514629-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-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025517169-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.36s =================== [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025519689-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025522149-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-4skc4-contract-pod/step-run-contract] 2026-08-13T22:17:29.025969547-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above