Okay, wir haben das ausprobiert mit folgenden Ergebnissen:
- Die Client-VM bootet weiterhin vom in der VM laufenden Server und zeigt den farbigen Linbo-Screen
- Ein physischer Client bootet nun ebenfalls über PXE Linbo, zeigt allerdings statt des farbigen Screens die Meldung „this linbo client is in remote control mode“, erwartet also offenbar „Befehle“ vom Server.
- Ich konnte aufs Web-Interface des Servers zugreifen und die Ersteinrichtung erfolgreich abschließen. Danach kam ein orangener Tooltip/Popup rechts oben im Web-Interface mit der Meldung, dass ein Fehler aufgetreten sei und man in der Browserkonsole gucken soll. Konsolenausgabe siehe ganz unten.
- Beim Versuch trotzdem das Dashboard aufzurufen kam ein Dialog „Serverfehler“: Request GET /api/core/user-config; Type: FileNotFoundError; Message: [Errno 2] No such file or directory: ‚/root/.config/ajenti.yml‘; Traceback: [ein Debug-Output, der mit der Fehlermeldung [Errno 2]… endet.
- Nach erneutem Einloggen wird als Benutzername weiterhin „root“ und als Passwort das bei der Einrichtung festgelegte Passwort akzeptiert, auf der Hauptseite wird aber vorgeschlagen, den setup wizard nochmals durchlaufen zu lassen.
Diese Seite verwendet die nicht standardisierte Eigenschaft "zoom". Stattdessen sollte calc() in den entsprechenden Eigenschaftswerten oder "transform" zusammen mit "transform-origin: 0 0" verwendet werden. view
Welcome all.js:1201:13
Ajenti 2.2.11 <empty string> all.js:1202:13
Running on debian / ubuntu all.js:1203:13
Plugins
Object { core: "Core", passwd: "User DB API", dashboard: "Dashboard", lmn_docker: "docker", lmn_w_datetime: "Date Time", filesystem: "Filesystem API", plugins: "Plugins", settings: "Settings", session_list: "Session list", ace: "Ace editor", … }
all.js:1207:13
Identity root all.vendor.js:15717:41
downloadable font: Glyph bbox was incorrect (glyph ids 1 2 3 4 5 8 9 10 11 12 13 14 16 17 19 22 24 28 32 34 35 38 39 40 43 44 45 46 47 48 49 55 56 58 59 61 63 64 68 76 77 78 82 83 84 85 92 103 108 109 110 113 115 122 123 128 131 134 135 152 155 162 163 164 168 170 171 173 175 176 177 184 187 192 197 202 203 210 213 216 217 218 220 221 223 226 227 234 235 237 238 243 245 247 249 250 254 265 267 268 270 271 272 273 276 277 279 280 283 284 288 291 292 295 297 298 299 302 303 306 309 313 314 317 322 328 329 330 335 336 338 341 343 346 347 350 352 356 357 358 359 364 367 370 371 373 379 381 382 384 388 391 393 394 395 396 398 399 403 405 408 409 410 417 419 420 421 422 437 438 441 446 447 449 453 454 458 460 461 462 465 470 475 477 478 479 482 485 490 491 492 493 496 498 501 502 504 506 507 508 509 511 512 517) (font-family: "Font Awesome 6 Brands" style:normal weight:400 stretch:100 src index:0) source: https://10.32.1.1/resources/core/resources/vendor/fontawesome/webfonts/fa-brands-400.woff2
downloadable font: Glyph bbox was incorrect (glyph ids 121) (font-family: "pt_sans" style:normal weight:700 stretch:100 src index:1) source: https://10.32.1.1/resources/core/resources/vendor/pt-sans/fonts/pt_sans/bold/PTS75F.woff
Socket has connected all.vendor.js:15717:41
Socket message from push
Object { plugin: "tasks", message: {…} }
all.vendor.js:15717:41
Push message from tasks
Object { type: "update", tasks: [] }
all.vendor.js:15717:41
Object { load: load(), save: save(), getUserConfig: getUserConfig(), setUserConfig: setUserConfig(config), getSmtpConfig: getSmtpConfig(), setSmtpConfig: setSmtpConfig(config), getTfaConfig: getTfaConfig(), deleteTfa: deleteTfa(data), getAuthenticationProviders: getAuthenticationProviders(config), getPermissions: getPermissions(config), … }
all.js:5146:13
false all.js:5192:21
false all.js:5193:21
Studienkolleg München all.js:5194:21
Object { ini: {…}, apply: async apply(), languages: (51) […] }
all.js:5195:21
false all.js:5192:21
false all.js:5193:21
stukolmn.lan all.js:5194:21
Object { ini: {…}, apply: async apply(), languages: (51) […] }
all.js:5195:21
false all.js:5192:21
false all.js:5193:21
stukolmn all.js:5194:21
Object { ini: {…}, apply: async apply(), languages: (51) […] }
all.js:5195:21
undefined all.js:5283:17
Unhandled exception occured all.js:725:17
Consider sending this error to https://github.com/ajenti/ajenti/issues/new all.js:726:17
Error: [$injector:unpr] Unknown provider: messageboxiProvider <- messageboxi <- InitDoneController
https://errors.angularjs.org/1.8.3/$injector/unpr?p0=messageboxiProvider%20%3C-%20messageboxi%20%3C-%20InitDoneController
minErr https://10.32.1.1/resources/all.vendor.js:158
injector https://10.32.1.1/resources/all.vendor.js:5011
getService https://10.32.1.1/resources/all.vendor.js:5171
protoInstanceInjector https://10.32.1.1/resources/all.vendor.js:5016
getService https://10.32.1.1/resources/all.vendor.js:5171
injectionArgs https://10.32.1.1/resources/all.vendor.js:5196
instantiate https://10.32.1.1/resources/all.vendor.js:5240
$controller https://10.32.1.1/resources/all.vendor.js:11849
link https://10.32.1.1/resources/all.vendor.js:40446
bind https://10.32.1.1/resources/all.vendor.js:1411
invokeLinkFn https://10.32.1.1/resources/all.vendor.js:11396
nodeLinkFn https://10.32.1.1/resources/all.vendor.js:10715
compositeLinkFn https://10.32.1.1/resources/all.vendor.js:9962
publicLinkFn https://10.32.1.1/resources/all.vendor.js:9827
lazyCompilation https://10.32.1.1/resources/all.vendor.js:10241
boundTranscludeFn https://10.32.1.1/resources/all.vendor.js:10005
controllersBoundTransclude https://10.32.1.1/resources/all.vendor.js:10765
C https://10.32.1.1/resources/all.vendor.js:40445
$broadcast https://10.32.1.1/resources/all.vendor.js:19870
s https://10.32.1.1/resources/all.vendor.js:40450
processQueue https://10.32.1.1/resources/all.vendor.js:18095
scheduleProcessQueue https://10.32.1.1/resources/all.vendor.js:18143
$digest https://10.32.1.1/resources/all.vendor.js:19262
$apply https://10.32.1.1/resources/all.vendor.js:19650
ngEventHandler https://10.32.1.1/resources/all.vendor.js:29147
dispatch https://10.32.1.1/resources/all.vendor.js:18
handle https://10.32.1.1/resources/all.vendor.js:18
<div ng:view="" autoscroll="true" class="content ng-scope" ng-swipe-right="toggleOverlayNavigation(true)" ng-swipe-left="toggleOverlayNavigation(false)"> all.vendor.js:15717:41
Source-Map-Fehler: Error: request failed with status 404
Ressourcen-Adresse: https://10.32.1.1/resources/all.vendor.js
Source-Map-Adresse: socket.io.min.js.map
XHRGET
https://10.32.1.1/api/core/user-config
[HTTP/1.1 500 532ms]
Possibly unhandled rejection: {"data":{"message":"[Errno 2] No such file or directory: '/root/.config/ajenti.yml'","exception":"FileNotFoundError","traceback":"Traceback (most recent call last):\n File \"/opt/linuxmuster/lib/python3.12/site-packages/aj/api/endpoint.py\", line 77, in wrapper\n result = fx(self, context, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/linuxmuster/lib/python3.12/site-packages/ajenti_plugin_core/views/config.py\", line 72, in handle_api_get_user_config\n return UserConfigService.get(self.context).get_provider().data\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/linuxmuster/lib/python3.12/site-packages/aj/config.py\", line 328, in get_provider\n for provider in UserConfigProvider.all(self.context):\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/linuxmuster/lib/python3.12/site-packages/jadi/jadi.py\", line 122, in _all\n return list(context.get_components(cls, ignore_exceptions=ignore_exceptions))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/linuxmuster/lib/python3.12/site-packages/jadi/jadi.py\", line 38, in get_components\n instance = self.get_component(comp)\n ^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/linuxmuster/lib/python3.12/site-packages/jadi/jadi.py\", line 32, in get_component\n self.component_instances[fqdn] = cls(self)\n ^^^^^^^^^\n File \"/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py\", line 491, in __init__\n self.load()\n File \"/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py\", line 504, in load\n self.data = yaml.load(open('/root/.config/ajenti.yml'), Loader=yaml.SafeLoader)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nFileNotFoundError: [Errno 2] No such file or directory: '/root/.config/ajenti.yml'\n"},"status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/api/core/user-config","headers":{"Accept":"application/json, text/plain, */*"},"cached":false},"statusText":"","xhrStatus":"complete"} all.vendor.js:15717:41
Nachtrag: Mein Kollege und ich haben parallel zu LMN noch FOG ausprobiert und konnten damit heute ein Image hochladen und auf ein Testgerät ausrollen. Dachte, ich erwähne das besser, bevor sich jemand die Mühe macht, uns weiter zu unterstützen. Aber wenn das ein Bug ist, bei dem ich beim Troubleshooting helfen kann, dann immer gerne, hab die Maschine mit der VM noch da!