cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugo Trippaers <>
Subject [DISCUSS] Packaging in 4.1
Date Sun, 03 Feb 2013 07:24:44 GMT
Heya all,

As Devid already mentioned we met up at Build-A-Cloud-Day in Ghent with Wido, Noa and a few
other folks. During this day (with lots of nice talks) we had a chance to sit down and discuss
packaging. Something that Noa, Wido and myself were planning to do for a long time. Some other
people joined in the discussion and with the help of the available black board (the event
was held in a school ;-) ) we managed to sync our ideas on packaging the 4.1 release.

With our ideas synced we thought it time to bring our ideas to the list and ask for feedback
from the community. We are also using our current time at FOSDEM to sync up with some of the
people from the distros to see what they think of the new ideas, it would still be nice to
have CloudStack packaged up and shipped with some of the distributions out there.

So the main goals of redoing packaging are getting rid of ant and waf completely. A secondary
goal is to create a reference set of packages which in itself should be enough to get anyone
going with CloudStack, but will hardly depend on the underlying distro. Real distro specific
stuff should be handled by packagers from those distros. We just aim to provide a reference

Our goal is to have a reference implementation that will install on the following list of
operating systems: CentOS 6.3, Ubuntu 12.04 and Fedora 18. This means that it will probably
install and run on a lot more, but this is the set that we will test against (i'm using a
jenkins system at the office to automatically build and install and these images will be used
for the tests).

Next we will remove as much system dependencies as possible, so we will use maven to gather
the dependencies and make sure that they are packaged and shipped with the RPMs. This makes
for slightly bigger packages, but reduced the overhead of having to check each operating system
and run the risk of version mismatched with versions of jar files present on the distro.

We also intend to change the name of the packages to cloudstack to make it perfectly clear
what somebody is installing, this will also affect the location of several files like configuration
files and scripts, but we plan to include symlinks for backwards compatibility. The feasibility
of this will obviously be tested in the packaging street my collegues are building for me.

The planned packages for now are cloudstack-management, cloudstack-agent, cloudstack-common,
cloudstack-cli, cloudstack-docs, cloudstack-awsapi and cloudstack-usage. You might already
have seen these names in some of the checkins. I this the best we to demonstrate is by showing
code, instead of a lengthy email ;-) All packages will have a directory in /usr/share/cloudstack-%{name}
and the main jar will be located there and any dependencies will be located in the lib directory
beneath that location. With the exception of management which will be created as an exploded
webapplication archive in the same directory. Scripts will be located in /usr/share/cloudstack-common/scripts
and symlinks will be made to the previous locations for backwards compatibility.

I think these are the highlights of what we intend to do for release 4.1. We have a lot of
plans for subsequenst release and on how to get us into distros. But for now we thought it
prudent to focus on getting packages for the 4.1 release as son as possible and focus on other
improvement later.

@Wido, @Noa, @David did i miss anything important?



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