25 Commits

Author SHA1 Message Date
Ian Wienand
614ca26b47 Install qemu-kvm package on centos/fedora
Change I79a8d8ac7ad2fbd7d2fce696821d130218e43e03 removed the install
of python-libguestfs, which was actually hiding a dependency issue on
Centos.  The "kvm" package is ultimately missing some bios files from
"seabios-bin" -- however with python-libguestfs installed this was
coming in via a dependency chain that pulled in qemu-kvm, which has
the dependency.

qemu-kvm is not strictly required as all the functionality is within
qemu-system-x86.  But while we get [1] sorted out this restores the
job functionality.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1235890

Change-Id: I3379bc497978befac48c5af0f1035b96d030b7eb
2015-06-26 14:45:04 +10:00
Dirk Mueller
0ae942b41c Only install python-libguestfs bindings when needed
Currently those bindings are missing from SLES12, and since
they're not actually used unless file injection is enabled
(which is not by default), only conditionally depend on it.

Change-Id: I79a8d8ac7ad2fbd7d2fce696821d130218e43e03
2015-06-23 12:22:21 +02:00
Ian Wienand
3380a16974 Disable firewalld always
We've bike-sheded over this before
(I5252a12223a35f7fb7a4ac3c58aa4a3cd1bc4799) but I have just traced
down further issues to firewalld with neutron+ipv6 (see the bug).

In fact, as mentioned in the comments, RDO disables firewalld and the
neutron guide says to disable it [1].  The force flag is left if
anyone really wants this; but nobody is testing (or, as far as I can
tell, working on) this so bring devstack back into line and disable it
always.  Note we do not remove the package; as has been found in the
puppet scripts this can lead to dependency issues.

[1] http://docs.openstack.org/developer/devstack/guides/neutron.html

Change-Id: Ief7cb33d926a9538f4eb39c74d906ee0c879de35
Partial-Bug: 1455303
2015-05-15 19:14:19 +10:00
Sean Dague
60996b1b60 introduce pip_install_gr
This creates a new pip_install_gr that installs from global
requirements allowed versions. Now that stable branches are getting
capped all of devstack needs to be fixed to do things like this.

Change-Id: I8fd0ef2bfc544ca2576fab09d3018f760b8848fe
2015-04-08 10:28:17 -04:00
Andrew McDermott
bcef63ed43 Update qemu package name for Ubuntu aarch64
The qemu-system package, and not qemu-kvm, should be installed on either
trusty- or utopic-based ARMv8 (aarch64) Ubuntu releases. Additionally,
libguestfs is not available so that is not installed.

No changes are required for vivid.

Change-Id: Id9dc1fc465bd7acab17c991c292fb531016758ad
Signed-off-by: Andrew McDermott <andrew.mcdermott@linaro.org>
2015-04-05 17:10:32 +00:00
Jenkins
0f173a4821 Merge "Update libvirt cpu map before starting nova" 2015-04-03 20:21:21 +00:00
Kashyap Chamarthy
d3cfb82c65 functions-libvirt: Enable DEBUG_LIBVIRT config attribute by default
Enabling it by default because:

  - This allows you to get the relevant logs right away when something
    in the libvirt code path fails, without having to submit another
    change and keep doing a 'recheck' to re-run the CI check/gate jobs
    until you hit the bug.

  - The libvirt log filters specified in the function
    'configure_libvirt' are much more _selective_ and not a catch-all
    debug option where you end up with the unhelpful situation of having
    to find a "specific piece of hay in a haystack"[1].

FWIW, I always have it enabled in local test environments, and I don't
see the resulting libvirtd.log growing beyond a couple of MB for
three-four days of usage.

[1] http://lists.openstack.org/pipermail/openstack-dev/2014-January/024414.html

Change-Id: I5e0b35446075b419fe473e1db8d0bfedd7009741
2015-04-01 12:05:07 +02:00
Clark Boylan
edd6048168 Update libvirt cpu map before starting nova
We are trying to get a working 64bit qemu cpu model in the gate for nova
live migration testing. It appears that we need to make this change
prior to nova starting.

