> 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
>> 
>> 
>> 
> 

Reply via email to