Moving to Open Development: OpenStack / Crowbar / Chef on SUSE

This blog post was written by Adam Spiers and Andreas Jaeger.
Here at SUSE we have based our business on Free and Open Source Software for over 20 years, so it is nothing new to say that we strongly believe in open development and collaboration as a way of producing software of the highest quality.

Therefore we are pleased to announce that we have opened up our work on development and packaging of OpenStack, Crowbar, and Chef, for both openSUSE and SUSE Linux Enterprise. This work is happening publically in the Open Build Service, and we warmly invite everyone to use the results and also join in with development, testing, documentation and packaging.

Open development is a process that does not end with code on public servers, but involves ongoing open communication as well.
Please speak up on the opensuse-cloud mailing list if you see any areas where we could improve further!

Crowbar

OpenStack’s incredible flexibility can also make it difficult to deploy. Therefore to ease the set-up of all the different OpenStack components out of the box, we are supporting the open source Crowbar project. Our partners and customers find that using Crowbar dramatically reduces the time spent deploying and managing an OpenStack-based cloud.

Crowbar is a platform for server provisioning and deployment from bare metal. It provides server discovery, firmware upgrades, and operating system installation using PXE Boot, and it deploys applications on top of functioning operating systems using Chef.

Crowbar 2.0

Work on the upcoming 2.0 release of Crowbar is proceeding at a furious pace, and packages for openSUSE and SUSE Linux Enterprise are available from the OBS.
You are very welcome to join in and find out more!

Chef packages

Chef is an Open Source configuration management tool that allows remote administration of systems at scale. It has a thriving community which has a large overlap with the OpenStack community. We have packaged both Chef 10 and Chef 11 for openSUSE and SUSE Linux Enterprise.

Tying it all together

Since each major release of these projects is packaged separately in the
Open Build Service, you are free to “mix’n’match” which of these components you want to use together:

OpenStack Essex

OpenStack Folsom

OpenStack Grizzly

Crowbar 2.0

Chef 10

Chef 11

Of course, each combination will work differently. To try any of them out, simply navigate to one of the project’s Repository tab to obtain the link to the relevant download repository. Then you can add that to your host’s list of software repositories in the normal way via YaST2 or zypper, and start installing packages from it. Alternatively, you can install directly via one-click install.

Automation and Continuous Integration

We use Jenkins to automatically package changes from upstream git repositories into rpms within an openSUSE environment, and if they successfully build and install, Jenkins commits those changes to the Open Build Service (OBS) which then automatically builds and publishes packages and images. Jenkins also does unit tests as well as full stack tests. By automating the packaging and testing process, we can spend more time on development while maintaining high quality, and gain more clarity around where problems exist.

Disclaimer: As with everything else at SUSE Conversations, this content is definitely not supported by SUSE (so don't even think of calling Support if you try something and it blows up). It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.