Make the change in configure_libvirt() to handle this along with the
other libvirt config updates. This allows us to restart the libvirt
service once. This function calls a python tool which parses and updates
the XML if necessary.

Change-Id: I00667713bfba67ab8cedbcb1660ff94d4f4bcc07
2015-03-31 15:06:30 -07:00
Kashyap Chamarthy
ae7b4f9b9e functions-libvirt: Enable 'qemu_monitor' logging filter for libvirt
A lot of libvirt interactions with QEMU are via the QEMU monitor
console, which allows you to either query or modify the state of a
virtual machine. Spefici examples include: querying the status of live
block operations, live snapshot operations, live migration, etc.

Enabling the 'qemu_monitor' log filter allows us to capture precisely
what commands libvirt is sending to QEMU.

Note that the log level was intentionally set to '1' (i.e. debug) for
this specific filter, because (a) it's not extremely verbose, (b) when
something breaks, it's helpful to have the exact sequence of
interactions between libvirt and QEMU.

Change-Id: Iba95b6bd7c9f197c8d48c7d978f538e50d4e31fa
2015-03-31 21:35:05 +02:00
Sean Dague
206c596d69 add back python-guestfs
This is needed otherwise we fall back to the nbd code path which is
super hacky. This shouldn't have been deleted for the venv path.

Change-Id: If5cb6cb4944bd0ed3548d53c98443b76725d1c0c
2015-03-30 13:56:11 -04:00
Dean Troyer
4533eeec1f Install Nova into its own venv
Install a couple of optional feature prereqs in hypervisor plugins.

rootwrap is horribly called indirectly via PATH.  The choice, other than fixing
such nonsense, is to force the path in sudo.

TODO:
* python guestfs isn't in pypi, need to specifically install it to not
  use the distro package

Change-Id: Iad9a66d8a937fd0b0d1874005588c702e3d75e04
2015-03-26 14:54:00 -05:00
Attila Fazekas
1f316beb20 Remove rhel6 and py26 support
el6 is shipped with Python 2.6.x which is not expected
to be supported with the openstack kilo release.

For el6 support we need to do lot of thing differently,
which makes the code more complicated.

This change removes el6 and py26 support from devstack.

This change also removed a discontinued (1 year ago)
openSUSE 12.2 code path, which used a similar codepath as el6.

Several comment related to el6 also removed or modified.

Change-Id: Iea0b0c98a5e11fd85bb5e93c099f740fe05d2f3a
2015-01-27 09:22:52 +01:00
Sean Dague
537532931d Make changes such that -o nounset runs
This makes a bunch of variable cleanups that will let -o nounset
function, for the time being we hide nounset behind another setting
variable so that it's not on by default.

Because this is bash, and things are only executed on demand, this
probably only works in the config it was run in. Expect cleaning up
all the paths to be something that takes quite a while.

This also includes a new set of unit tests around the trueorfalse
function, because my change in how it worked, didn't. Tests are good
m'kay.

Change-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d
2015-01-15 13:06:14 -05:00
Sean Dague
e263c82e48 add shebang lines to all lib files
With gerrit 2.8, and the new change screen, this will trigger syntax
highlighting in gerrit. Thus making reviewing code a lot nicer.

Change-Id: Id238748417ffab53e02d59413dba66f61e724383
2014-12-10 11:28:05 -05:00
Jenkins
e5dbec252a Merge "Fix docs build errors" 2014-10-08 22:14:51 +00:00
Dean Troyer
3324f19f5a Fix docs build errors
Fix shocco errors during docs generation

Closes-Bug: 1362691
Change-Id: I2b7fb008c89f0b4e7280b2d0a054320765e83e47
2014-10-02 15:30:50 -05:00
Gonéri Le Bouder
a214363cf0 Debian: use libvirt-bin when needed
libvirtd is the new name of the init script in Debian testing.
libvirt-bin is still in use on Debian Wheezy.

Since I222b71962f49896063910ff2a25e4f57be4bf819, libvirtd is the
default for Debian, this break the compatibility with Debian Wheezy.

With this patch, we use libvirt-bin only if there is no
/etc/init.d/libvirtd init script.

