Hi folks.

I've been thinking about our install process lately.

We currently require folks to muck about with firewall settings, NFS
settings, network configuration, etc.
This makes configuration painful, our docs VERY platform specific, and
easily prone to mistakes which result in failure to get things to
work. Even the 'install.sh' from the 3.0.x and earlier days doesn't do
enough. What I want to do is get rid of sections 2-4 of the quick
install guide, and replace it with - 'run this one or two lines worth
of commands' (http://s.apache.org/runbook)

My natural reaction was to reach for puppet - but I am not sure that's
the right answer. To do things right, I'd need several puppet modules
like stdlib, puppetlabs-firewall, etc, which is a fair bit of
overhread - and oh, yeah, need to install the puppet client. I think
Chef is probably in a similar problem space. I don't want to resort to
shell scripts of python - config management tools know the difference
between apt and yum, and can still get a package installed with one
declaration, same thing with firewall rules. Is something like Ansible
or SaltStack a better choice?? I don't see it right now if it is, but
I don't have much experience with either of those two.

The all-in-one installation process I'd like to see:

Install your host OS
Install an meta-RPM/Deb that either (installs everything, or
alternatively configures a repo - or just installs the repo and the
stuff I need to install with)
Run a command that activates one of these config tools - configures
the machine, installs the packages I need, and gets me to the point
where I'm ready to login and go through the beautiful new user gui
setup stuff.

I still want to keep the documentation around, it's invaluable for
experienced users and more complex deployments - but right now it's
far too much overhead (probably an hour or two) to get things
installed and setup to the point where you are ready to run the
'Welcome to CloudStack GUI' if you just want to try CloudStack out.

So why am I writing this email instead of diving in and solving this
problem? Well honestly, I'd like some external opinions. I want to
make sure that I am not seeing a 'nail' simply because I have a hammer
in my hand. How can we most easily do this? So - how do we make the
'brand-new' user experience much better? We develop a platform for
orchestration of complex systems, this should be a solved problem.

--David

Reply via email to