Allow setting up Engine/DWH/Reports on separate hosts
Feature pages:
This presentation:
Load distribution
In particular, to keep the engine from suffering potentially high load sometimes imposed by DWH and/or Reports.
Other? TODO
Security
Control and flexibility
3.2 had mostly-monolithic setup scripts for engine/dwh/reports
dwh and reports had to be setup after the engine was, on same host, and relied on it
engine-setup was rewritten base on Otopi
setup of dwh and reports got more features and became more complex, but basic structure remained the same
dwh and reports setup were completely rewritten, to become plugins of engine-setup, instead of being independent utilities.
Thus, a single invocation of engine-setup sets up or upgrades whatever that is installed (by yum).
Functionality remained mostly the same, where dwh and reports rely upon the engine configuration and infrastructure
This required also a large change in the setup code of the engine, which became more modular and was split to several different packages.
To allow setting up the engine, dwh and reports on separate hosts, various changes were required, mostly in the setup code of the various components:
Engine
DWH
Reports
Cleanups of existing mostly-separable code
E.g. removing unneeded dependencies, moving plugins between packages.
Making the engine itself optional
Configure Engine on this host (Yes, No) [Yes]:
so that if engine setup plugin is installed, user can still choose to not configure it. dwh/reports were already optional
Make postgresql listen on outside network
Database credentials
First all components query for their own, then all query for those they use, if not already supplied
Refactored out the code asking these questions, to be useable by dwh/reports
Make setup code not rely on engine code, e.g.
Verify that Engine and DWH versions are compatible
Prevent two DWH instances to work against a single engine (not merged yet)
Ask for both engine and DWH db credentials, if needed.
Set our own instance of jboss instead of adding ourself as an app to the jboss instance of the engine. Even if on same host.
Set apache to proxy to us, similarly to the engine. Only if not on same host as engine.
Therefore, we need our own pki, which is currently quite complex to set up.
More clean up... e.g., hide engine-private data that is currently shared
Make reports pki setup more comfortable