Jump to: navigation, search

Difference between revisions of "Packaging/Ubuntu"

(added link to archive of /debian directory for swift)
m (Text replace - "__NOTOC__" to "")
(18 intermediate revisions by 7 users not shown)
Line 1: Line 1:
__NOTOC__
 
Ubuntu is the reference platform for [[OpenStack]]. We follow the Ubuntu release cycle very closely, and do most of our QA on Ubuntu.
 
  
If you want to run [[OpenStack]] on Ubuntu, there are a few options, depending on your stability requirements and which version of Ubuntu you're running.
+
= Ubuntu packaging =
{| border="1" cellpadding="2" cellspacing="0"
 
| Ubuntu version
 
| Only what is in Ubuntu
 
| Only stable releases
 
|-
 
| 10.04 LTS (Lucid)
 
| N/A
 
| [[#Release_PPA|Release PPA]]
 
|-
 
| 10.10 (Maverick)
 
| Pre-Austin snapshot
 
| [[#Release_PPA|Release PPA]]
 
|-
 
| 11.04 (Natty)
 
| Frequent snapshots.<<BR>>Cactus expected in final release
 
| [[#Release_PPA|Release PPA]]
 
|}
 
  
= Trunk PPA =
+
OpenStack packages for Ubuntu are published in Ubuntu ''main'' repository and maintained by Ubuntu core developers.
A PPA<<[[FootNote]](Personal Package Archive: an extra apt repository you can add to your sources.list to get access to software not in Ubuntu.)>> where we will upload a new version for every single commit on trunk.
 
  
Information and instructions for use can be found on [https://launchpad.net/~nova-core/+archive/trunk Launchpad] for Nova, and similarly for [https://launchpad.net/~swift-core/+archive/trunk Swift] and [https://launchpad.net/~glance-core/+archive/trunk Glance].
+
== Cloud Archive ==
  
The packages are built by grabbing the latest tarball from http://nova.openstack.org/tarballs/ -- add 'debian' directory from [https://code.launchpad.net/~openstack-ubuntu-packagers/ubuntu/natty/nova/ubuntu lp:~openstack-ubuntu-packagers/ubuntu/natty/nova/ubuntu] (nova) or [https://code.launchpad.net/~openstack-ubuntu-packagers/ubuntu/natty/swift/ubuntu lp:~openstack-ubuntu-packagers/ubuntu/natty/swift/ubuntu] (swift) on top of it. Now add a changelog entry (dch -i -n). Make packages by running ./builddeb.sh.
+
Canonical’s Ubuntu Cloud archive allows users the ability to install newer releases of [[OpenStack]] on Ubuntu Server 12.04 LTS (and the dependencies) as they become available up through the next Ubuntu LTS release (presumably 14.04).  
  
= Release PPA =
+
See https://wiki.ubuntu.com/ServerTeam/CloudArchive for more details.
Information and instructions for use can be found on [https://launchpad.net/~nova-core/+archive/release Launchpad] for Nova, and similarly for [https://launchpad.net/~swift-core/+archive/release Swift] and [https://launchpad.net/~glance-core/+archive/release Glance]..
 
  
A PPA<<[[FootNote]](Personal Package Archive: an extra apt repository you can add to your sources.list to get access to software not in Ubuntu.)>> where we will upload only final releases.
+
Report any bugs that you find in packages from the Cloud Archive to https://bugs.launchpad.net/cloud-archive/+filebug
  
= Generating packages manually =
+
In terms of communication around the Cloud Archive, general annoucements about milestone and release avaliability will be made on
== Prerequisites ==
+
ubuntu-cloud-anounce@lists.ubuntu.com: https://lists.ubuntu.com/mailman/listinfo/ubuntu-cloud-announce
You'll need to install some packages on the build machine. Some of them are in the [https://launchpad.net/~nova-core/+archive/ppa nova-core PPA], so add it as a repository:
 
  
 +
Canonical has also set-up a new mailing list which will be higher volume, per upload notifications as new and updated packages land in the Cloud Archive: https://lists.ubuntu.com/mailman/listinfo/cloud-archive-changes
  
<pre><nowiki>
+
== Package pages ==
sudo add-apt-repository ppa:nova-core/ppa
+
* https://launchpad.net/ubuntu/+source/nova
sudo apt-get update
+
* https://launchpad.net/ubuntu/+source/python-novaclient
</nowiki></pre>
+
* https://launchpad.net/ubuntu/+source/swift
 +
* https://launchpad.net/ubuntu/+source/python-swiftclient
 +
* https://launchpad.net/ubuntu/+source/glance
 +
* https://launchpad.net/ubuntu/+source/python-glanceclient
 +
* https://launchpad.net/ubuntu/+source/keystone
 +
* https://launchpad.net/ubuntu/+source/python-keystoneclient
 +
* https://launchpad.net/ubuntu/+source/horizon
 +
* https://launchpad.net/ubuntu/+source/quantum
 +
* https://launchpad.net/ubuntu/+source/python-quantumclient
 +
* https://launchpad.net/ubuntu/+source/cinder
 +
* https://launchpad.net/ubuntu/+source/python-cinderclient
  
During the build process, you will be informed about which packages are missing from your system, but there are some additional packages that are required for building the documentation:
+
== Packaging branches ==
  
 +
Packaging branches are maintained in bzr under Launchpad. Click on "Code" on the above pages.
  
<pre><nowiki>
+
== Packaging bugs ==
sudo apt-get install python-greenlet python-rrdtool
 
</nowiki></pre>
 
  
You'll need Sphinx 1.0 or greater for doing the build or the documentation generation will fail and the build will abort. You can check what version of Sphinx is being used by your version of Python by doing:
+
Packaging bugs are tracked using Launchpad. Click on "Bugs" on the above pages.
  
 +
== PPAs ==
  
<pre><nowiki>
+
Various PPAs with bleeding edge packages are maintained by the [https://launchpad.net/~openstack-ubuntu-testing OpenStack Ubuntu Testers] team. See [[PPAs]] for details. The Jenkins server can be found at https://jenkins.qa.ubuntu.com/view/Openstack_Testing
python -c "import sphinx; print sphinx.__version__"
 
</nowiki></pre>
 
 
 
== Generating the packages ==
 
Combine the main nova code with the packaging scripts:
 
 
 
 
 
<pre><nowiki>
 
bzr export nova lp:nova
 
bzr export nova-packaging lp:~openstack-ubuntu-packagers/ubuntu/natty/nova/ubuntu
 
mv nova-packaging/debian nova
 
</nowiki></pre>
 
 
 
Edit the changelog entry. The following commands will specify a Lucid package with version "2011.1-0ubuntu2-local1" and a changelog entry "Local build for internal testing"
 
 
 
 
 
<pre><nowiki>
 
cd nova
 
dch -v 2011.1-0ubuntu2-local1 -D lucid "Local build for internal testing"
 
</nowiki></pre>
 
 
 
Edit `bin/nova-manage` to specify the default location of the flagfile:
 
 
 
 
 
<pre><nowiki>
 
PATCH='--- nova-manage 2011-02-09 12:08:18.000000000 -0500
 
+++ nova-manage-fixed  2011-02-09 12:14:03.000000000 -0500
 
@@ -656,7 +656,7 @@
 
 
 
def main():
 
    """Parse options and call the appropriate class/method."""
 
-    utils.default_flagfile()
 
+    utils.default_flagfile("/etc/nova/nova.conf")
 
    argv = FLAGS(sys.argv)
 
 
 
    script_name = argv.pop(0)
 
'
 
 
 
echo "$PATCH" | patch bin/nova-manage
 
</nowiki></pre>
 
 
 
Generate the packages:
 
 
 
 
 
<pre><nowiki>
 
./builddeb.sh
 
</nowiki></pre>
 
 
 
The packages will appear in the parent of the nova directory.
 

Revision as of 23:30, 17 February 2013

Ubuntu packaging

OpenStack packages for Ubuntu are published in Ubuntu main repository and maintained by Ubuntu core developers.

Cloud Archive

Canonical’s Ubuntu Cloud archive allows users the ability to install newer releases of OpenStack on Ubuntu Server 12.04 LTS (and the dependencies) as they become available up through the next Ubuntu LTS release (presumably 14.04).

See https://wiki.ubuntu.com/ServerTeam/CloudArchive for more details.

Report any bugs that you find in packages from the Cloud Archive to https://bugs.launchpad.net/cloud-archive/+filebug

In terms of communication around the Cloud Archive, general annoucements about milestone and release avaliability will be made on ubuntu-cloud-anounce@lists.ubuntu.com: https://lists.ubuntu.com/mailman/listinfo/ubuntu-cloud-announce

Canonical has also set-up a new mailing list which will be higher volume, per upload notifications as new and updated packages land in the Cloud Archive: https://lists.ubuntu.com/mailman/listinfo/cloud-archive-changes

Package pages

Packaging branches

Packaging branches are maintained in bzr under Launchpad. Click on "Code" on the above pages.

Packaging bugs

Packaging bugs are tracked using Launchpad. Click on "Bugs" on the above pages.

PPAs

Various PPAs with bleeding edge packages are maintained by the OpenStack Ubuntu Testers team. See PPAs for details. The Jenkins server can be found at https://jenkins.qa.ubuntu.com/view/Openstack_Testing