Using CPython 3.14.6 interpreter at: /usr/local/bin/python3 Creating virtual environment at: .venv Resolved 32 packages in 10.54s Building slices-monitor-test-runner @ file:///app Built slices-monitor-test-runner @ file:///app Prepared 1 package in 741ms warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. If the cache and target directories are on different filesystems, hardlinking may not be supported. If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning. Installed 32 packages in 1.02s + annotated-types==0.7.0 + anyio==4.14.2 + authlib==1.7.2 + bcrypt==5.0.0 + certifi==2026.6.17 + cffi==2.1.0 + cryptography==49.0.0 + dnspython==2.8.0 + h11==0.16.0 + httpcore==1.0.9 + httpx==0.28.1 + httpx-oauth==0.17.0 + idna==3.18 + invoke==3.0.3 + joserfc==1.7.4 + msgspec==0.21.1 + packaging==26.2 + paramiko==4.0.0 + pycparser==3.0 + pydantic==2.13.4 + pydantic-core==2.46.4 + pyjwt==2.13.0 + pynacl==1.6.2 + pytz==2026.2 + pyyaml==6.0.3 + slices-clientlib-bi==5.1.2 + slices-clientlib-core==5.6.0 + slices-monitor-test-runner==0.1.dev187+g005dd054e (from file:///app) + tomli-w==1.2.0 + tomlkit==0.15.1 + typing-extensions==4.16.0 + typing-inspection==0.4.2 Run Test: slices-bi-singlenode-login 2026-07-19 20:09:03.941837 UTC - Installing Slices CLI (latest stable version). 2026-07-19 20:09:03.942123 UTC - Run: /usr/local/bin/uv pip install --index=https://doc.slices-ri.eu/pypi/ slices-cli 2026-07-19 20:09:09.586265 UTC - Slices CLI installed. 2026-07-19 20:09:09.586622 UTC - PATH: {'PATH': '/app/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin/:/root/slices-cli-venv/bin', 'COLUMNS': '200'} 2026-07-19 20:09:09.589926 UTC - ls -a /root/ /scripts/ (error 2): None b"ls: cannot access '/scripts/': No such file or directory\n/root/:\n.\n..\n.cache\n.local\n.slices\nrun_test_runner.sh\nslices-cli-venv\n" 2026-07-19 20:09:09.591262 UTC - which slices: b'/app/.venv/bin/slices\n' 2026-07-19 20:09:09.591386 UTC - OS release: PRETTY_NAME="Debian GNU/Linux 13 (trixie)" NAME="Debian GNU/Linux" VERSION_ID="13" VERSION="13 (trixie)" VERSION_CODENAME=trixie DEBIAN_VERSION_FULL=13.5 ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" 2026-07-19 20:09:09.591415 UTC - Slices CLI exe: 'slices' 2026-07-19 20:09:09.591431 UTC - Slices CLI venv path: '/root/slices-cli-venv/' 2026-07-19 20:09:09.591546 UTC - Run: slices --version 2026-07-19 20:09:15.523358 UTC - version: Slices CLI v2026.1.2 Slices CLI core v1.2.4 Slices CLI ai v1.1.0 Slices CLI bi v2.2.0 Slices clientlib bi v6.1.1 Slices clientlib ai v1.0.0 Slices clientlib core v5.5.1 2026-07-19 20:09:15.524621 UTC - Run: slices pubkey list --format text 2026-07-19 20:09:16.502715 UTC - Pubkey already registered 2026-07-19 20:09:16.502950 UTC - Run: slices bi infrastructure list --format csv --all --refresh 2026-07-19 20:09:17.123374 UTC - Refreshed infrastructure list. Total: 24 entries. 2026-07-19 20:09:17.123474 UTC - Check List Flavors 2026-07-19 20:09:17.123660 UTC - Run: slices bi --infra de-munich-bi-vm flavor list -f json 2026-07-19 20:09:18.714931 UTC - Check List DiskImages 2026-07-19 20:09:18.715155 UTC - Run: slices bi --infra de-munich-bi-vm diskimage list -f json 2026-07-19 20:09:19.430359 UTC - Requesting resources 2026-07-19 20:09:19.430843 UTC - Cloudinit user data: #!/bin/sh echo "Hello World. The time is now $(date -R)!" | tee '/user_data_output.txt' 2026-07-19 20:09:19.430953 UTC - Run: slices bi --infra de-munich-bi-vm create tst --image 'Ubuntu 24.04.3' --flavor tiny --duration 2h --experiment tst-5985a96b --user-data /tmp/tmp46f85hfb 2026-07-19 20:09:23.929169 UTC - Resource ID: r_de-munich-bi-vm_01kxxzyss1e3r8wk5zdcewkjqa 2026-07-19 20:09:23.929322 UTC - Waiting until resource ready 2026-07-19 20:09:25.929704 UTC - Run: slices bi --infra de-munich-bi-vm list-resources --format json --experiment tst-5985a96b tst 2026-07-19 20:09:27.263166 UTC - Status: IMAGING 2026-07-19 20:09:30.134615 UTC - Status: BOOTING 2026-07-19 20:09:33.125589 UTC - Status: BOOTING 2026-07-19 20:09:36.558458 UTC - Status: BOOTING 2026-07-19 20:09:40.310103 UTC - Status: BOOTING 2026-07-19 20:09:43.125810 UTC - Status: BOOTING 2026-07-19 20:09:46.516122 UTC - Status: BOOTING 2026-07-19 20:09:49.765158 UTC - Status: UP 2026-07-19 20:09:49.765228 UTC - Experiment ID: exp_expauth.ilabt.imec.be_01kxxzyr6pf6r8sxd2q0dbtmkq 2026-07-19 20:09:49.765268 UTC - Validate resources 2026-07-19 20:10:52.435266 UTC - Content of log file '/test_dir/step_Validateresources_command_1.txt': slices bi --infra de-munich-bi-vm list-resources --format json --experiment tst-5985a96b tst 2026-07-19 20:10:52.435992 UTC - Content of log file '/test_dir/list-resources_STDERR.txt': ╭───────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────────────────────────────────╮ │ /app/.venv/lib/python3.14/site-packages/httpx/_transports/default.py:101 in map_httpcore_exceptions │ │ │ │ 98 │ if len(HTTPCORE_EXC_MAP) == 0: │ │ 99 │ │ HTTPCORE_EXC_MAP = _load_httpcore_exceptions() │ │ 100 │ try: │ │ ❱ 101 │ │ yield │ │ 102 │ except Exception as exc: │ │ 103 │ │ mapped_exc = None │ │ 104 │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_transports/default.py:250 in handle_request │ │ │ │ 247 │ │ │ extensions=request.extensions, │ │ 248 │ │ ) │ │ 249 │ │ with map_httpcore_exceptions(): │ │ ❱ 250 │ │ │ resp = self._pool.handle_request(req) │ │ 251 │ │ │ │ 252 │ │ assert isinstance(resp.stream, typing.Iterable) │ │ 253 │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_sync/connection_pool.py:256 in handle_request │ │ │ │ 253 │ │ │ │ closing = self._assign_requests_to_connections() │ │ 254 │ │ │ │ │ 255 │ │ │ self._close_connections(closing) │ │ ❱ 256 │ │ │ raise exc from None │ │ 257 │ │ │ │ 258 │ │ # Return the response. Note that in this case we still have to manage │ │ 259 │ │ # the point at which the response is closed. │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_sync/connection_pool.py:236 in handle_request │ │ │ │ 233 │ │ │ │ │ │ 234 │ │ │ │ try: │ │ 235 │ │ │ │ │ # Send the request on the assigned connection. │ │ ❱ 236 │ │ │ │ │ response = connection.handle_request( │ │ 237 │ │ │ │ │ │ pool_request.request │ │ 238 │ │ │ │ │ ) │ │ 239 │ │ │ │ except ConnectionNotAvailable: │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_sync/connection.py:101 in handle_request │ │ │ │ 98 │ │ │ │ │ │ ) │ │ 99 │ │ except BaseException as exc: │ │ 100 │ │ │ self._connect_failed = True │ │ ❱ 101 │ │ │ raise exc │ │ 102 │ │ │ │ 103 │ │ return self._connection.handle_request(request) │ │ 104 │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_sync/connection.py:78 in handle_request │ │ │ │ 75 │ │ try: │ │ 76 │ │ │ with self._request_lock: │ │ 77 │ │ │ │ if self._connection is None: │ │ ❱ 78 │ │ │ │ │ stream = self._connect(request) │ │ 79 │ │ │ │ │ │ │ 80 │ │ │ │ │ ssl_object = stream.get_extra_info("ssl_object") │ │ 81 │ │ │ │ │ http2_negotiated = ( │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_sync/connection.py:156 in _connect │ │ │ │ 153 │ │ │ │ │ │ "timeout": timeout, │ │ 154 │ │ │ │ │ } │ │ 155 │ │ │ │ │ with Trace("start_tls", logger, request, kwargs) as trace: │ │ ❱ 156 │ │ │ │ │ │ stream = stream.start_tls(**kwargs) │ │ 157 │ │ │ │ │ │ trace.return_value = stream │ │ 158 │ │ │ │ return stream │ │ 159 │ │ │ except (ConnectError, ConnectTimeout): │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_backends/sync.py:154 in start_tls │ │ │ │ 151 │ │ │ socket.timeout: ConnectTimeout, │ │ 152 │ │ │ OSError: ConnectError, │ │ 153 │ │ } │ │ ❱ 154 │ │ with map_exceptions(exc_map): │ │ 155 │ │ │ try: │ │ 156 │ │ │ │ if isinstance(self._sock, ssl.SSLSocket): # pragma: no cover │ │ 157 │ │ │ │ │ # If the underlying socket has already been upgraded │ │ │ │ /usr/local/lib/python3.14/contextlib.py:162 in __exit__ │ │ │ │ 159 │ │ │ │ # tell if we get the same exception back │ │ 160 │ │ │ │ value = typ() │ │ 161 │ │ │ try: │ │ ❱ 162 │ │ │ │ self.gen.throw(value) │ │ 163 │ │ │ except StopIteration as exc: │ │ 164 │ │ │ │ # Suppress StopIteration *unless* it's the same exception that │ │ 165 │ │ │ │ # was passed to throw(). This prevents a StopIteration │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpcore/_exceptions.py:14 in map_exceptions │ │ │ │ 11 │ except Exception as exc: # noqa: PIE786 │ │ 12 │ │ for from_exc, to_exc in map.items(): │ │ 13 │ │ │ if isinstance(exc, from_exc): │ │ ❱ 14 │ │ │ │ raise to_exc(exc) from exc │ │ 15 │ │ raise # pragma: nocover │ │ 16 │ │ 17 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ConnectTimeout: _ssl.c:1064: The handshake operation timed out The above exception was the direct cause of the following exception: ╭───────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────────────────────────────────╮ │ /app/.venv/lib/python3.14/site-packages/slices_cli_bi/commands/bi_helpers.py:83 in wrapper_handle_some_exceptions │ │ │ │ 80 │ def wrapper_handle_some_exceptions(*args, **kwargs): │ │ 81 │ │ """Function wrapper for handle_some_exceptions.""" # noqa: D401 │ │ 82 │ │ try: │ │ ❱ 83 │ │ │ return func(*args, **kwargs) │ │ 84 │ │ except ApiResponseError as e: │ │ 85 │ │ │ if e._httpx_status_error.response.status_code in ( │ │ 86 │ │ │ │ 502, │ │ │ │ /app/.venv/lib/python3.14/site-packages/slices_cli_bi/commands/bi.py:932 in list_experiment_resources │ │ │ │ 929 │ ] = "created", # type: ignore │ │ 930 ): │ │ 931 │ """List basic infrastructure details of BI resources in an experiment.""" │ │ ❱ 932 │ exp = bi_get_experiment(ctx, experiment) │ │ 933 │ │ │ 934 │ if exp.expires_at < datetime.now(timezone.utc): │ │ 935 │ │ err_console.print(f"[red]Experiment {exp.friendly_name} has expired :x:") │ │ │ │ /app/.venv/lib/python3.14/site-packages/slices_cli_bi/commands/bi_helpers.py:114 in bi_get_experiment │ │ │ │ 111 │ if is_type_id(experiment_id, type="exp"): │ │ 112 │ │ exp_obj = ctx.obj.api.experiment.get(experiment_id) │ │ 113 │ else: │ │ ❱ 114 │ │ exp_obj = ctx.obj.api.get_experiment(experiment_id, project_id=ctx.obj.require_project_id()) │ │ 115 │ │ │ 116 │ if not exp_obj: │ │ 117 │ │ err_console.print(f"Could not retrieve experiment {experiment_id} :x:") │ │ │ │ /app/.venv/lib/python3.14/site-packages/slices_cli_bi/core/api.py:153 in get_experiment │ │ │ │ 150 │ │ """Get experiment by name.""" │ │ 151 │ │ return next( │ │ 152 │ │ │ iter( │ │ ❱ 153 │ │ │ │ self.experiment.list( │ │ 154 │ │ │ │ │ friendly_name=experiment_name, │ │ 155 │ │ │ │ │ project_id=project_id, │ │ 156 │ │ │ │ │ include_archived=not must_be_active, │ │ │ │ /app/.venv/lib/python3.14/site-packages/slices_clientlib_core/experiment.py:238 in list │ │ │ │ 235 │ │ │ if param_value is not None │ │ 236 │ │ } │ │ 237 │ │ │ │ ❱ 238 │ │ return PagedCollection("experiment", Experiment, self.API_BASE_PATH, self._client, params=params) │ │ 239 │ │ │ 240 │ def list_resources( │ │ 241 │ │ self, experiment_id: str, *, include_expired: bool | None = None, include_terminated: bool | None = None │ │ │ │ /app/.venv/lib/python3.14/site-packages/slices_clientlib_core/util/pagination.py:84 in __init__ │ │ │ │ 81 │ │ self._client = client │ │ 82 │ │ self._params = params │ │ 83 │ │ try: │ │ ❱ 84 │ │ │ response = self._client.get(url, params=params) │ │ 85 │ │ except HttpCoreConnectError as err: │ │ 86 │ │ │ raise ApiConnectError(url) from err │ │ 87 │ │ except HttpxConnectError as err: │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_client.py:1053 in get │ │ │ │ 1050 │ │ │ │ 1051 │ │ **Parameters**: See `httpx.request`. │ │ 1052 │ │ """ │ │ ❱ 1053 │ │ return self.request( │ │ 1054 │ │ │ "GET", │ │ 1055 │ │ │ url, │ │ 1056 │ │ │ params=params, │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_client.py:825 in request │ │ │ │ 822 │ │ │ timeout=timeout, │ │ 823 │ │ │ extensions=extensions, │ │ 824 │ │ ) │ │ ❱ 825 │ │ return self.send(request, auth=auth, follow_redirects=follow_redirects) │ │ 826 │ │ │ 827 │ @contextmanager │ │ 828 │ def stream( │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_client.py:914 in send │ │ │ │ 911 │ │ │ │ 912 │ │ auth = self._build_request_auth(request, auth) │ │ 913 │ │ │ │ ❱ 914 │ │ response = self._send_handling_auth( │ │ 915 │ │ │ request, │ │ 916 │ │ │ auth=auth, │ │ 917 │ │ │ follow_redirects=follow_redirects, │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_client.py:942 in _send_handling_auth │ │ │ │ 939 │ │ │ request = next(auth_flow) │ │ 940 │ │ │ │ │ 941 │ │ │ while True: │ │ ❱ 942 │ │ │ │ response = self._send_handling_redirects( │ │ 943 │ │ │ │ │ request, │ │ 944 │ │ │ │ │ follow_redirects=follow_redirects, │ │ 945 │ │ │ │ │ history=history, │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_client.py:979 in _send_handling_redirects │ │ │ │ 976 │ │ │ for hook in self._event_hooks["request"]: │ │ 977 │ │ │ │ hook(request) │ │ 978 │ │ │ │ │ ❱ 979 │ │ │ response = self._send_single_request(request) │ │ 980 │ │ │ try: │ │ 981 │ │ │ │ for hook in self._event_hooks["response"]: │ │ 982 │ │ │ │ │ hook(response) │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_client.py:1014 in _send_single_request │ │ │ │ 1011 │ │ │ ) │ │ 1012 │ │ │ │ 1013 │ │ with request_context(request=request): │ │ ❱ 1014 │ │ │ response = transport.handle_request(request) │ │ 1015 │ │ │ │ 1016 │ │ assert isinstance(response.stream, SyncByteStream) │ │ 1017 │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_transports/default.py:249 in handle_request │ │ │ │ 246 │ │ │ content=request.stream, │ │ 247 │ │ │ extensions=request.extensions, │ │ 248 │ │ ) │ │ ❱ 249 │ │ with map_httpcore_exceptions(): │ │ 250 │ │ │ resp = self._pool.handle_request(req) │ │ 251 │ │ │ │ 252 │ │ assert isinstance(resp.stream, typing.Iterable) │ │ │ │ /usr/local/lib/python3.14/contextlib.py:162 in __exit__ │ │ │ │ 159 │ │ │ │ # tell if we get the same exception back │ │ 160 │ │ │ │ value = typ() │ │ 161 │ │ │ try: │ │ ❱ 162 │ │ │ │ self.gen.throw(value) │ │ 163 │ │ │ except StopIteration as exc: │ │ 164 │ │ │ │ # Suppress StopIteration *unless* it's the same exception that │ │ 165 │ │ │ │ # was passed to throw(). This prevents a StopIteration │ │ │ │ /app/.venv/lib/python3.14/site-packages/httpx/_transports/default.py:118 in map_httpcore_exceptions │ │ │ │ 115 │ │ │ raise │ │ 116 │ │ │ │ 117 │ │ message = str(exc) │ │ ❱ 118 │ │ raise mapped_exc(message) from exc │ │ 119 │ │ 120 │ │ 121 class ResponseStream(SyncByteStream): │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ConnectTimeout: _ssl.c:1064: The handshake operation timed out 2026-07-19 20:10:52.436174 UTC - Error in test step 'Validate resources': "slices bi list-resources" failed 2026-07-19 20:10:52.437212 UTC - Step 'Validate resources' took 62.67 seconds, which is longer than the warning threshold of 5 seconds 2026-07-19 20:10:52.437283 UTC - Check if resources are registered in experiment 2026-07-19 20:10:52.437450 UTC - Run: slices experiment list-resources --format json tst-5985a96b 2026-07-19 20:10:54.107830 UTC - Status (on expauth): UP 2026-07-19 20:10:54.107963 UTC - Testing extend expires_at (all resources in experiment) 2026-07-19 20:10:54.108100 UTC - Run: slices bi --infra de-munich-bi-vm extend --duration 3h --experiment tst-5985a96b 2026-07-19 20:10:58.437810 UTC - Run: slices bi --infra de-munich-bi-vm list-resources --format json --experiment tst-5985a96b tst 2026-07-19 20:10:59.254490 UTC - Run: slices experiment list-resources --format json tst-5985a96b 2026-07-19 20:10:59.920196 UTC - expires_at (on expauth): 2026-07-19T23:10:00Z (correctly extended) 2026-07-19 20:10:59.920297 UTC - Testing extend expires_at (single resource in experiment) 2026-07-19 20:10:59.920462 UTC - Run: slices bi --infra de-munich-bi-vm extend tst --duration 4h --experiment tst-5985a96b 2026-07-19 20:11:03.243870 UTC - Run: slices bi --infra de-munich-bi-vm list-resources --format json --experiment tst-5985a96b tst 2026-07-19 20:11:04.317760 UTC - Run: slices experiment list-resources --format json tst-5985a96b 2026-07-19 20:11:05.084595 UTC - expires_at (on expauth): 2026-07-20T00:11:00Z (correctly extended) 2026-07-19 20:11:05.084773 UTC - Testing ssh login 2026-07-19 20:11:05.096912 UTC - Run: slices bi --infra de-munich-bi-vm ssh --no-exec --proxy on --show ssh_config --experiment tst-5985a96b tst 2026-07-19 20:11:06.065674 UTC - Run: slices bi --infra de-munich-bi-vm ssh --no-exec --proxy off --show server_pubkey_openssh --experiment tst-5985a96b tst 2026-07-19 20:11:07.086203 UTC - Run: slices bi --infra de-munich-bi-vm ssh --no-exec --proxy off --show proxy_pubkey_openssh --experiment tst-5985a96b tst 2026-07-19 20:11:08.152712 UTC - Logging in using 'slices bi ssh' 2026-07-19 20:11:08.152822 UTC - Forcing IPv4 only. 2026-07-19 20:11:08.152969 UTC - Run: slices bi --infra de-munich-bi-vm ssh --show nothing --experiment tst-5985a96b tst -- -4 uname -a 2026-07-19 20:11:11.174093 UTC - Forcing IPv4 only. 2026-07-19 20:11:11.174288 UTC - Run: slices bi --infra de-munich-bi-vm ssh --show nothing --experiment tst-5985a96b tst -- -4 uptime 2026-07-19 20:11:12.943076 UTC - CLI SSH Test passed. 2026-07-19 20:11:12.943250 UTC - Uname: Linux tst 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux 2026-07-19 20:11:12.943274 UTC - Uptime: 20:11:12 up 1 min, 1 user, load average: 0.11, 0.07, 0.02 2026-07-19 20:11:12.943316 UTC - Logging in using SSH over SSH proxy 2026-07-19 20:11:12.943491 UTC - Run: slices bi --infra de-munich-bi-vm ssh --no-exec --proxy on --show proxy_pubkey_openssh --experiment tst-5985a96b tst 2026-07-19 20:11:13.910667 UTC - Added paramiko HostKeyEntry for 172.30.255.5 2026-07-19 20:11:13.910913 UTC - Added paramiko HostKeyEntry for 172.30.255.5 2026-07-19 20:11:13.910979 UTC - Added paramiko HostKeyEntry for 172.30.255.5 2026-07-19 20:11:13.911319 UTC - Added paramiko HostKeyEntry for [tripwire.net.in.tum.de]:10022 2026-07-19 20:11:13.911422 UTC - Added paramiko HostKeyEntry for [tripwire.net.in.tum.de]:10022 2026-07-19 20:11:13.911493 UTC - Added paramiko HostKeyEntry for [tripwire.net.in.tum.de]:10022 2026-07-19 20:11:13.911515 UTC - Connecting to proxy tripwire.net.in.tum.de:10022 2026-07-19 20:11:14.308858 UTC - Connecting to 172.30.255.5:22 over proxy 2026-07-19 20:11:15.003652 UTC - SSH Test output: 2026-07-19 20:11:15.003770 UTC - Uname: Linux tst 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux 2026-07-19 20:11:15.003795 UTC - Uptime: 20:11:14 up 1 min, 1 user, load average: 0.10, 0.07, 0.02 2026-07-19 20:11:15.141682 UTC - lsb_release: Ubuntu 24.04.3 LTS 2026-07-19 20:11:15.141779 UTC - lsb_release matches expected value 2026-07-19 20:11:15.141799 UTC - SSH Test passed. 2026-07-19 20:11:15.279477 UTC - Cloud-init user-data: Hello World. The time is now Sun, 19 Jul 2026 20:09:46 +0000! 2026-07-19 20:11:15.286853 UTC - Destroying tst-5985a96b tst 2026-07-19 20:11:15.287043 UTC - Run: slices bi --infra de-munich-bi-vm destroy --experiment tst-5985a96b tst