===== app-contract-nightly-staging-gltkb-archive-logs-pod.log ===== [pod/app-contract-nightly-staging-gltkb-archive-logs-pod/prepare] 2026-07-23T21:47:39.083042907-05:00 2026/07/24 02:47:39 Entrypoint initialization [pod/app-contract-nightly-staging-gltkb-archive-logs-pod/place-scripts] 2026-07-23T21:47:40.342478511-05:00 2026/07/24 02:47:40 Decoded script /tekton/scripts/script-0-z9q5s [pod/app-contract-nightly-staging-gltkb-archive-logs-pod/place-scripts] 2026-07-23T21:47:40.398550559-05:00 2026/07/24 02:47:40 Decoded script /tekton/scripts/script-1-5z926 [pod/app-contract-nightly-staging-gltkb-archive-logs-pod/step-collect-logs] 2026-07-23T21:47:52.888229400-05:00 ==> collecting pod logs for PipelineRun=app-contract-nightly-staging-gltkb ===== app-contract-nightly-staging-gltkb-contract-pod.log ===== [pod/app-contract-nightly-staging-gltkb-contract-pod/prepare] 2026-07-23T21:47:03.097190216-05:00 2026/07/24 02:47:03 Entrypoint initialization [pod/app-contract-nightly-staging-gltkb-contract-pod/place-scripts] 2026-07-23T21:47:04.290118960-05:00 2026/07/24 02:47:04 Decoded script /tekton/scripts/script-0-b9d94 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:07.978070523-05:00 resolved deployed image: registry.storeminder.ai/storeminder/app:ee7cf4cd9cd61ed4ab4e7538ef34cddf96caed8c [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:08.044722797-05:00 job.batch/app-contract-20260724-024707 created [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.551755236-05:00 ----- contract Job logs (app-contract-20260724-024707) ----- [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837834298-05:00 Installing pytest (runtime image has no test deps)… [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837876728-05:00 Running LIVE read-only contract + parity suite: tests/contract [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837883348-05:00 ============================= test session starts ============================== [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837888238-05:00 platform linux -- Python 3.12.7, pytest-9.1.1, pluggy-1.6.0 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837893358-05:00 django: version: 5.2.16, settings: config.settings (from env) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837898058-05:00 rootdir: /app [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837904018-05:00 configfile: pytest.ini [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837909288-05:00 plugins: django-4.12.0, cov-7.1.0, anyio-4.14.2 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837913777-05:00 collected 31 items [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837918257-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837923377-05:00 tests/contract/test_fixture_parity.py .FFsss [ 19%] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837928297-05:00 tests/contract/test_grafana_contract.py sss [ 29%] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837933307-05:00 tests/contract/test_headscale_contract.py ... [ 38%] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837938717-05:00 tests/contract/test_mender_contract.py ssss [ 51%] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837943257-05:00 tests/contract/test_rundeck_contract.py FFF [ 61%] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837947967-05:00 tests/contract/test_shape_selfcheck.py ............ [100%] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837952427-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837957567-05:00 =================================== FAILURES =================================== [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837962307-05:00 ________________________ test_parity_rundeck_execution _________________________ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837966807-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837971747-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.837976557-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838027127-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838034177-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838038797-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838065307-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838070177-05:00 > yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838075967-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838080557-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838086117-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838091277-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838095897-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838115787-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838120877-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838125707-05:00 raise exc from None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838131997-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838136657-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838141307-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838145997-05:00 raise exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838618065-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838626235-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838629575-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838632755-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838636025-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838639115-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838642235-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838645235-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838648115-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838651115-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838654755-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838657975-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838660775-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838664625-05:00 map = {: , : } [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838669795-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838672735-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838675885-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838679065-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838682095-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838685255-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838688325-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838691365-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838695485-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838698575-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838701435-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838704895-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838707695-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838710855-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838713645-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838716555-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838719794-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838722664-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838725524-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838728454-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838731454-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838734574-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838741784-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838745074-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838748224-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838751334-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838754244-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838757954-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838761424-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838764384-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838767384-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838770484-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838778284-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838781254-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838791414-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838794594-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838804734-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838808234-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838811354-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838814464-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838817704-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838820594-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838823814-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838826854-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838830654-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838833684-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838836614-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838839574-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838842554-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838845504-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838848484-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838853224-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838856294-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838859554-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838862444-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838865664-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838868444-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838871394-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838874334-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838877244-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838882954-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838885954-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838888914-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838891964-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838895014-05:00 except Exception as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838898114-05:00 mapped_exc = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838901144-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838904054-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838907194-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838910184-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838913164-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838916354-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838919454-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838922624-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838925514-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838928454-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838931544-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838940814-05:00 raise [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838943864-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838946864-05:00 message = str(exc) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838949814-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838955204-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838958094-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838961234-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838964044-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838966924-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838969774-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838972714-05:00 def test_parity_rundeck_execution(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838975654-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838978814-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838982074-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838985274-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838988234-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838991203-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838994083-05:00 tests/contract/test_fixture_parity.py:73: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.838997053-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839000153-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839003133-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839006133-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839009983-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839012863-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839016063-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839018923-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839021693-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839024483-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839027403-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839030363-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839033133-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839036023-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839038943-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839041833-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839045583-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839048493-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839051413-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839054403-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839057343-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839060283-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839065203-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839068363-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839071893-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839074823-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839077823-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839080973-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839083943-05:00 last_exc = exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839092313-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839099663-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839103063-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839106443-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839109443-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839112413-05:00 ) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839116203-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839118983-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839122083-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839125163-05:00 __________________________ test_parity_rundeck_output __________________________ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839128013-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839131003-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839133993-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839136923-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839139813-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839142793-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839145903-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839148883-05:00 > yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839151723-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839154553-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839158073-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839161283-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839164373-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839167443-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839170763-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839173993-05:00 raise exc from None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839177143-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839180123-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839183513-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839186443-05:00 raise exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839190133-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839193203-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839196223-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839199553-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839202673-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839211463-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839214623-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839218803-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839222823-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839226043-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839229123-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839232243-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839252023-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839255273-05:00 map = {: , : } [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839258293-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839261212-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839264602-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839267772-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839270932-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839273972-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839277042-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839280262-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839283112-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839286362-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839289302-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839292422-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839295312-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839298212-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839301122-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839304222-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839307402-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839310372-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839313222-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839316082-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839319142-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839322332-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839325672-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839329002-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839332062-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839335212-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839348582-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839354122-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839357362-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839360342-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839364552-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839367582-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839370732-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839373822-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839376662-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839379572-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839382922-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839386072-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839389412-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839392602-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839395772-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839399712-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839403002-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839406102-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839413562-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839424472-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839496582-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839503792-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839508662-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839513932-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839519822-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839524682-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839529431-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839534311-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839539571-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839562711-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839568481-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839573961-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839579391-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839584381-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839589101-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839593831-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839598691-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839603411-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839608121-05:00 except Exception as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839613071-05:00 mapped_exc = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839617741-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839622551-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839627381-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839632041-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839636871-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839641771-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839646561-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839651381-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839656331-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839661061-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839665841-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839670831-05:00 raise [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839675461-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839680291-05:00 message = str(exc) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839687221-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839691961-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839696621-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839702061-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839706521-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839711371-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839715941-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839720761-05:00 def test_parity_rundeck_output(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839726311-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839731221-05:00 ver = rc.config.extra.get("api_version", "48") [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839735841-05:00 proj = rc.config.extra.get("project", "storeminder") [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839740861-05:00 > execs = (_live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) or {}).get("executions") or [] [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839756871-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839760421-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839763541-05:00 tests/contract/test_fixture_parity.py:90: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839767721-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839770991-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839774491-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839777591-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839781211-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839785361-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839788741-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839792171-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839795221-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839798660-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839801990-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839805520-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839808580-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839812070-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839815510-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839818810-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839822840-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839826240-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839829470-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839832730-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839836450-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839839920-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839843200-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839846950-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839850200-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839853480-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839856920-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839860920-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839864420-05:00 last_exc = exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839867880-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839871220-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839874580-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839878200-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839881730-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839885240-05:00 ) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839888790-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839892080-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839895260-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839898990-05:00 ____________________________ test_rundeck_reachable ____________________________ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839902070-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839905470-05:00 def test_rundeck_reachable(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839917850-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839921370-05:00 health = rc.healthcheck() # GET /api/{v}/system/info [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839930780-05:00 > assert health.reachable, f"rundeck unreachable: {health.detail}" [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839934270-05:00 E AssertionError: rundeck unreachable: rundeck: GET /api/48/system/info failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839937580-05:00 E assert False [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839940840-05:00 E + where False = .reachable [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839943920-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839947020-05:00 tests/contract/test_rundeck_contract.py:37: AssertionError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839950420-05:00 _________________________ test_rundeck_execution_shape _________________________ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839953390-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839956630-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839959870-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839963120-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839966420-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839969730-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839973120-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839976520-05:00 > yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839979540-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839982850-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839986430-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839989710-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839993180-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.839996770-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840000260-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840003420-05:00 raise exc from None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840007180-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840010480-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840014050-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840017490-05:00 raise exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840020970-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840024460-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840027640-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840031200-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840034340-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840037690-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840041840-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840047340-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840050890-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840054170-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840057480-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840061600-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840064770-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840070009-05:00 map = {: , : } [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840073249-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840089279-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840093239-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840096569-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840099889-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840103339-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840106649-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840110099-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840113489-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840116849-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840120049-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840123329-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840126649-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840129879-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840133059-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840136819-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840140249-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840143259-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840146619-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840149649-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840152989-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840156049-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840159469-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840162699-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840167009-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840171129-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840174389-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840178279-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840181579-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840184679-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840188119-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840191439-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840194799-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840198019-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840201199-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840204489-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840207819-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840211019-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840214269-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840217879-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840221189-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840224449-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840227769-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840230899-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840236859-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840240219-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840243409-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840246769-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840258179-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840261409-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840264719-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840267949-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840271369-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840274609-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840277899-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840281089-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840284209-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840287379-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840290679-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840293879-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840297209-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840300719-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840304089-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840307509-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840310859-05:00 except Exception as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840313909-05:00 mapped_exc = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840317219-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840321419-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840324859-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840328199-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840331579-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840335019-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840352238-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840359238-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840362998-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840366338-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840369698-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840373118-05:00 raise [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840376668-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840380078-05:00 message = str(exc) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840383748-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840387098-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840390278-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840393968-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840397218-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840402658-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840406058-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840409248-05:00 def test_rundeck_execution_shape(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840412738-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840416138-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840419448-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840422688-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840425928-05:00 tests/contract/test_rundeck_contract.py:42: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840429428-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840434418-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840444488-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840447838-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840451468-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840454828-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840458318-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840461458-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840465028-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840468878-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840472528-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840475458-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840479418-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840482688-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840486038-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840489248-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840492798-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840497468-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840500658-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840503868-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840507248-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840510638-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840513758-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840517088-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840520278-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840523758-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840527088-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840530678-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840534378-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840537708-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840541178-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840544448-05:00 last_exc = exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840547658-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840551168-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840554308-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840557628-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840561008-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840564328-05:00 ) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840567948-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840571088-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840574458-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840578008-05:00 __________________________ test_rundeck_output_shape ___________________________ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840581178-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840584308-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840590798-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840594397-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840599397-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840602617-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840613887-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840617097-05:00 > yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840620327-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840626067-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:101: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840630027-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840633447-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:250: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840637027-05:00 resp = self._pool.handle_request(req) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840640607-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840644157-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:256: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840647687-05:00 raise exc from None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840651347-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py:236: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840654907-05:00 response = connection.handle_request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840658367-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:101: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840661817-05:00 raise exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840665147-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:78: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840668697-05:00 stream = self._connect(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840672107-05:00 ^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840675437-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py:124: in _connect [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840678757-05:00 stream = self._network_backend.connect_tcp(**kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840682247-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840686157-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py:207: in connect_tcp [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840689377-05:00 with map_exceptions(exc_map): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840692707-05:00 ^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840695987-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840699537-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840702817-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840706067-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840709537-05:00 map = {: , : } [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840712737-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840715937-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840719497-05:00 def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840722967-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840726497-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840729687-05:00 except Exception as exc: # noqa: PIE786 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840733097-05:00 for from_exc, to_exc in map.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840736407-05:00 if isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840739827-05:00 > raise to_exc(exc) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840743307-05:00 E httpcore.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840746387-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840750417-05:00 /usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py:14: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840753627-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840757027-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840760197-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840763517-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840775407-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840778927-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840781897-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840785257-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840788847-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840792107-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840795287-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840798637-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840801997-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840805237-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840808977-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840812357-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840815947-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840819237-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840822757-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840826117-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840829337-05:00 > resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840832637-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840836067-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840839477-05:00 integrations/base.py:135: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840842777-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840846827-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:825: in request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840850196-05:00 return self.send(request, auth=auth, follow_redirects=follow_redirects) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840854056-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840857516-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:914: in send [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840860816-05:00 response = self._send_handling_auth( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840864476-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840867776-05:00 response = self._send_handling_redirects( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840871226-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840874656-05:00 response = self._send_single_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840877936-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840881406-05:00 /usr/local/lib/python3.12/site-packages/httpx/_client.py:1014: in _send_single_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840884806-05:00 response = transport.handle_request(request) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840888046-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840891626-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:249: in handle_request [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840894886-05:00 with map_httpcore_exceptions(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840898776-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840904486-05:00 /usr/local/lib/python3.12/contextlib.py:158: in __exit__ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840908146-05:00 self.gen.throw(value) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840912866-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840915966-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840919486-05:00 @contextlib.contextmanager [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840922676-05:00 def map_httpcore_exceptions() -> typing.Iterator[None]: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840926416-05:00 global HTTPCORE_EXC_MAP [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840929526-05:00 if len(HTTPCORE_EXC_MAP) == 0: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840939386-05:00 HTTPCORE_EXC_MAP = _load_httpcore_exceptions() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840942936-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840946016-05:00 yield [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840949706-05:00 except Exception as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840952766-05:00 mapped_exc = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840956286-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840959666-05:00 for from_exc, to_exc in HTTPCORE_EXC_MAP.items(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840962766-05:00 if not isinstance(exc, from_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840966366-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840969756-05:00 # We want to map to the most specific exception we can find. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840973146-05:00 # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840976626-05:00 # `httpx.ReadTimeout`, not just `httpx.TimeoutException`. [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840980096-05:00 if mapped_exc is None or issubclass(to_exc, mapped_exc): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840983456-05:00 mapped_exc = to_exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840987006-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840990386-05:00 if mapped_exc is None: # pragma: no cover [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840993596-05:00 raise [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.840997016-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841000236-05:00 message = str(exc) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841003606-05:00 > raise mapped_exc(message) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841006876-05:00 E httpx.ConnectError: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841009946-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841013326-05:00 /usr/local/lib/python3.12/site-packages/httpx/_transports/default.py:118: ConnectError [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841016526-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841019816-05:00 The above exception was the direct cause of the following exception: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841023006-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841026376-05:00 def test_rundeck_output_shape(): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841029896-05:00 rc = _live.live_rundeck() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841033736-05:00 > ex = _recent_execution(rc) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841037276-05:00 ^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841040376-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841043946-05:00 tests/contract/test_rundeck_contract.py:59: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841047106-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841050606-05:00 tests/contract/test_rundeck_contract.py:24: in _recent_execution [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841053976-05:00 data = _live.get_json(rc, f"/api/{ver}/project/{proj}/executions", max=1) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841057986-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841061386-05:00 tests/contract/_live.py:116: in get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841064856-05:00 return client._get_json(path, params=params or None) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841068196-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841071636-05:00 integrations/base.py:174: in _get_json [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841075156-05:00 return self._request("GET", path, **kwargs).json() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841078436-05:00 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841082056-05:00 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841084956-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841088766-05:00 self = [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841092296-05:00 method = 'GET', path = '/api/48/project/storeminder/executions', retry = True [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841102516-05:00 kwargs = {'params': {'max': 1}} [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841106385-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841109835-05:00 def _request( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841113065-05:00 self, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841116345-05:00 method: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841119445-05:00 path: str, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841122825-05:00 *, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841126155-05:00 retry: bool = True, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841129655-05:00 **kwargs: Any, [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841132865-05:00 ) -> httpx.Response: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841136405-05:00 client = self._ensure_client() [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841139845-05:00 attempts = (self.config.retries + 1) if retry else 1 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841143305-05:00 last_exc: Exception | None = None [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841147235-05:00 for attempt in range(attempts): [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841150545-05:00 try: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841153745-05:00 resp = client.request(method, path, **kwargs) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841157145-05:00 except (httpx.TimeoutException, httpx.TransportError) as exc: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841160595-05:00 last_exc = exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841163745-05:00 if attempt + 1 < attempts: [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841167045-05:00 time.sleep(self._backoff(attempt)) [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841170285-05:00 continue [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841173715-05:00 > raise IntegrationUnavailable( [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841177335-05:00 f"{self.name}: {method} {path} failed: {exc}" [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841180575-05:00 ) from exc [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841184155-05:00 E integrations.errors.IntegrationUnavailable: rundeck: GET /api/48/project/storeminder/executions failed: [Errno 111] Connection refused [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841187425-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841191395-05:00 integrations/base.py:141: IntegrationUnavailable [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841195055-05:00 ================================ tests coverage ================================ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841198595-05:00 _______________ coverage: platform linux, python 3.12.7-final-0 ________________ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841201865-05:00 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841205505-05:00 Name Stmts Miss Branch BrPart Cover Missing [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841208875-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841212085-05:00 config/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841215315-05:00 config/admin_gate.py 90 90 30 0 0% 32-203 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841218705-05:00 config/readiness.py 75 75 12 0 0% 47-184 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841240005-05:00 config/settings.py 54 2 6 3 92% 130->138, 139, 141 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841243715-05:00 config/urls.py 9 9 0 0 0% 2-18 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841246915-05:00 fleet/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841253515-05:00 fleet/admin.py 256 105 34 0 52% 73-74, 78, 81-84, 98, 102, 105, 139, 145-146, 168, 171, 192, 195, 206, 210, 257-266, 274-280, 285-295, 308-310, 339-343, 347-355, 359-362, 367-384, 389-403, 412-423, 459, 463-466, 470-499, 503-509 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841258045-05:00 fleet/api_consent.py 84 84 32 0 0% 23-170 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841267805-05:00 fleet/api_manifest.py 28 28 8 0 0% 38-90 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841271325-05:00 fleet/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841275495-05:00 fleet/contacts.py 26 18 8 0 24% 54, 63-70, 82-89, 102-129 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841279895-05:00 fleet/correlate.py 51 51 12 0 0% 28-170 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841283335-05:00 fleet/forms.py 17 8 4 0 43% 17-19, 22-31 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841286775-05:00 fleet/home.py 13 13 4 0 0% 28-51 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841289995-05:00 fleet/integrity.py 36 30 26 0 10% 23-28, 33-39, 44-47, 52-59, 64-70 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841293815-05:00 fleet/logs.py 113 113 18 0 0% 26-287 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841297095-05:00 fleet/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841300875-05:00 fleet/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841304185-05:00 fleet/management/commands/poll_selftests.py 24 24 6 0 0% 13-61 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841307845-05:00 fleet/management/commands/reconcile_consents.py 37 37 10 0 0% 19-96 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841311265-05:00 fleet/management/commands/sync_devices.py 222 222 84 0 0% 34-364 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841314765-05:00 fleet/manifest.py 16 16 2 0 0% 32-101 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841318295-05:00 fleet/models.py 136 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841323735-05:00 fleet/reconcile.py 111 79 34 0 22% 62, 67, 71-72, 82-87, 104-142, 148-161, 181-194, 202-205, 223-226, 239-244, 258-287 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841327375-05:00 fleet/roles.py 27 14 6 0 39% 95-108, 129-133 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841330665-05:00 fleet/scoping.py 32 25 12 0 16% 17-19, 26-28, 36-39, 44-47, 53-58, 66-72 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841334255-05:00 fleet/selftest.py 116 90 24 0 19% 67, 71, 90-124, 136-163, 168-173, 184-191, 201-214, 219-224, 235-254, 269-277 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841345485-05:00 fleet/status.py 144 82 26 0 36% 78, 101-106, 110-120, 124, 128, 132, 135-136, 163-164, 168, 185-188, 200-215, 219-221, 232-235, 241-255, 260-278, 283-286, 298-303, 307-312 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841351385-05:00 fleet/tests_authority.py 125 125 2 0 0% 4-229 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841354825-05:00 fleet/tests_consent.py 149 149 0 0 0% 16-284 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841358205-05:00 fleet/tests_consent_event.py 113 113 2 0 0% 9-195 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841362384-05:00 fleet/tests_correlate.py 51 51 4 0 0% 2-83 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841365914-05:00 fleet/tests_logs.py 163 163 2 0 0% 11-242 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841369334-05:00 fleet/tests_manifest.py 80 80 0 0 0% 15-190 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841372964-05:00 fleet/tests_memberships.py 179 179 2 0 0% 15-305 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841384104-05:00 fleet/tests_selftest.py 130 130 0 0 0% 14-255 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841387574-05:00 fleet/tests_status.py 219 219 2 0 0% 8-377 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841390754-05:00 fleet/tests_sync.py 178 178 8 0 0% 21-343 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841394214-05:00 fleet/tests_sync_integration.py 29 29 2 0 0% 17-83 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841399844-05:00 fleet/urls_consent.py 3 3 0 0 0% 5-9 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841403154-05:00 fleet/urls_logs.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841406334-05:00 fleet/urls_manifest.py 3 3 0 0 0% 7-11 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841409844-05:00 fleet/urls_selftest.py 3 3 0 0 0% 6-10 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841416314-05:00 fleet/urls_status.py 4 4 0 0 0% 7-13 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841420024-05:00 fleet/validators.py 25 18 8 0 21% 27-29, 38-52 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841423624-05:00 integrations/__init__.py 18 5 0 0 72% 48, 52, 56, 60, 64 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841428364-05:00 integrations/base.py 122 33 32 12 67% 39, 43-51, 55, 60-62, 96, 99, 100->108, 111-113, 116, 119, 146-147, 161, 165, 176, 179, 186-187, 193, 196, 205, 220 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841432104-05:00 integrations/config.py 57 36 14 0 30% 18, 53-60, 64-66, 74-107, 111-116 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841435404-05:00 integrations/enroll.py 20 10 4 0 42% 28, 37-46, 50, 66 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841438824-05:00 integrations/errors.py 9 2 0 0 78% 35-36 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841444614-05:00 integrations/grafana.py 68 50 22 0 20% 27, 30, 33, 36, 43-50, 60-72, 75-97, 110-123, 126-135, 141 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841448134-05:00 integrations/headscale.py 33 8 12 4 64% 17, 26, 32-35, 42, 47->46, 49 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841452214-05:00 integrations/health.py 20 20 2 0 0% 6-43 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841455374-05:00 integrations/mender.py 79 57 26 0 21% 28-46, 56-74, 77-83, 87-92, 96-97, 102, 105-106, 118-124, 133-134, 148 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841459354-05:00 integrations/rundeck.py 46 25 10 0 38% 44-49, 65-81, 85-89, 95-103, 114-117, 126 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841462724-05:00 integrations/types.py 82 2 0 0 98% 68, 72 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841465904-05:00 integrations/urls.py 3 3 0 0 0% 1-5 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841469114-05:00 integrations/views.py 6 6 0 0 0% 7-16 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841472994-05:00 stores/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841476394-05:00 stores/admin.py 87 30 12 0 58% 95, 101-104, 107-110, 118-121, 142, 145, 148-152, 156-168, 183 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841480024-05:00 stores/api.py 66 66 20 0 0% 35-159 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841489634-05:00 stores/apps.py 5 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841493064-05:00 stores/forms.py 35 20 12 0 32% 73-77, 81-84, 87-105 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841496404-05:00 stores/geocoding.py 115 115 34 0 0% 15-210 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841500534-05:00 stores/management/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841503704-05:00 stores/management/commands/__init__.py 0 0 0 0 100% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841507114-05:00 stores/management/commands/check_authority.py 39 39 14 0 0% 14-76 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841510854-05:00 stores/management/commands/migrate_owner_staff.py 73 73 28 0 0% 32-204 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841514374-05:00 stores/management/commands/notify_new_enrolls.py 36 36 8 0 0% 11-75 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841517694-05:00 stores/management/commands/reattach_store.py 50 50 14 0 0% 29-94 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841521124-05:00 stores/management/commands/seed_e2e_fleet.py 231 231 34 0 0% 52-623 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841524384-05:00 stores/management/commands/seed_pilot_stores.py 68 68 16 0 0% 20-141 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841528024-05:00 stores/management/commands/sync_roles.py 24 24 8 0 0% 12-54 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841531284-05:00 stores/map.py 69 69 18 0 0% 19-155 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841534714-05:00 stores/models.py 112 4 0 0 96% 185, 211, 228, 231 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841538274-05:00 stores/scoping.py 5 3 2 0 29% 22-24 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841541684-05:00 stores/tests_api.py 105 105 0 0 0% 12-174 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841545284-05:00 stores/tests_authority.py 128 128 4 0 0% 7-238 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841548784-05:00 stores/tests_basemap.py 41 41 4 0 0% 7-80 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841553804-05:00 stores/tests_collector_config.py 66 66 2 0 0% 8-104 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841557334-05:00 stores/tests_geo.py 72 72 0 0 0% 8-127 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841560684-05:00 stores/tests_map.py 68 68 2 0 0% 6-106 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841569634-05:00 stores/tests_pilot_seed.py 94 94 0 0 0% 7-175 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841573234-05:00 stores/tests_report_config.py 29 29 0 0 0% 6-47 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841576394-05:00 stores/urls.py 4 4 0 0 0% 1-6 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841579614-05:00 stores/views.py 39 39 4 0 0% 2-112 [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841582584-05:00 ----------------------------------------------------------------------------------------------- [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841586004-05:00 TOTAL 5404 4397 788 19 17% [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841589284-05:00 Coverage XML written to file coverage.xml [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841592824-05:00 =========================== short test summary info ============================ [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841595934-05:00 SKIPPED [5] tests/contract/_live.py:75: mender not configured (MENDER_URL/MENDER_API_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841605694-05:00 SKIPPED [5] tests/contract/_live.py:101: grafana not configured (GRAFANA_URL/GRAFANA_TOKEN absent) — token not seeded yet [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841608924-05:00 =================== 5 failed, 16 passed, 10 skipped in 9.91s =================== [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841612414-05:00 ===CONTRACT_RC=1=== [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.841615644-05:00 ----- end contract Job logs ----- [pod/app-contract-nightly-staging-gltkb-contract-pod/step-run-contract] 2026-07-23T21:47:34.843941585-05:00 ==> contract run: Failed — STUB-VS-REALITY DRIFT or a live client broke — see the drift report in the Job logs above