161 Commits

Author SHA1 Message Date
Jim Rollenhagen
983cccb75b Enable baremetal scheduler filters when using ironic
These are recommended for all ironic deploys; turn them on.

Change-Id: Ia3df144e626266ed1774c4cd9863aedb876c409f
2017-03-21 18:37:24 -04:00
Evgeny Antyshev
008aa3e095 Fix install_libvirt for other RHEL-based distros
Since https://review.openstack.org/#/c/438325 landed
it only works for Centos 7, but not for other
RHEL-based distributions: Virtuozzo and, probably, RHEV.

Both of above have own version for qemu-kvm package: qemu-kvm-vz and qemu-kvm-rhev,
accordingly. These packages provide "qemu-kvm", like qemu-kvm-ev,
and, when you call "yum install qemu-kvm", they replace the default OS package.

Change-Id: I46da627c0da8925064862fdc283db81591979285
2017-03-02 11:14:25 +00:00
Ian Wienand
52bb64105f Use qemu-kvm-ev package on centos
For the latest qemu-kvm, you have to use the qemu-kvm-ev package,
which is based off the qemu-kvm-rhev package, which is explained in
[1] but you probably can't read it.  The gist is, that qemu-kvm-rhev
is a later build of kvm that is incompatible with the base version
provided.  qemu-kvm-rhev is only provided with the RHV (ovirt) and
RHOS (openstack) products.  CentOS rebuilds this package as
qemu-kvm-ev as part of it's virtualisation SIG.

