The appliance does not expose the "ant upgrade ..." or "and post-upgrade ..." CLI commands.
- Create new GlobalConfiguration entry "UPGRADES" that stores last version that has been upgraded to and post-upgraded to.
- StartServiceServlet should check if the current version and perform any task that is currently "ant upgrade". We need to be able to accurately detect what changes has been made or not if no version info is available.
- Front page of EJBCA Admin GUI should have new widget prompting for an post-upgrade if "all nodes are at the latest version?" and there are missing post-upgrade steps.
- UpgradeSessionBean post-upgrade should still run as before to allow upgrades from older versions via EJB CLI as well. Hence this is the code that should be invoked from the Admin GUI as well.
- Each (post-)upgrade step should run in a NEW transactions and successful steps should be persisted to the UPGRADE GlobalConfiguration
- Each started step should persist the time it started. The Admin GUI widget should expose this info and allow to retry upgrades that have not finished in a very long time.
Upgrades that are compatible with older versions of EJBCA should always be automatic.
Upgrades that are not compatible with older versions of EJBCA should be performed in the post-upgrade step. Since we need to be able to do 100% uptime tolling upgrades, this should mostly be removal of no longer used data.
The appliance requires upgrades from EJBCA 6.2.x to work without CLI access.