cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Syed Ahmed <sah...@cloudops.com>
Subject Re: [DISCUSS] Moving to embedded Jetty and fatjar CloudStack
Date Thu, 17 Aug 2017 13:00:48 GMT
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 <wido@widodh.nl> wrote:

>
> > Op 10 augustus 2017 om 14:09 schreef Rohit Yadav <
> rohit.yadav@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.yadav@shapeblue.com
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> > @shapeblue
> >
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message