> Op 4 nov. 2017 om 17:24 heeft Rohit Yadav <rohit.ya...@shapeblue.com> het > volgende geschreven: > > Thanks all for your feedback, review contribution on the PR, it has been > merged after peer reviews, testing (regression and upgrade). >
Awesome! Really looking forward to this and 4.11! Wido > > Regards. > > ________________________________ > From: Rohit Yadav <rohit.ya...@shapeblue.com> > Sent: Wednesday, November 1, 2017 12:08:59 PM > To: dev@cloudstack.apache.org; us...@cloudstack.apache.org > Subject: Re: [DISCUSS] Moving to embedded Jetty and fatjar CloudStack > > All, > > > The PR has received enough reviews and (regression) testings to consider it > for merging. I'll keep the PR open for few days to receive further reviews > and additional testing. Thanks. > > > Regards. > > ________________________________ > From: Rohit Yadav <rohit.ya...@shapeblue.com> > Sent: Monday, October 30, 2017 4:55:55 PM > To: dev@cloudstack.apache.org; us...@cloudstack.apache.org > Subject: Re: [DISCUSS] Moving to embedded Jetty and fatjar CloudStack > > All, > > > The fatjar PR that aims at migrating to embedded Jetty is ready for review > now: > > https://github.com/apache/cloudstack/pull/2226 > > > New configuration file updates/changes: > - /etc/cloudstack/management/server.properties - single file to configure > ports, webapp directory, http/s configurations, webapp context path etc. > - Environment configuration set at /etc/default/cloudstack-management (CentOS > accepts having env conf files at /etc/default, while Ubuntu uses this path > most of the time) > > High-level changelog: > > - Changes packaging to a shaded (fat/uber) jar > - Updates jetty dependencies version 9.2 (java 7+) > - Removal of tomcat, config files and additional distro-provided java > dependencies > - Does not shade and include mysql-connector (cat-x), still distro-provided > and used from classpath > - Introduce ServerDaemon class with customizations > - Migrate to embedded Jetty server with a new ServerDaemon launcher > - Introduce a new server.properties file for easier configuration > - Have a single /etc/default/cloudstack-management to configure env > - Reduce shaded jar file, removing unnecessary dependencies, thereby reducing > overall rpm/deb file size to less than 84MB > - Upgrade to Spring 5.x, upgrade several jar dependencies > - Upgrade and use bountcastle as a separate un-shaded jar dependency > - Have both embedded UI assets in uber jar and separate webapp directory > - Refactor systemd and init scripts, cleanup packaging > - Made cloudstack-setup-databases faster, using `urandom` > - Remove unmaintained distro packagings and config files > > > Regards. > > ________________________________ > From: Rohit Yadav <rohit.ya...@shapeblue.com> > Sent: Thursday, August 24, 2017 1:24:06 AM > To: Syed Ahmed; dev@cloudstack.apache.org > Cc: Cloudstack Users List > Subject: Re: [DISCUSS] Moving to embedded Jetty and fatjar CloudStack > > All, > > > Based on last Trilian based test runs, no regressions are seen. We'll aim for > following changes and afterwards works towards merging the PR; > > > - An option to provide explicit webapp directory, for custom UI etc. The > default UI would be bundled in the fat jar, with the UI assets/files also > copied/packaged at /usr/share/cloudstack-management/webapp (or ui folder) to > allow for customizations > > - Fix packaging, refactor systemd/initd script > > - Completely move to java/systemd, instead of using jsvc+systemd for > systemd-enabled distros, and use init.d scripts for centos6/older distros > > - Logging and other improvements to ServerDaemon (the main class that run > jetty in the fatjar) > > - A xml/yml file to configure SSL certificates, options etc. > > > - Rohit > > ________________________________ > From: Syed Ahmed <sah...@cloudops.com> > Sent: Thursday, August 17, 2017 3:00:48 PM > To: dev@cloudstack.apache.org > Cc: Rohit Yadav; Cloudstack Users List > Subject: Re: [DISCUSS] Moving to embedded Jetty and fatjar CloudStack > > I have always been a big fan of fat, dependency-free binaries. Good work guys! > > > rohit.ya...@shapeblue.com > www.shapeblue.com<http://www.shapeblue.com> > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > @shapeblue > > > > > rohit.ya...@shapeblue.com > www.shapeblue.com<http://www.shapeblue.com> > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > @shapeblue > > > > > rohit.ya...@shapeblue.com > www.shapeblue.com<http://www.shapeblue.com> > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > @shapeblue > > > > > rohit.ya...@shapeblue.com > www.shapeblue.com > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > @shapeblue > > > >> On Thu, Aug 10, 2017 at 11:23 AM, Wido den Hollander >> <w...@widodh.nl<mailto:w...@widodh.nl>> wrote: >> >> Op 10 augustus 2017 om 14:09 schreef Rohit Yadav >> <rohit.ya...@shapeblue.com<mailto: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<mailto:rohit.ya...@shapeblue.com> >> www.shapeblue.com<http://www.shapeblue.com> >> 53 Chandos Place, Covent Garden, London WC2N 4HSUK >> @shapeblue >> >> >> >