659 Commits

Author SHA1 Message Date
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
Ian Wienand
c416d8b94f Sort rpm/deb files alphabetically
This is rather trivial, but it makes comparing the files much easier

Change-Id: I01e42defbf778626afd8dd457f93f0b02dd1a19d
2015-11-09 15:20:22 +11:00
Ian Wienand
a5e4c0f279 Clear out some duplicate package dependencies
I think these duplicate dependencies came in because we were not
correctly always installing "general" packages (see
Ie1b8d09369281059d21da61b2725a457f708ae9e)

Most of these are just extras for the lxml dependencies; I added zlib
devel to general for glance (seems pretty generic), and then that can
go too, as all other packages are specified.

Change-Id: I44b14ca15c64fad9daf1ac8d851704b02ea2eae0
2015-11-09 12:21:10 +11:00
Ian Wienand
a7e0b39a64 Move devlib packages into "general"
The removal of the wheel caching code
(Ia140dc34638d893b92f66d1ba20efd9522c5923b) removed the install of the
"devlib" packages, which was being done with a call in
tools/build_wheels.sh

The idea of "devlibs" and "general" seems to be pretty much the same
thing -- global build requirements.  I have removed the unused devlibs
files, and moved any missing packages into the "general" package
install file.

Change-Id: I8f34a164d6785a122394b42387d4221a7b447ae1
2015-11-09 12:06:18 +11:00
Sean Dague
5f8133caac remove gratuitous python packages
With pip + upper-constraints we're nearly always over installing all
python packages because we no longer support a range, we support
*exactly* one version.

This removes a bunch of the gratuitous package installs which we're
going to install over, lxml, numpy, libvirt. All of these we had
coming from packages in the past for speed concerns, but upper
constraints removes that.

It also ensures that all the headers to build all those are in
general, so they are guarunteed available at all times.

Change-Id: Ia76de730d65c84d81c4fb2c980ae1b4d595f9f5b
2015-11-06 11:48:19 -05:00
Jenkins
988389a45a Merge "Zookeeper for DLM scenarios" 2015-11-05 22:21:18 +00:00
Jenkins
afc9992b0b Merge "keystone: fix prefixed URL" 2015-11-05 22:21:01 +00:00
Sean Dague
9013bb0c24 remove wheel cache code
Thanks to lifeless, pip now implicitly has a wheel cache so that it
builds a wheel before every install, and uses that cache. All our
clever attempts at manually doing wheelhouse things is actually
bypassing the existing cache and making things take longer.

We should remove all of this code and just let pip do this thing,
which is does very well, and get out of the way.

Change-Id: Ia140dc34638d893b92f66d1ba20efd9522c5923b
2015-11-04 12:31:39 -05:00
Davanum Srinivas
33a96ffc26 Zookeeper for DLM scenarios
In Tokyo, there was a cross project session on distributed
key locking:
https://etherpad.openstack.org/p/mitaka-cross-project-dlm

In support of the discussion there, we'll need support for
a zookeeper service in Devstack and ability to use libraries
like Tooz for DLM functionality.

In this review, we pick up some configuration files from
monasca-api and copy the lib/template to implement the
zookeeper lifecycle. Those services that need zookeeper
need to add "zookeeper" in ENABLED_SERVICES.

Change-Id: Icef26e5cdaa930a581e27d330e47706776a7f98f
2015-11-03 12:13:50 -05:00
Jenkins
b37ca0f7b4 Merge "Format of nova-api log files was corrected" 2015-10-29 11:35:29 +00:00
Jenkins
5c38750db0 Merge "Added processing /ec2 URL" 2015-10-29 02:16:50 +00:00
Oleksii Chuprykov
a692810ef0 Add toggle to run Heat API services via Apache2
Add templates for running Heat API services via
apache mod_wsgi. Also add appropriate functions to
lib/heat for configuring Heat.

Change-Id: I1bdd678c44ddfa616a9db7db85ff6f490ff08947
2015-10-28 15:25:17 +00:00
Marian Horban
4abb31d9d8 Format of nova-api log files was corrected
When nova-api and nova-ec2-api services are started by Apache
(it can be done with devstack config option NOVA_USE_MOD_WSGI=True)
log files contained duplication of timestamp value.

