I have always been a big fan of fat, dependency-free binaries. Good work guys!
On Thu, Aug 10, 2017 at 11:23 AM, Wido den Hollander <w...@widodh.nl> wrote: > > > Op 10 augustus 2017 om 14:09 schreef Rohit Yadav < > rohit.ya...@shapeblue.com>: > > > > > > All, > > > > > > Distro provided tomcat6/7/* has caused production issues for few users > in the past. Due to this, the ACS deployments are inconsistent with the > version/jars of tomcat in use. By allowing exploded war to be shipped, can > allow admins to sometimes overwrite cloudstack jars causing production > issues. I think moving to a CloudStack uber/fat jar will make it easier to > deploy CloudStack in environments and write custom init/systemd scripts and > fix cloudstack setup databases/management scripts without assuming the > distro we're on. > > > > Yes, I agree. A flat jar makes things a lot easier. > > > > > With this discussion thread, I would like to engage with the community > if they've any reservations from moving away from tomcat to embedded jetty > + fat/uber jar based packaging. Please share your thoughts and comments. > > > > > > On very high level the packaging will provide the following: > > > > - A ServerDaemon class that can accept custom location of UI (webapp > directory), logging, and other environment options, part of the fatjar. > > > > - A config file (xml/yml or otherwise) where you can configure > keystore/SSL-certificates, paths (/client), ports, logging etc. > > > > - Default libraries/plugin path at /usr/share/cloudstack-management/lib, > UI path at /usr/share/cloudstack-management/webapp > > > > - A default file (available at /etc/default/cloudstack-management or > symlink at /etc/sysconfig etc) where you can specific custom variables, > java options, classpath etc. > > > > - Refactored init.d/systemd scripts to be commonly used b/w rpm/deb > build scripts > > > > - A new/improve logrotate file > > > > - Logging will be handled by log4j (the same xml/config file you > normally use) > > > > - Currently we're using jsvc to handle mgmt server process, however we > may move to java+systemd completely > > > > I suggest that we only use init.d on RHEL 6 and Ubuntu 14.04, but on RHEL > 7 and Ubuntu 16.04 (any distro that runs with systemd) we should try to > avoid using jsvc. > > That way we don't have to daemonize the MGMT server and keep it attached > to systemd. Also makes it easy to just print logs to stdout and have > journalctl take care of them. > > > > > Marc-Aurèle (ExoScale) and I have collaborated on this problem and we > finally have a PR (not complete) where we can show this actually works, > please have a look: > > Awesome work! > > > > > https://github.com/apache/cloudstack/pull/2226 > > > > > > Once the PR is accepted, we can include a topic page in the 4.11/future > release notes docs about upgrading in-place and setting up ssl certs etc. > > > > > > Regards. > > > > rohit.ya...@shapeblue.com > > www.shapeblue.com > > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > > @shapeblue > > > > > > >