Packaging/SUSE
SUSE packaging
B1 Systems provides OpenStack packages for OpenSUSE and SLE through the openSUSE Build Service.
You can find all the packages in the subprojects from isv:B1-Systems:OpenStack.
Development packages (normally the latest succeeded builds from Jenkins) are located in the project isv:B1-Systems:OpenStack:devel.
Packages of milestones (isv:B1-Systems:OpenStack:milestone) and releases (isv:B1-Systems:OpenStack:release) are also available.
For all our packages we suggest to use the requirements provided in the project isv:B1-Systems:OpenStack:requirements and to not use other packages (we only test those packages).
The B1 Systems provides a technical whitepaper in german language which describes the setup of OpenStack on top of SUSE Linux Enterprise Server 11 SP1 using Diablo. The whitepaper is available here.
At the moment we provide packages for the following projects:
- keystone: OpenStack Identity Service
- glance: OpenStack Image Service
- nova: OpenStack Compute
- horizon: OpenStack Dashboard
- swift: OpenStack Object Storage
- quantuum: OpenStack Virtual Network Service
- melange: OpenStack Network Information Service
- tempest: OpenStack Integration Test Suite
This packaging work is thanks to the efforts of:
- Stefan Seyfried
- Christian Berendt
- Andre Nähring
- Michael Tietz
Usage
After adding our repositories like described here and running zypper ref
you can find all openstack packages by searching for "openstack" (zypper search openstack
)
VERY IMPORTANT NOTE: It's not possible to use OpenStack on top of SLES11 SP2 at the moment, because there are several unfixed issues in the delivered Python interpreter. Please have a look at the section "Python @ SLES11 SP2" on this wiki page for details and how to resolve the issues.
openSUSE 12.1
First you have to import several GPG public keys:
rpm --import http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex/openSUSE_12.1/repodata/repomd.xml.key rpm --import http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex:/requirements/openSUSE_12.1/repodata/repomd.xml.key
Then you can add the repositories using zypper:
zypper ar http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex/openSUSE_12.1/isv:B1-Systems:OpenStack:release:Essex.repo zypper ar http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex:/requirements/openSUSE_12.1/isv:B1-Systems:OpenStack:release:Essex:requirements.repo
SLES11 SP2
First you have to import several GPG public keys:
rpm --import http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex/SLE_11_SP2/repodata/repomd.xml.key rpm --import http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex:/requirements/SLE_11_SP2/repodata/repomd.xml.key
Then you can add the repositories using zypper:
zypper ar http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex/SLE_11_SP2/isv:B1-Systems:OpenStack:release:Essex.repo zypper ar http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/release:/Essex:/requirements/SLE_11_SP2/isv:B1-Systems:OpenStack:release:Essex:requirements.repo
RabbitMQ
You can find an up to date version of RabbitMQ in the project "isv:B1-Systems:OpenStack:tools:rabbitmq" for SLES11 SP2 and openSUSE 12.1. Add the public GPG key and the repository on your queuing system this way:
openSUSE 12.1
rpm --import http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/tools:/rabbitmq/openSUSE_12.1/repodata/repomd.xml.key zypper ar http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/tools:/rabbitmq/openSUSE_12.1/isv:B1-Systems:OpenStack:tools:rabbitmq.repo
SLES11 SP2
rpm --import http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/tools:/rabbitmq/SLE_11_SP2/repodata/repomd.xml.key zypper ar http://download.opensuse.org/repositories/isv:/B1-Systems:/OpenStack:/tools:/rabbitmq/SLE_11_SP2/isv:B1-Systems:OpenStack:tools:rabbitmq.repo
Python @ SLES11 SP2
Unfortunately there are two issues in the Python interpreter delivered with SLES11 SP2 avoiding it to run OpenStack on top. We're providing patched packages for the Python interpreter. Please contact os at openstack@b1-systems.de to receive a copy of them.
You can check if the python interpreter of SLES11 SP2 still contains issues using this script. We hope that SUSE will deliver an update or upgrade soon so that it's no more necessary to use a patched version of the Python interpreter.
#!/usr/bin/python ## vim: set syn=on ts=4 sw=4 sts=0 noet foldmethod=indent: ## purpose: check if python interpreter contains blocking issues for OpenStack ## copyright: B1 Systems GmbH <info@b1-systems.de>, 2012. ## license: GPLv3+, http://www.gnu.org/licenses/gpl-3.0.html ## author: Christian Berendt <berendt@b1-systems.de>, 2012. print "test if keyword arguments with unicode keys are working without problems" print "expected result: {u'key': 'value'}" print def testing(**kwargs): print kwargs try: testing(**{u'key': 'value'}) except TypeError: print "ERROR: catched TypeError, keyword arguments with unicode keys are NOT working" print print "test if ident of thread is working without problems" print "expected result: a long integer (for example: 140630265239296)" print import threading t = threading.current_thread() ident = t.ident if ident == None: print "ERROR: ident of current thread is None, ident of threads is NOT working" else: print ident
If everything is fine you should receive a similiar output:
test if keyword arguments with unicode keys are working without problems expected result: {u'key': 'value'} {u'key': 'value'} test if ident of thread is working without problems expected result: a long integer (for example: 140630265239296) 140516648064768
If the issues are still there the output would look like this one:
test if keyword arguments with unicode keys are working without problems expected result: {u'key': 'value'} ERROR: catched TypeError, keyword arguments with unicode keys are NOT working test if ident of thread is working without problems expected result: a long integer (for example: 140630265239296) ERROR: ident of current thread is None, ident of threads is NOT working