Projects:MMC Remove Rebuild and Restart/Specs
MMC windows contain two functionalities in practice:
a.) Install, Update, Remove modules with logic inside butler to auto-calculate matching dependencies. This algorithm to find a 'consistent set of modules' is not available anywhere else.
b.) Rebuild System + Restart tomcat I put both together and they are just convenient. The same can be done on the command line by usual compilation commands (ant update.database compile.complete.deploy)
Goals of this project
- Keep a.) as no replacement for this functionality is available and probably requires some longer discussion with more people.
- Remove b.) as just convenience and not longer very useful (see below for reasons)
- If okay do so that will no longer be needed to be supported in upcoming appliance
- Either by backporting / disabling removal to 20Q1 (which is hopefully good enough release for upcoming Appliance
- Or by 'telling people is unsupported'
Reasons for removal
- Not supported outside appliance / cloud
- Not supported with HA (as that simple system has no idea about multiple servers)
- Not supported in Wildfly (or even tried to support)
- Not useful as soon as you use hg/git repos or customized modules (as MMC just overwrites with 'common' published module)
- Complex, fragile on a technical level: i.e. rebuild + restart the running system from inside itself
- Effort just to keep working in the platform team
For example 19Q1 project to upgrade logging framework itself was quite small but increased by +1 full week just because of problems to keep this b.) above working
- Hidden Complexity in appliance to support this
Appliance since moving to Ubuntu has 2-3 ugly hidden design choices, strange things which are ugly and nobody besides myself even knows/understands (could be fixed but better to remove)
- Ubuntu / Appliance 20.04 changes which will require extra effort for previous item just to keep it working
Reasons to maybe keep
- Simple to use if you have no idea about command line
- Probably some users exists using it which would be unhappy with us removing the 'convenience 2 click rebuild'
- unknown number of partners / customers 'maybe'
Upgrading from previous versions
When upgrading from an older version that already supported MMC rebuild + restart, the functionality is still present in the UI because the old code is still being running in Tomcat, whereas the actual code implementing it is not as it executes from the recent installed sources. When a user tries to start the rebuild flow (restart won't be accessible anyway), a proper message should be displaying notifying them the functionality is no longer available.