Change-Id: I5439ea8f89ca3073600456f67220e9d3f5257d97
Closes-Bug: #1510517
2015-10-27 14:41:51 +00:00
Marian Horban
085855479f Added processing /ec2 URL
With config option NOVA_USE_MOD_WSGI=True nova-ec2-api handles
requests on /ec2 URL.

Change-Id: I0c2e99bf8b5e5cf53cd176685b206038a4b0f78b
2015-10-13 04:04:21 -04:00
Jenkins
449c467135 Merge "Add toggle to run Cinder API under Apache" 2015-09-30 21:24:38 +00:00
Jenkins
f845b22a45 Merge "Remove ceilometer in favor of plugin" 2015-09-28 17:49:32 +00:00
Anton Arefiev
651cb1ad75 Add toggle to run Cinder API under Apache
This change adds apache templates for Cinder API services.
Also add possibility to switch between the old and new ways
to setup Cinder API.

Related Cinder blueprint:
 https://blueprints.launchpad.net/cinder/+spec/non-eventlet-wsgi-app

Change-Id: Icfad40ee6998296727a95613199e5c2d87bd0a45
Depends-On: Ifbab059001d1567b1f7b394c0411a9ca4629f846
Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
2015-09-28 15:01:03 +00:00
Julien Danjou
382f982e51 keystone: fix prefixed URL
Commit 2ad1a42ca667ff21e6f7d2ae906be23a20430036 broke entirely the
Apache configuration for Keystone when used without a port on the
/identity URL. This patch fixes that.

Change-Id: I47805138c66456c9c5fa9af1f4ac33b03d0ce5b9
2015-09-22 07:04:18 +00:00
Flavio Percoco
624ab1e65d Remove Zaqar from devstack
Zaqar's devstack code has been moved into a plugin in the Zaqar repo.
This patch removes the remaining code from devstack.

Depends-On: Iceefabb6cd528b23075a91e8039b8264eb3f33f5
Change-Id: Ifcf54fa2d4a5bf49b6757b593bb70cdeda8edb2a
2015-09-15 14:38:35 +02:00
Jenkins
2f746c5243 Merge "Use keystone wsgi_scripts" 2015-09-14 05:21:26 +00:00
Chris Dent
e9a4750fe1 Remove ceilometer in favor of plugin
The ceilometer project is moving to using a devstack plugin rather
than having ceilometer in the base devstack. This is to allow
greater control and flexibility.

Change-Id: I413ab159474b7d7231ad66d3a482201f74efe8a8
2015-09-09 16:44:29 +00:00
Brant Knudson
2ad1a42ca6 Use keystone wsgi_scripts
Devstack was setting up a separate directory and copying
http/keystone.py into it for the admin and public endpoints.

Keystone now defines wsgi_scripts entrypoints so that
keystone-wsgi-admin and keystone-wsgi-public are created on
install so devstack can reference these files instead.

See http://httpd.apache.org/docs/2.4/upgrading.html#access for
the apache docs with examples for the Allow|Deny/Require
directives.

Depends-On: Ic9c03e6c00408f3698c10012ca98cfc6ea9b6ace
Change-Id: Ided688be62b64066d90776313c963ec5016363f2
2015-08-25 11:01:05 -04:00
Jenkins
92d996bf3a Merge "Move horizon apache root to /dashboard" 2015-08-18 20:41:49 +00:00
David Lyle
7b105c572e Move horizon apache root to /dashboard
With keystone's move to /identity, a conflict in for resources was
created as both keystone and horizon used /identity. The keystone
config took precedence and rendered API output in the horizon UI.

This patch sets the root for horizon to /dashboard and serves all
horizon content from there. Additionally, a RedirectMatch has been added
to the apache config for horizon to redirect '/' to '/dashboard' this
will allow the implementation to change without being immediately
painful to users.

Also made the path '/dashboard/' configurable in stackrc.

