=== modified file 'debian/changelog'
--- debian/changelog	2011-08-09 03:08:01 +0000
+++ debian/changelog	2011-08-11 09:06:19 +0000
@@ -12,6 +12,9 @@
     bug #800465 which caused the test suite to fail.
   * Remove nova-instancemonitor package (dropped upstream).
   * Remove twisted dependency (dropped upstream).
+  * Create nova-compute-{kvm,lxc,uml,xen} packages that pull in the
+    right packages and configures nova to use the hypervisor in
+    question.
 
   [ Thierry Carrez (ttx) ]
   * Added python-xattr to build deps, apprently this is now needed

=== modified file 'debian/control'
--- debian/control	2011-08-09 03:08:01 +0000
+++ debian/control	2011-08-11 09:06:19 +0000
@@ -120,8 +120,9 @@
 
 Package: nova-compute
 Architecture: all
-Depends: ${ostack-lsb-base}, ${nova-compute-deps}, nova-common (= ${binary:Version}), kpartx, kvm | xen-linux-system, python-libvirt, curl, parted,
- ebtables, gawk, iptables, open-iscsi, ${python:Depends}, ${misc:Depends}
+Depends: ${ostack-lsb-base}, ${nova-compute-deps}, nova-common (= ${binary:Version}), kpartx, curl, parted,
+ ebtables, gawk, iptables, open-iscsi, ${nova-compute-default-hypervisor} | nova-compute-hypervisor,
+ ${python:Depends}, ${misc:Depends}
 Recommends: ajaxterm
 Description: OpenStack Compute - compute node
  OpenStack is a reliable cloud infrastructure. Its mission is to produce
@@ -141,6 +142,98 @@
  This is the package you will install on the nodes that will run your
  virtual machines.
 
+Package: nova-compute-lxc
+Architecture: all
+Depends: nova-compute (= ${binary:Version}), python-libvirt, libvirt-bin, ${misc:Depends}
+Provides: nova-compute-hypervisor
+Replaces: nova-compute-hypervisor
+Conflicts: nova-compute-hypervisor
+Description: OpenStack Compute - compute node (LXC)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In
+ addition to its "native" API (the OpenStack API), it also supports the Amazon
+ EC2 API.
+ .
+ Nova is intended to be modular and easy to extend and adapt. It supports many
+ different hypervisors (KVM and Xen to name a few), different database backends
+ (SQLite, MySQL, and PostgreSQL, for instance), different types of user
+ databases (LDAP or SQL), etc.
+ .
+ Install this package on your compute nodes if you're using LXC.
+
+Package: nova-compute-uml
+Architecture: all
+Depends: nova-compute (= ${binary:Version}), python-libvirt, libvirt-bin, user-mode-linux, ${misc:Depends}
+Provides: nova-compute-hypervisor
+Replaces: nova-compute-hypervisor
+Conflicts: nova-compute-hypervisor
+Description: OpenStack Compute - compute node (UserModeLinux)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In
+ addition to its "native" API (the OpenStack API), it also supports the Amazon
+ EC2 API.
+ .
+ Nova is intended to be modular and easy to extend and adapt. It supports many
+ different hypervisors (KVM and Xen to name a few), different database backends
+ (SQLite, MySQL, and PostgreSQL, for instance), different types of user
+ databases (LDAP or SQL), etc.
+ .
+ Install this package on your compute nodes if you're using UserModeLinux.
+
+Package: nova-compute-xen
+Architecture: all
+Depends: nova-compute (= ${binary:Version}), python-libvirt, libvirt-bin, xen-linux-system, ${misc:Depends}
+Provides: nova-compute-hypervisor
+Replaces: nova-compute-hypervisor
+Conflicts: nova-compute-hypervisor
+Description: OpenStack Compute - compute node (Xen)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In
+ addition to its "native" API (the OpenStack API), it also supports the Amazon
+ EC2 API.
+ .
+ Nova is intended to be modular and easy to extend and adapt. It supports many
+ different hypervisors (KVM and Xen to name a few), different database backends
+ (SQLite, MySQL, and PostgreSQL, for instance), different types of user
+ databases (LDAP or SQL), etc.
+ .
+ Install this package on your compute nodes if you're using Xen.
+
+Package: nova-compute-kvm
+Architecture: all
+Depends: nova-compute (= ${binary:Version}), python-libvirt, libvirt-bin, kvm, ${misc:Depends}
+Provides: nova-compute-hypervisor
+Replaces: nova-compute-hypervisor
+Conflicts: nova-compute-hypervisor
+Description: OpenStack Compute - compute node (KVM)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In
+ addition to its "native" API (the OpenStack API), it also supports the Amazon
+ EC2 API.
+ .
+ Nova is intended to be modular and easy to extend and adapt. It supports many
+ different hypervisors (KVM and Xen to name a few), different database backends
+ (SQLite, MySQL, and PostgreSQL, for instance), different types of user
+ databases (LDAP or SQL), etc.
+ .
+ Install this package on your compute nodes if you're using kvm.
+
 Package: nova-scheduler
 Architecture: all
 Depends: ${ostack-lsb-base}, nova-common (= ${binary:Version}), ${python:Depends}, ${misc:Depends}

