EaaSI Development Update - March 2023

Work continued in March on the process of upgrading Yale’s EaaSI node. A number of issues with migrating legacy metadata and resources to the most recent codebase/archive storage structure have been identified and fixed; testing has proceeded to user-facing workflows and making sure resource ownership information transfers smoothly to EaaSI’s Keycloak database. Related improvements to the eaasi-installer’s automated migrations should assist with self-hosted nodes running version v2019.11 of EaaSI looking to update to the upcoming v2023.[xx] spring release.

Recent work accomplished (February 2023 - March 2023)

  • continued to investigate and fix metadata migration issues with various subsets of Environment and Software resources on Yale’s test node
  • troubleshot and merged fixes related to imports of large files
    • garbage files/data from interrupted uploads were not being properly, periodically cleaned out, causing issues with tying up temp storage/computing resources on cloud deployments
  • troubleshot various issues reported by self-hosted nodes and partners (see tickets/bugs resolved below)
  • continued improvements to UVI environment-proposer endpoint, removing unnecessary legacy code and merging some metadata fixes related to setting default OS environments
  • merged fixes regarding tracking and display of running tasks in the EaaSI UI
    • process/task IDs were not persistent between EaaS sessions, causing breaks in EaaSI UI display and functionality if an EaaSI server was restarted/rebooted
    • EaaS task IDs were made persistent, allowing front-end and back-end task logs to stay aligned
    • merged fixes should allow both more descriptive task/process descriptions in the front-end but also resolve some bugs encountered during emulator container import or import of large-file resources
  • merged changes related to consistency of resource icons in EaaSI UI bento boxes (i.e. correctly identifying Content vs Software Environments and Content vs. Software Objects)
  • troubleshot and merged fixes with importing resources seen in certain EaaS proxy configurations
  • investigated Microsoft Playwright as a framework for automatically testing EaaSI server deployment and configuration
    • currently intended for dev/test infrastructure only, improving automated QA/QC for EaaSI UI development
  • troubleshot and merged fixes related to experimental EaaS “snapshot”/saved state functionality
    • saving a new “saved state” environment from an already-existing “saved state” environment resulted in an environment record with two associated saved-state checkpoint IDs; deleting this new derivative "saved state’ environment then deleted both saved-state checkpoints instead of only the new/latest checkpoint, causing the original/base “saved state” environment to also stop working because its saved-state checkpoint could no longer be found
    • fixed behavior to ensure that a 1:1 relationship between environment records and saved state checkpoints whenever saving a new “saved state” environment
  • small fixes/improvements to new S3-based tooling for uploading and moving image and object archive data

Forum tickets/bugs resolved

Expected work (April 2023)

  • resolve Windows XP 32-Bit with QEMU - No Bootable Device
  • Work with Dual Lab to resolve EaaSI UI user management display bug reported at Node User Administration > Manage Users > page 2 + not visible
  • continue working with Dual Lab to test “Advanced” mode of EaaSI UI Emulation Project interface
  • implement several small EaaSI UI tweaks (improvements to label/help text, switch baked-in URL for the EaaSI Sandbox to new domain/location at https://sandbox.eaasi.cloud)
  • draft and distribute expected release notes for the upcoming v2023.[xx] spring release and start coordinating update strategy with self-hosted node partners
  • continue testing user-facing workflows on Yale’s test instance of EaaSI
    • depending on pace/results of QC on user-facing workflows: perform upgrade on Yale’s production instance of EaaSI