Closes-Bug: #1478306
Depends-On: I9a04f936ed6d8c14775a332dc28e903992806c42

for devstack-gate changes to remove hard coded horizon url structure
assumptions.

Change-Id: I6fbca5cea9e44df160afbccc71bd045437657320
2015-08-13 01:41:57 +00:00
Attila Fazekas
6691907683 Install cryptsetup on the n-cpu nodes
test_encrypted_cinder_volumes.* tempest test failes,
when cryptsetup package is not installed.

The following error can be seen in the n-cpu log:
Stderr: u'/usr/bin/nova-rootwrap: Executable not found: cryptsetup
(filter match = cryptsetup)\n'

Change-Id: I86603f1301fa946c8bb22de3e69a2ec1ab7f1ef3
2015-08-06 11:49:46 +02:00
Jenkins
47e68afd67 Merge "Keystone also handle /identity and /identity_admin" 2015-07-14 19:27:42 +00:00
Marian Horban
e62c906baf Added processing /compute URL
With config option NOVA_USE_MOD_WSGI=True nova-api handles
requests on /compute URL.

Depends on I83bc4731507fa028377ae6701ed4d32adefa9251

Change-Id: Ic84b5c0dc0726662470ef9c076a0cadca55a3917
2015-07-03 06:10:00 -04:00
Jenkins
7a0f6833ad Merge "remove non RabbitMQ messaging" 2015-07-02 20:09:05 +00:00
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
Brant Knudson
3bae7d48c0 Keystone also handle /identity and /identity_admin
When configured to run under Apache Httpd, keystone will also
handle requests on /identity (public) and /identity_admin (admin).

Change-Id: I4e6eb0cad1603aa0e612d0adc5431565da93870e
2015-06-24 15:58:47 -05:00
Dirk Mueller
c7e89f2380 SUSE: Clean up libxslt/libxml2 related dependencies
libxml2-devel is a dependency of libxslt-devel, so we don't need
to explicitly include it. Also, since it is only really needed
by python-lxml, consolidate it into devlibs and remove the copies.
Also remove a non-existing package reference along the way

Change-Id: If9afaaa93f2c485baa1efff74d7ae58c59713de6
2015-06-23 12:07:39 +02:00
Jenkins
128d113418 Merge "Make sure iptables-services is installed" 2015-06-19 05:10:48 +00:00
Jenkins
5fbae1b34c Merge "Remove Fedora 20 as supported distribution" 2015-06-16 19:59:45 +00:00
Jenkins
3f6f666ae0 Merge "Allow ceilometer to run in virtualenv if USE_VENV" 2015-06-16 19:44:53 +00:00
Jenkins
be5d9b7dfa Merge "SUSE: Add dependencies for L3 agent" 2015-06-16 19:44:24 +00:00
Sean Dague
37eca48970 remove non RabbitMQ messaging
Part of what was decided at summit is devstack needs to return to a
more opinionated stance, the following removes support for non
RabbitMQ messaging. RabbitMQ is used by over 95% of our community
(statistically all of it), so it's a pretty clear line to draw that
this shouldn't be in tree.

iniset_rpc_backend will be our stable hook for other projects that
want to implement this out of tree. The burden on creating those out
of tree plugins will be on those that wish to support those
alternative stacks.

Change-Id: I8073a895c03ec927a2598eff6c2f01e5c82606fc
2015-06-16 08:28:52 -04:00
Marian Horban
13f655720d Small fixes for running Nova services under Apache2
Following fixed were done:
1. Cleanup fixed.
2. API_WORKERS config option was added to nova config templates.
3. Nova API screen tabs were named as nova-api and nova-ec2-api.

Change-Id: I68dc6fd6c8aeffcec7f9039afd63bd1599c65682
2015-06-13 13:47:12 -04:00
Dirk Mueller
987f83da5a SUSE: Add dependencies for L3 agent
Change-Id: If3f4f5ab9a3072273d2f440718ce0c75fd71fdf1
2015-06-12 13:32:39 +02:00
Ben Nemec
64b2ebca15 Make sure iptables-services is installed
The iptables service files are no longer included by default on
Fedora.  This causes the systemctl calls in fixup_stuff.sh to fail
when disabling firewalld in favor of iptables.

