# EaaSI Development Update - June 2023

**URL:** <https://forum.eaasi.cloud/t/eaasi-development-update-june-2023/501>\
**Category:** EAASI Announcements\
**Tags:** dev-update\
**Created:** [June 5, 2023, 8:33pm UTC](https://forum.eaasi.cloud/t/eaasi-development-update-june-2023/501 "2023-06-05T20:33:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ethan.gates](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.eaasi.cloud/ethan.gates/32/15_2.png) [@ethan.gates](https://forum.eaasi.cloud/u/ethan.gates)\
**Post date:** [June 5, 2023, 8:33pm UTC](https://forum.eaasi.cloud/t/eaasi-development-update-june-2023/501/1 "2023-06-05T20:33:30Z")

</div>

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](https://www.keycloak.org/) 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` or `v2021.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

- 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 EaaSI `v2019.11`, `v2020.03`, or `v2021.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]`