Change-Id: I13694fef93d36c2e128e15e7dbfaec9230335585
2014-09-18 18:07:39 +02:00
mathieu-rohon
62ec61c211 Detect when Debian is used to launch libvirtd
this patch checks if os_VENDOR is ubuntu to launch
libvirt-bin service. Previously, is_ubuntu() was used, but
this function only detects if a deb packaging is used, so
there were no distinction between Ubuntu and Debian.

Change-Id: I222b71962f49896063910ff2a25e4f57be4bf819
Closes-Bug: 1361260
2014-08-28 16:40:14 +02:00
Dean Troyer
85ebb3a868 Remove firewalld on Fedora 20 by default
firewalld interacts badly with the libvirt on f20, causing slow-downs
so great that it can timeout the gate.

Developers who want to leave it enabled should set FORCE_FIREWALLD=True

Change-Id: I5252a12223a35f7fb7a4ac3c58aa4a3cd1bc4799
2014-08-19 11:18:15 -05:00
Daniel P. Berrange
a12f996778 Avoid huge libvirtd.log files on Ubuntu hosts
The libvirt log filter settings match against the filename of
the libvirt source emitting the log message. Normally these
file names are relative to the source tree root, but in the
Ubuntu binary packages these have somehow ended up as absolute
filenames from the OS root. This means that a log filter of
'1:libvirt' which is only intended to match src/libvirt.c
will in fact match every single file. This caused enourmous
log files on Ubuntu hosts running the gate.

The fix is to use '1:libvirt.c' as a more specific filename
match, but we can't do this unconditionally because libvirt
>= 1.2.3 does not use filenames for log filter matching
anymore. So only change the match on Ubuntu hosts for now,
since that's where the original problem lies.

While doing this, also turn off the logging of object ref
and unref operations, since those pollute the logs with lots
of noise.

Change-Id: I71b67507a4e68a7bff0c358857aaaac08ef0c420
2014-07-01 17:27:29 +01:00
Ian Wienand
83afcfe9a9 [Fedora] Devstack fails to install in firewalld less system
The official F20 cloud image does not contains the firewalld,
there is nothing to restart, and it fails the installation.

The previous workaround change, assumed all is_fedoras has
a restartable firewalld without ensuring is it installed at all.

RHEL6 even does not have a firewalld.

Closes-bug: #1329102
Change-Id: I3d119ce48af81b30bf02b01c2cd386612ac6ef90
2014-06-12 10:25:07 +10:00
Ian Wienand
e6d99a946f Remove Fedora/libvirt workaround
An updated libvirt package to address [1] is in Fedora 20 now, so we
don't need this work-around.  Modify the comments of the other part of
the work-around (restart of services) and link to the most relevant
bug

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1098376

Change-Id: I47fba7b4f273162c2af1e37902a512041449750b
2014-05-27 13:58:12 +10:00
Ian Wienand
3ca91b2186 Workaround Fedora libvirtd issues on Xen instances
Fedora libvirtd fails to start on Xen instances (i.e. rackspace
instances) due to [1].  This works around the issue until it can be
fixed upstream.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1098376

Change-Id: I3790b5025982730263a6a84fce596e80f09efd5a
2014-05-19 18:37:56 +10:00
Adam Gandelman
b0f8beb8f1 Install qemu-kvm instead of kvm package on Ubuntu
Since at least 12.04, the kvm package is a transitional dummy
package intended to move users to the newer qemu-kvm package.  This
removes the dependency on this dummy package, which will be going away
in 14.04, and instead depends on the proper qemu-kvm package.

Change-Id: I4a88ada3cf32106413a9fae6fe77c9c4c28a524e
Closes-bug: #1294557
2014-03-27 00:18:22 -07:00
Adam Gandelman
0f73ff2c51 Move libvirt install + setup to functions-libvirt
Moves installation and setup of libvirt to a common functions-libvirt,
which can be used by other drivers in the future that may require
cross-distro libvirt installation and config but are not using
VIRT_DRIVER=libvirt (ie, Ironic).

Change-Id: I4a9255c8b4bacd5acfde9b8061c9e537aeea592c
2014-03-13 15:03:55 -07:00