Change-Id: If37691d03e3d07ca8b53c541717081beeb184c16
Closes-Bug: #1462347
2015-06-09 15:22:37 +00:00
Chris Dent
027e2ea741 Allow ceilometer to run in virtualenv if USE_VENV
This requires three main changes:

* setting CEILOMETER_BIN_DIR appropriately
* running the various services with a full path
* explicitly installing optional python modules (for mongo and
  virt drivers, if configured) during the install phase

In the process of making this work it was discovered that setting
CEILOMETER_BACKEND to something like 'foo' would cause the backend
to be configured to use mongodb but for the mongodb system packages
and related python modules to not be installed. Fixing this was used
to validate the install process under USE_VENV.

Change-Id: I35fbfa76bdd60a22ba90b13666b06eeb961dddb3
2015-06-05 18:43:50 +00:00
Kashyap Chamarthy
a53ae68889 Remove Fedora 20 as supported distribution
Fedora 20 will reach end of life on 23-JUN-2015[1]; remove it as
supported distribution. Add Fedora 22 where applicable.

    - stack.sh: Remove Fedora 20 from list of supported distributions.
    - files/rpms/general: Remove 'f20' from NOPRIME.
    - lib/ceph: Remove 'f20' from the check_os_support_ceph()
      function.
    - doc/source/index.rst: s/Fedora 20/Fedora 21/

[1] https://lists.fedoraproject.org/pipermail/devel-announce/2015-May/001586.html

Change-Id: I8f2e1ddc24c071754b1cceb5bed5bdafdc9d9f79
2015-06-05 12:53:27 +02:00
Jenkins
fc62127a5f Merge "Remove packaged rpm python libraries" 2015-06-02 20:32:21 +00:00
Jenkins
e37d1dd1bc Merge "Add missing libmysqlclient-devel dependency for SUSE" 2015-06-02 20:32:17 +00:00
Jenkins
83ac7645a9 Merge "optional pymysql support" 2015-06-01 20:08:02 +00:00
Dirk Mueller
643779873a Remove packaged rpm python libraries
We want to use the pip versions instead, only python-devel
should be needed.

Change-Id: If7720d54c4ad3358f9dc2fceedd6f5897085eb8f
2015-06-01 12:48:32 +02:00
Dirk Mueller
1ebe4f1ff0 Add missing libmysqlclient-devel dependency for SUSE
Currently devstack unconditionally installs MySQL-python, so
we need to have its dependencies available. Since this is
transitional until the switch to PyMysql happened, lets just
add the dependency for now to have devstack working again.

Change-Id: I638b5999d35a06eee962679b1cd95950bbf2b1d7
2015-06-01 12:48:27 +02:00
Jenkins
acdb7f6d52 Merge "Fix horizon files for SUSE" 2015-06-01 06:29:24 +00:00
Thomas Bechtold
06efa2ac5d Fix horizon files for SUSE
python-CherryPy and python-beautifulsoup are not needed so remove them
from the list of packages for horizon.

Change-Id: I45ddf98b5891a1f1f1da82bb4afa79ea43d156cc
2015-05-30 23:55:33 +02:00
Thomas Bechtold
4be092da3e Fix devlibs for SUSE
libmysqld-devel is needed for installing MySQL-python. Otherwise the
following error occurs:

EnvironmentError: mysql_config not found

Change-Id: Id84d3116d5987976169d8e2f9aca754ded205880
2015-05-30 23:28:48 +02:00
Attila Fazekas
c550f21589 Enable F22 without the FORCE flag
F22 has a stable release and working with devstack.

The change also removes the version flags regarding to the
mariadb-devel.

NOTE: You may see yum deprecation warnings, unless
you set the YUM variable to dnf.

Change-Id: I05140765bffc16faef5a29dfaba291c290bfae02
2015-05-28 15:43:06 +02:00