I9a972e3fde2e4e552f6fc98350820c07873c3de3 has bumped up the minimum
qemu version to 2.1.0.  It seems there is a an issue (bug #1668164)
where having the qemu-system package installed gets picked up if
installed, and reports the incorrect version to nova, causing failure.

This removes the installs from files/rpms/nova as it is all being done
in function-libvirt.  We only install the qemu-kvm-ev package on
centos and remove the old work-around.

[1] https://access.redhat.com/solutions/629513
[2] https://wiki.centos.org/SpecialInterestGroup/Virtualization

Change-Id: Ide91b261f35fb19d8bd7155ca016fa3b76a45ea1
2017-02-27 18:59:49 +11:00
Sean Dague
999dd7e989 only apply ebtables race fix on trusty
Change-Id: Ifc83e7301d9d921ce9ceed349f116584ce03842b
2017-02-09 17:56:40 -05:00
Huan Xie
c608184211 XenAPI: Use XenServer DevStack plugins
Hypervisor XenServer will change to use os-xenapi in the future,
this will need DevStack changes, this patch is to remove install
Dom0 plugins part to our own DevStack plugins.

Change-Id: Ic327135b893a77672fd42af919f47f181e932773
2017-01-09 17:43:24 -08:00
Jenkins
d0df7c88f2 Merge "Fix libguestfs on Ubuntu" 2016-12-05 17:34:29 +00:00
Andrea Frittoli
1c442eebc8 Fix libguestfs on Ubuntu
libguestfs does not work on ubuntu because the kernel is not
world readable. This breaks file injection with libvirt.
See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725
for more details.

The workaround proposed by Ubuntu is to relax the kernel ACL
if needed, so we need to do that in case file injection is
enabled on an Ubuntu host running libvirt.

Partial-bug: #1646002
Change-Id: I405793b9e145308e51a08710d8e5df720aec6fde
2016-12-01 17:00:41 +00:00
Huan Xie
2864150940 Make neutron ml2 use ovs native interface
Neutron has changed to use ovs native interface by default, but when
the hypervisor is XenServer, we cannot use ovs native interface without
extra configurations in neutron-openvswitch-agent(q-agt) in compute
node.

This patch is to add the needed configurations automatically during
deployment, so user needn't to do it manually and restart q-agt.

Change-Id: Ibc69d3cdb4d75833f2ac16840c62bcacf460dd4f
2016-11-30 17:19:36 +00:00
Huan Xie
f881a0e4ee XenAPI: Enable linux bridge in Dom0 for neturon
When using neutron network under xenserver, we must enable linux bridge
in Dom0 as neutron will use linux bridge qbr in compute node for
security group. But by default XenServer use openvswitch and disabled
linux bridge. This patch is to remove this restriction.

Change-Id: I0e8124ff2323810fdc46c717a750ce7e8f4aa0c6
2016-11-02 20:50:41 -07:00
Jenkins
8caeb035f4 Merge "Make Nova/Ironic communication use Identity v3" 2016-10-13 19:55:06 +00:00
Jenkins
c330a8a661 Merge "nova: stop setting deprecated use_usb_tablet option" 2016-10-12 02:24:04 +00:00
Jenkins
1c13be860b Merge "Modify the default Qemu packages name for AArch64." 2016-10-10 13:58:17 +00:00
Clenimar Filemon
57df186c13 Make Nova/Ironic communication use Identity v3
As long as nova already supports an Identity v3 auth flow when talking
to ironic (Id837d26bb21c158de0504627e488c0692aef1e24), make it use
v3 by default.

This way we don't fail in a keystone v3-only situation, for
example.

Change-Id: I028dfb52108d0630f47a53f8b420b70d4979eb55
2016-10-04 16:27:02 +00:00
Kevin Zhao
a80d4097a9 Modify the default Qemu packages name for AArch64.
In Debian jessie and later release,there is no packages
called "qemu-kvm" for AArch64. Also modify the libguestfs0
packages for AArch64

Closes-bug: #1612182

Change-Id: I5eb6bd137896eb9abfc4f8dbb41b41105e4820cd
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2016-09-22 07:44:43 +00:00
Matt Riedemann
14cb490d1e nova: stop setting deprecated use_usb_tablet option
The use_usb_tablet option is replaced by the pointer_model
option.

Depends-On: Id18b5503799922e4096bde296a9e7bb4f2a994aa

Change-Id: Ic2a49f88df988c6404c1c72e9ee28a487e4f7908
2016-09-13 15:51:23 -04:00
Matt Riedemann
6390d5ef82 libvirt: install python-guestfs when ENABLE_FILE_INJECTION=True
There is a bit of a weird history here, but the net is we're not
installing python-guestfs when ENABLE_FILE_INJECTION is set, which
it is in the gate-tempest-dsvm-neutron-full-ssh job, which makes
file injection (personality) tests fail.

The history:

Commit 0ae942b41c6dcd0fe7353e7d68574194fb72a66d moved installing
python-guestfs to the hypervisor-libvirt file and it was conditional
on a flag to enable file injection and the backing distro.

Commit a3c94468baa159840a47c34cf94d97d816208313 removed the ability
to configure nova for file injection, which never made any Tempest
tests fail because we didn't have a job that tested file injection
with ssh, which is what gate-tempest-dsvm-neutron-full-ssh does.

Commit 6d3670a65280d71529f8aad8ca5a0422abffebd0 added the ability
back to enable file injection and the gate-tempest-dsvm-neutron-full-ssh
job uses it, but missed added the condition back in from 0ae942b41
which installed the python-guestfs package. This change adds that
back in.

Change-Id: I1c1ef093b70007100646c086dc5724cd64751d00
Closes-Bug: #1622649
2016-09-12 11:35:22 -04:00
Lenny Verkhovsky
0a40710b9f Adding vfio to cgroup_device_acl during libvirt configuration
vfio should be added to cgroups on some of the Distributions like
Ubuntu 16-04

Change-Id: I7239858b6307e37bf1237b92d69a0520ab5ad304
2016-09-04 12:52:01 +00:00
Jenkins
6affe6db29 Merge "Change quota_injected_file_path_bytes to quota_injected_file_path_length" 2016-09-02 17:27:37 +00:00
Jenkins
8755de3d75 Merge "Install conntrack in XenServer Dom0" 2016-08-30 14:21:38 +00:00
Huan Xie
26edd7b071 Install conntrack in XenServer Dom0
Neutron openvswitch agent running in compute node will control the
actual connection of the VMs in Dom0 via conntrack-tools, but Dom0
doesn't install conntrack-tools RPM by default.
This patch is to add such support with XenServer 7.0 and above.

Change-Id: Iec56db761015d4b7baa5a5f54314f4ff3fa67e02
2016-08-30 01:30:14 +00:00
Janki Chhatbar
8f586fbefe Start virtlogd service
Ensure the virtlogd service is started, to work-around various
platform issues where it isn't started correctly.

Closes-Bug: #1603009
Change-Id: I548b377df6b2f0c287429e4387ee33184a82a64d
2016-08-30 10:37:21 +10:00
lvdongbing
62f6eb68fd Change quota_injected_file_path_bytes to quota_injected_file_path_length
'quota_injected_file_path_bytes' has been renamed to
'quota_injected_file_path_length' long time ago, this patch fixes this
issue in devstack.

Change-Id: I5d3c52c5ded5321435d2d395b682c4c0725279a7
2016-08-17 03:44:42 -04:00
Jenkins
9b8b922872 Merge "fix nova's fake virt driver plugin" 2016-08-12 08:56:01 +00:00
Andrey Pavlov
3d5f03abe5 fix nova's fake virt driver plugin
nova's config was changed -
now virt driver parameter needs not full path for virt driver

Change-Id: I2a32b4dee3f27efc78bd1e546a96cfbc1225b8b5
2016-08-11 19:10:41 +03:00
Jenkins
88c1a7715d Merge "Add a way to enable file injection for nova/tempest" 2016-08-09 11:43:39 +00:00
Jenkins
be0f207007 Merge "nova: remove explicit file injection being disabled" 2016-08-09 10:39:39 +00:00
Bob Ball
c694e55ad9 XenAPI: Don't assume specific network interfaces
The default for GUEST_INTERFACE_DEFAULT now uses the ip command
to find an interface; so it will work on multiple distributions.

XenAPI should not be setting a specific interface here, as it will
almost always be wrong.  In most cases, the calculated value for
GUEST_INTERFACE_DEFAULT will be a better default.

PUBLIC_INTERFACE_DEFAULT makes even less sense as it's often an
internal bridge for devstack scenarios.

In both cases, the right way to override these is to set
GUEST_INTERFACE / PUBLIC_INTERFACE in the localrc rather than
changing the _DEFAULT values.

Change-Id: I0cf84438d778bf1a2481328165513c59167490e2
2016-08-01 12:58:58 +01:00
Kevin Zhao
5d7992a018 Modify the default cpu-mode for aarh64 in Libvirt
For AArch64, KVM don't recognize the cpu-mode "none",
so change the default cpu-mode as host-passthrough for
generating nova.conf

Change-Id: I94a22e5a15a974b9c11e9f9fd996857453b6e2ca
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2016-07-20 00:20:38 +08:00
Matt Riedemann
6d3670a652 Add a way to enable file injection for nova/tempest
File injection is disabled by default for the libvirt
driver in nova. This adds a variable to enable file
injection for the libvirt driver and is also used
to configure tempest.conf for running personality
tests.

Change-Id: I34790fadeffd6e3fdc65bd9feed3d6e62316896c
Related-Bug: #1598581
2016-07-03 19:40:25 -04:00
Matt Riedemann
9079a40e9e nova: remove explicit file injection being disabled
Change 9ce99a44cf85e431227536e2251ef05b52e61524 disabled file
injection with the libvirt driver by default back in Icehouse,
so devstack doesn't need to do this explicitly anymore.

Change-Id: Id0c521f6f624367bd497463c8c2d99488548fcff
2016-07-03 19:20:27 -04:00
Jenkins
0a73b22b6c Merge "functions-libvirt: Add log filter to capture CPU driver errors" 2016-06-09 14:22:11 +00:00
Sean Dague
214459cdf7 remove addition of gate64 cpu
Nova has been fixed to not need this work around. We shouldn't keep it
in devstack.

Change-Id: Ie2b1c6b8ddce4a2fd94af06745d59455208f0633
2016-06-03 15:03:37 +10:00
Kashyap Chamarthy
07dc2bf776 functions-libvirt: Add log filter to capture CPU driver errors
Two things:

  (a) Add the log filter to capture libvirt CPU manipulation driver
      related error messages when things fallout (e.g. CPU model
      comparision failures during live migration).

  (b) While we're at it, remove the "1:qemu_monitor" log filter, because
      the existing filter "1:qemu" should take care of logging the
      interactions with QEMU monitor console.  This is the case since
      the introduction of VIR_LOG_INIT() macro in upstream libvirt,
      which performs a substring match on a given file name.  (Available
      from libvirt version v1.2.10 onwards).

Change-Id: I75befd52d9f892eb5a6236eee9a397fab7602ecc
2016-06-02 15:28:56 +02:00
Matt Riedemann
9278eb78df Move setting lvm libvirt configs to hypervisor-libvirt
When the nova backend is LVM we set some libvirt configs
in nova.conf. Those should happen in the libvirt plugin
file rather than the generic nova file since it's specific
to running nova-compute with libvirt.

Change-Id: I37a63a5fba2e9eea4daafe4ec390b2e7aac236f3
2016-05-18 13:38:38 -04:00
Jenkins
ab7e062f5d Merge "Revert "Update auth params in Nova Hypervisor-Ironic"" 2016-05-09 16:44:31 +00:00
Dmitry Tantsur
3b79e5f9f7 Revert "Update auth params in Nova Hypervisor-Ironic"
This seems to break Ironic gate with n-cpu not starting
any more.

This reverts commit c527ded91bef5d4c56cbdb2402a4d68015364b37.

Change-Id: Idfb01448e8ecf53fbd2e1df61c8f08f3107981ac
Closes-Bug: #1579683
2016-05-09 09:36:04 +00:00
Jenkins
251b870e85 Merge "Update auth params in Nova Hypervisor-Ironic" 2016-05-06 20:50:07 +00:00
Jenkins
5899d20bc3 Merge "Set default value and configurable value for integration bridge" 2016-05-04 16:44:28 +00:00
vsaienko
e3a04dd857 Fix ironic compute_driver name
This commit fixes breaking change [0].
Long driver names like 'nova.virt.libvirt.libvirtDriver' are
no longer available and 'libvirt.libvirtDriver' should be used
instead.

Reference:
[0] https://review.openstack.org/309504

Change-Id: I27a1b75b921c7401bc8614caadfd1e09e7dd5d65
Closes-Bug: 1574990
2016-04-26 10:26:30 +03:00
Huan Xie
bea1e1954a Set default value and configurable value for integration bridge
When using XenServer as hypervisor, install_os_domU.sh will create
integration bridge for compute node when neutron network is used.
But it should provide a way to allow moving of the VM to another
host (with a different XEN_INTEGRATION_BRIDGE) for easier install.
This patch is to provide the way to let user have the chance to
configure integration bridge themselves

Change-Id: If923a5e978e77fc091d24b6e1fe7a83a3375da09
2016-04-22 06:21:52 +00:00
Clenimar Filemon
c527ded91b Update auth params in Nova Hypervisor-Ironic
As Nova hypervisor uses deprecated parameters when trying to
authenticate to Ironic, as well as a hardcoded /v2.0 endpoint, a fatal
error occurs when creating a keystone v3-only devstack.

This patch updates auth parameters (ironic section in nova.conf) that Nova
uses when trying to connect to Ironic to v3 parameters.

Change-Id: I2d7ebf750115613aa917448f20daaece614633ef
2016-04-20 13:59:42 -03:00
Yingxin
b298e57c9f Change scheduler configurations to use entrypoints
Full class path style configuration of options scheduler_host_manager
and scheduler_driver are deprecated because of dependent changes. This
commit changes the related configurations to use entrypoints in setting
up nova scheduler in devstack.

Related to blueprint scheduler-driver-use-stevedore
Depends-On: I8c169e12d9bfacdbdb1dadf68b8a1fa98c5ea5bc
Depends-On: I3fd42ead44487a21eb5cfaf5a91209277ce30ad0

Change-Id: Iad96c270073b63719237cf9a9aa1c2dc4daa213a
2016-01-29 05:11:27 +00:00
Jenkins
bbf293439b Merge "Update the vnc config options group 'DEFAULT' to 'vnc'" 2016-01-21 22:33:22 +00:00
Jenkins
8ca268b7c3 Merge "libvirt: don't repeatedly configure libvirtd logging" 2016-01-20 01:06:16 +00:00
Alexander Schmidt
a5ea08b752 Add distro support for KVM for IBM z Systems
Add "KVM for IBM z Systems" to the list of Fedora-like distros.

As the distribution does not have a dedicated kvm package,
prevent the installation of the kvm package during the libvirt
setup.

Change-Id: Ibb5c60797d6867264f9dea7fea85cdf1d7c72ded
2016-01-07 10:14:39 +01:00
Mark McLoughlin
76cbbe37aa libvirt: don't repeatedly configure libvirtd logging
/etc/libvirt is not world-readable (at least on Fedora and RHEL) so
use sudo with the grep that checks whether we have already configured
libvirtd logging. Also, change the regex so we don't count commented
out logging config.

Change-Id: I67484b28aafd0fa828385321fa96d9141cb4cb59
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2015-12-14 11:36:42 +00:00
Mahito OGURA
cf4f76299f Update the vnc config options group 'DEFAULT' to 'vnc'
n-api log output WARNINGs that vnc config options group 'DEFAULT'
is deprecated. New vnc config options group is 'vnc'.
This is change of Nova.[1]
This patch changes the vnc config options group 'DEFAULT' to 'vnc'.

[1] https://bugs.launchpad.net/nova/+bug/1447528

Change-Id: If54f750bac83298e90bdca27b5992fe2e5fbb712
Closes-Bug: 1483583
2015-12-14 06:40:23 +00:00
Ian Wienand
523f488036 Namespace XTRACE commands
I noticed this when debugging some grenade issues failures.

An include of grenade/functions stores the current value of XTRACE
(on) and disables xtrace for the rest of the import.

We then include devstack's "functions" library, which now overwrites
the stored value of XTRACE the current state; i.e. disabled.

When it finishes it restores the prior state (disabled), and then
grenade restores the same value of XTRACE (disabled).

The result is that xtrace is incorrectly disabled until the next time
it just happens to be turned on.

The solution is to name-space the store of the current-value of xtrace
so when we finish sourcing a file, we always restore the tracing value
to what it was when we entered.

Some files had already discovered this.  In general there is
inconsistency around the setting of the variable, and a lot of obvious
copy-paste.  This brings consistency across all files by using
_XTRACE_* prefixes for the sotre/restore of tracing values.

Change-Id: Iba7739eada5711d9c269cb4127fa712e9f961695
2015-11-27 15:36:04 +11:00
Sean Dague
7860f2ba31 install ebtables locking workaround
ebtables is racing with itself when nova and libvirt attempt to create
rules at the same time in the nat table. ebtables now has an explicit
--concurrent flag, that all tools must opt into to prevent ebtables
from inherently being unsafe to run.

libvirt gained this support in 1.2.11, which is too new for our ubuntu
primary testing environment. Nova still hasn't added this support,
though even if it did, we'd run into the issue with libvirt.

We can do the most ghetto thing possible and create a wrapper for
ebtables that does explicit locking on it's own. It's pretty terrible,
but it should work. And it is the kind of work around that people
unable to upgrade libvirt will probably need to do.

This is an opt in value which we should set in the gate to True.

Related-Bug: #1501558

Change-Id: Ic6fa847eba34c21593b9df86a1c2c179534d0ba5
2015-11-18 10:59:50 -05:00
Hirofumi Ichihara
508931ff36 Remove Ubuntu 14.10 as supported distribution
Ubuntu 14.10(utopic) reached end of life[1].

[1]: https://lists.ubuntu.com/archives/ubuntu-announce/2015-July/000197.html

Change-Id: Iab13ca797bda56462d9d117aa500d3ba0d9bebcb
2015-11-02 17:50:31 +09:00