=== modified file 'debian/debian_control_vars'
--- debian/debian_control_vars	2011-04-24 08:42:40 +0000
+++ debian/debian_control_vars	2011-08-11 09:06:19 +0000
@@ -1,2 +1,3 @@
 nova-compute-deps= lsb-base, qemu-utils, adduser, libvirt-bin (>= 0.9.0)
 ostack-lsb-base= lsb-base
+nova-compute-default-hypervisor=nova-compute-kvm

=== added file 'debian/nova-compute-kvm.conf'
--- debian/nova-compute-kvm.conf	1970-01-01 00:00:00 +0000
+++ debian/nova-compute-kvm.conf	2011-08-11 09:06:19 +0000
@@ -0,0 +1,1 @@
+--libvirt_type=kvm

=== added file 'debian/nova-compute-lxc.conf'
--- debian/nova-compute-lxc.conf	1970-01-01 00:00:00 +0000
+++ debian/nova-compute-lxc.conf	2011-08-11 09:06:19 +0000
@@ -0,0 +1,1 @@
+--libvirt_type=lxc

=== added file 'debian/nova-compute-uml.conf'
--- debian/nova-compute-uml.conf	1970-01-01 00:00:00 +0000
+++ debian/nova-compute-uml.conf	2011-08-11 09:06:19 +0000
@@ -0,0 +1,1 @@
+--libvirt_type=uml

=== added file 'debian/nova-compute-xen.conf'
--- debian/nova-compute-xen.conf	1970-01-01 00:00:00 +0000
+++ debian/nova-compute-xen.conf	2011-08-11 09:06:19 +0000
@@ -0,0 +1,1 @@
+--libvirt_type=xen

=== modified file 'debian/nova-compute.init'
--- debian/nova-compute.init	2011-04-27 05:30:15 +0000
+++ debian/nova-compute.init	2011-08-11 09:06:19 +0000
@@ -19,6 +19,10 @@
 DAEMON_ARGS="--flagfile=/etc/nova/nova.conf"
 PIDFILE=/var/run/nova/nova-compute.pid
 
+if ! [ -x ${DAEMON} ] ; then
+	exit 0
+fi
+
 ENABLED=true
 
 if test -f /etc/default/nova-compute; then
@@ -39,10 +43,6 @@
 export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
 export TMPDIR=/var/lib/nova/tmp
 
-if ! [ -x ${DAEMON} ] ; then
-	exit 0
-fi
-
 case "$1" in
   start)
     test "$ENABLED" = "true" || exit 0

=== modified file 'debian/nova.conf'
--- debian/nova.conf	2011-03-10 13:51:59 +0000
+++ debian/nova.conf	2011-08-11 09:06:19 +0000
@@ -3,4 +3,5 @@
 --logdir=/var/log/nova
 --state_path=/var/lib/nova
 --lock_path=/var/lock/nova
+--flagfile=/etc/nova/nova-compute.conf
 --verbose

=== modified file 'debian/rules'
--- debian/rules	2011-05-19 22:26:04 +0000
+++ debian/rules	2011-08-11 09:06:19 +0000
@@ -43,6 +43,9 @@
 	dh_install
 	chmod 440 $(CURDIR)/debian/nova-common/etc/sudoers.d/nova_sudoers
 	install -D -m 0664 $(CURDIR)/debian/nova-volume.default	$(CURDIR)/debian/nova-volume/etc/default/nova-volume
+	for hypervisor in kvm xen uml lxc; do \
+		install -D -m 0600 $(CURDIR)/debian/nova-compute-$${hypervisor}.conf $(CURDIR)/debian/nova-compute-$${hypervisor}/etc/nova/nova-compute.conf; \
+	done
 
 override_dh_fixperms:
 	dh_fixperms -Xnova_sudoers

=== modified file 'debian/ubuntu_control_vars'
--- debian/ubuntu_control_vars	2011-05-05 14:35:33 +0000
+++ debian/ubuntu_control_vars	2011-08-11 09:06:19 +0000
@@ -1,1 +1,2 @@
 nova-compute-deps= adduser, libvirt-bin (>= 0.8.8)
+nova-compute-default-hypervisor=nova-compute-kvm

