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
Change the Nova config to use the IronicDriver from the Nova tree,
so that the copy of this driver in Ironic's tree may be deleted.
Also removes the unneeded [ironic] "sql_connection" config parameter
which was cruft copied from the nova_bm configuration in commit
06fb29c66124b6c753fdd262eb262043b4551298
Change-Id: I35473b54d760bfa7395decbe6b086f64db60ab10
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
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
This moves around a bunch of functionality and attempts to isolate setup
steps into discrete functions (new or existing), making them easier to
consume from outside of Devstack (ie, Grenade).
Change-Id: I480167dcc008506ec2fe8c412db4114b74496e60
According to the comments in stack.sh the configuration parameter
EXTRA_BAREMETAL_OPTS should be removed during the Juno cycle.
Change-Id: I8564d16e56d1f77d3afa4af9a50fbffa3da8bfe5
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
I346ee0248c03e60716bd7dc4a5ee4493610867cb broke the XenServer CI as
devstack was still setting the deprecated config options.
Change-Id: Icd84212e97a9d5e007745be8096fa552bc23cb6f
auth_token middleware now accepts a standard URL string as the parameter
identity_uri instead of specifying protocol etc individually. Change the
services over to use this.
Also changes over some other places in which the auth fragments are used
individually to the new variables and fixes up some misconfigurations of
auth_token.
identity_uri option was release in keystoneclient 0.8.0
Change-Id: Iac13bc3d08c524a6a0f39cdfbc1009e2f5c45c2a
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
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
The FakeVirt driver shouldn't need custom scheduling options, so it run
instead of a real virt driver for testing purposes. This simplifies the
use case where someone wants to run the FakeVirt driver along side a
real driver so someone can test there cloud application without wasting
real instances.
Since the FakeVirt driver should look like it has near infinite resources,
turn on Core, Ram and Disk filters to make sure the drive works with them
enabled.
Change-Id: Ic7ec87e4d497d9db58eec93f2b304fe9770a2bbc
Related-Bug: #1268943
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
Just like the beginning of every other release, remove the deprecated
config option aliases that were marked as deprecated in Icehouse.
Nova patch - https://review.openstack.org/#/c/88456/
Change-Id: Idd051c516002030e8e191c7b8d31f1ff408e1c7d
libvirt_cpu_mode was renamed to libvirt.cpu_mode
libvirt_type was renamed to libvirt.virt_type
This patch is needed before I346ee0248c03e60716bd7dc4a5ee4493610867cb can
land.
Change-Id: Ie8a39147ece3a3c86f4b146fa0af3641b1079319
Commit 08448e3a mistakenly updated the location of the Ironic compute
driver to be loaded from within the Nova tree. However, no such module
exists as the compute and scheduler drivers both live in the Ironic tree.
This reverts that and adds a note explaining the setting.
Change-Id: I7f32f77bd7e5fd1f6b41014ac71bbf6e1a7d84cf
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
The Ironic api_endpoint value in nova.conf (ironic section) is incorrectly
set to port 6358. This sets it to the correct port: 6385.
Change-Id: Ic591588e3480cc25c6e276f11103b7b0007d642a
Closes-Bug: #1297939
cluster_name opt for vSphere driver is MultiStrOpt and currently
users are not able to set multiple values from localrc. This is
fixed by using iniset_multiline function.
Thus, new usage would be :
VMWAREAPI_CLUSTER='cluster1 cluster2 cluster3'
where c1, c2, c3 are the name of the clusters
Change-Id: Ie0f3a48614e6134d849050754932a3613363ce66
When deploying Ironic, make use of the existing libvirt installation
and configuration used by the Nova libvirt driver. Ensures a functional
libvirt setup across distributions.
Change-Id: I904ae2bdd4e8299827270c351eb60b833f90ae75
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
with I1c9bea2fdeebc4199c4f7d8fca4580a6fb7fed5b nova removed
docker from it's driver tree.
We shouldn't have driver support inside of devstack that's not
part of upstream projects (this has been a line we've been
pretty clear on with Neutron drivers in the past).
Remove docker driver accordingly.
Change-Id: Ib91d415ea1616d99a5c5e7bc3b9015392fda5847
only turn on the libvirt debugging if we really need it, which
we could control in the gate via devstack-gate.
Change-Id: I5e6d41d5333357608ab6a614610c060400f70a10
libvirt debug setting was happening in a place where we weren't
actually resetting the daemon. Move it to into the hypervisor
plugin where we do.
Change-Id: Ia79b0ef50f6b8fb007a20ce5cb4e510a5e4600a5
When reading a file, it is expected that
the read process will exit 1 as this is
expected whenever the input reaches an EOF.
Because it is not clear if the 'exit 1' is
from a successful read or a more serious error,
and as this edge-case of 'read' is not well-known,
we instead change this code to read the file using
'cat'.
The new code is moved into a function, is_docker_running.
Furthermore, we now quote the variables and check
for the existance of the pid file for better and safer
error handling.
Change-Id: Idb56b87349a5a84d5d255715cfb7191341363118
Closes-Bug: 1286441
The behavior of the code being replaced was failing
with '-o errexit' should that, as in the common case,
the image has not been uploaded into Glance.
While we could workaround this using a '|| :', the existing
code also happened to overwrite the DOCKER_IMAGE global
which is used elsewhere. It seemed prudent to either change
this variable name or remove it altogether.
Finally, using 'glance image-show' is more deterministic
than grepping the output of 'glance image-list'.
Change-Id: I23188155966ae9db64259b4a9d25a0d98c63c912
Closes-Bug: 1286443
Check that function calls look like ^function foo {$ in bash8, and fix
all existing failures of that check. Add a note to HACKING.rst
Change-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938
After the https://review.openstack.org/#/c/75314 merged
the /etc/polkit-1/rules.d/50-libvirt-stack.rules files contains
subject.user == '"stack"' instead of
subject.user == 'stack'.
Change-Id: I09f252b2d0e53f012facb9f7eaa21c1e1bdf492b
The libguestfs dependency tree includes a number
of packages that we may not want or work everywhere, such as fuse.
Now python-(lib)guestfs will install from lib/nova_plugins/hypervisor-libvirt
Change-Id: I6c3a614010ee8d65813eec66a56680def622514c
Add two end-of-file checks to bash8. Firstly, alert if heredoc hasn't
finished. Some heredocs were done like:
---
sudo bash -c "cat <<EOF > foo
...
EOF"
---
(A better way to do this is "cat <<EOF | sudo tee ..." as it retains
the usual heredoc layout in the code).
The trailing quote was throwing the matching in bash8 off and it kept
appending the next file as if it was still part of the heredoc. To
avoid this, we check if we're still in a heredoc when we start a new
file; if so raise an error and reset the heredoc status fresh. We
track the state of the previous file, line and lineno so we can give a
good error.
---
E012: heredoc did not end before EOF: 'cat <<EOF'
- lib/trove: L221
---
This includes fixes for the existing problem heredocs.
A similar EOF check is to ensure the previous file ended with a
newline.
---
E004: file did not end with a newline: '$MY_XTRACE'
- lib/neutron_plugins/embrane: L40
---
This requires only one fix
Change-Id: I5e547d87b3921fc7ce6588c28f074e5c9f489c1f
There is a patch up for nova right now that disables file injection by default.
This is a corresponding devstack change that only sets file injection options if
it is enabled in the devstack config. This is good to keep around so that we
can easily turn it on for testing.
The nova change is id Icff1304fc816acc843f8962727aef8bbbc7bbaa3.
Change-Id: I5015f2c351b1d680c205d7f9a5204febca490b91
This allows the tempest configuration to set the right
image for booting docker containers with Nova.
Since glance uploads are not yet integrated in devstack,
IMAGE_URLS remains empty.
Change-Id: I5df153cd1d5e1411bb3c11816122ce280148e129
For purposes of matching the VM image used
in devstack across hypervisors, set the
default container image for Docker to cirros.
This uses the CirrOS image from stackbrew,
the "standard library" for Docker.
Change-Id: I9d767a4e06c5caa7b92ffea25e6a9aeda9bf282a