Development work slowed some in April and May due to an unexpected, extended bout of personal illness on the dev team; capacity is slowly ramping up again and the intended v2023.[xx]
spring release will hopefully be prepared by the end of the month (though we will refrain from tagging the date until that is confirmed!)
Recent work accomplished (April 2023 - May 2023)
- drafted
eaasi-installer
migrations for upgrading EaaSI’s Keycloak component- recent, in-support Keycloak versions changed the application’s runtime and internal database structure in a manner that broke compatibility with Keycloak user data in EaaSI (
v2020.03
orv2021.10
) deployments; automatic migrations offered by Keycloak team for upgrading installs were failing - following support/suggestion of Keycloak team, designed an automated path for EaaSI migration that 1) completely exports the Keycloak database to a custom JSON format defined by Keycloak team, 2) removes and installs the upgraded Keycloak app, 3) re-imports the legacy user data from JSON into the updated Keycloak database
- recent, in-support Keycloak versions changed the application’s runtime and internal database structure in a manner that broke compatibility with Keycloak user data in EaaSI (
- pinned/resolved several minor dependency issues encountered with running
eaasi-installer
- troubleshot and merged issue reported by AusEaaSI related to object import that were traced to spaces in object file names
- while the object upload process was completing successfully, spaces in file paths were causing issues with path resolution for display in UI, emulators locating files and metadata in storage, etc.
- both objects and image files with spaces in their names should now be handled correctly by EaaSI front- and back-ends
- troubleshot a series of conditions by which back-end task UUIDs could be repeated, causing unpredictable behavior when attempting to run or save an Environment (e.g. the back-end might run or display an Environment other than the one selected by the user)
- condition was initially discovered/reported by AusEaaSI users and traced to an issue where the configured deployment was running out of system space, preventing updates to the EaaS database
- however, on investigation the same replication of task UUIDs could be triggered by other conditions, including unclean emulator shutdown when attempting to save a derivative Environment, or externally-mounted storage volumes being inaccessible at the moment certain processes attempt to execute
- general fixes merged to check database health and cleanly error out processes when new task UUIDs can not be properly written, instead of repeating or re-using UUIDs
- debugged issues encountered with new S3 API tooling in
eaasi-installer
, where in some cases the user-specified S3 configuration would revert to default values - added back-end API endpoint to trigger re-synchronization of configured image and object archives without completely restarting the EaaS server
- fixed an issue with deploying on to a distributed cloud computing cluster, where a requirement for absolute file paths to emulator containers required the EaaS Gateway component to have access to persistent EmuComp component(s)
- relative paths and data resolution between Gateway and EmuComp components now allow emulator containers to be cached and installed to cloud computing clusters on-the-fly (should allow EaaSI system administrators to configure and pay for the computing required for actually running emulation sessions - the EmuComp - as needed, rather than pre-configuring a set, and potentially dormant, amount of CPU + RAM)
- removed a legacy migration from
eaasi-installer
that applied only to earlier/other EaaS deployments (not EaaSIv2019.11
,v2020.03
, orv2021.10
) that resulted in undesirable behavior in latest codebase
Expected work (June 2023)
- test and merge several small EaaSI UI tweaks for legibility
- test and merge an EaaSI UI menu option to trigger re-synchronization of image and object archives based on new API endpoint described above
- draft and distribute release notes for
v2023.[xx]
- perform final user-facing QC and update documentation for upgrading existing installations to
v2023.[xx]