Making overlord sub-project installers consistent
objectiser Jun 6, 2014 5:07 AMWanted to discuss how we can make the installers for each sub-project more consistent - which should then help when providing an 'overlord' installer.
1) On-demand or full distribution
Originally I believe the sramp/dtgov installer downloaded content during installation - kept the installer size small, but relied on (a) internet access during installation, and (b) may be prone to temporary or permanent issues with artifacts being unavailable.
More recently the distributions have included the required components, so potentially can be installed offline. Is this still the preferred route?
2) Single or separate distributions
We are now supporting multiple platforms - technically only EAP and Fuse/Fabric at this stage, but indirectly (atleast for sramp/dtgov) we have tomcat and jetty.
The issue is, do we have a single distribution with all platform content and the user selects target when running installer, or should we have a distribution per target platform?
Generally users will only be interested in a single target platform, so may not be happy downloading a distribution that is significantly larger than it needs to be, due to including support for multiple platforms. However, looking at the UI wars and main server war for RTGov, they are only 20 to 30Mb each, so potentially this is not an issue.
3) Installation target managed in commons installer
The installer should offer the option (where possible) to obtain the target platform/version, or use an existing location where an environment has already been setup.
Currently RTGov (for EAP) just assumes the environment already exists, with JBOSS_HOME identifying the location. SRAMP/DTGov can download the environment or reference existing (except for EAP as cannot be downloaded without signing agreement).
It would seem better to move this functionality into the commons installer, so each sub-project could just expect an appropriate environment to have been setup/identified? One caveat though - some sub-projects may not be supported on all platforms, so we would need to identify the supported platforms (possibly the commons installer could mark the others greyed out, or just not list them). This will also need to be considered for the overlord installer - how to deal with matrix of sub-projects to supported platforms.
Issue for RTGov - it may also require the option to install switchyard in these environments. This is where making users responsible for setting up the target environment has benefits - they can decide what is required, before installing governance. One solution would be to just offer the base platforms through the common installer, and they have to add extras after (and switchyard would be counted as an extra)?
Thoughts appreciated. Ideally it would be good to get this sorted for the coming final release, but needs to be coordinated to manage the impact on the individual installers. Also would be good to allow any interactive options to be specifiable on the command line, to enable automated installation (e.g. for automated testing purposes).