1283 Commits

Author SHA1 Message Date
Andrew Laski
b58e22d170 If cells enabled create a fixed network in the API cell
Now that tempest is querying for a network before making server create
calls the fixed network needs to be known by the API cell.  Server
creates should work for networks defined in both databases, but defining
a new network via the API will continue to not work.

Change-Id: I32461add0d20940a55385c8b34cd493e2561615e
2015-04-02 17:56:43 -04:00
Dean Troyer
dc97cb71e8 Mostly docs cleanups
Fix documentation build errors and RST formatting

Change-Id: Id93153400c5b069dd9d772381558c7085f64c207
2015-03-28 14:35:12 -05:00
Jenkins
c392fd3b5f Merge "Add global venv enable/disable knob" 2015-03-26 20:32:31 +00:00
Jenkins
c9b24ffdf5 Merge "provide an override-defaults phase" 2015-03-26 19:17:03 +00:00
Sean Dague
6e275e170c provide an override-defaults phase
during the glusterfs integration it was seen that plugins might need
to set new defaults on projects before the project files load. Create
a new override-defaults phase for that.

Intentionally not adding to the documentation yet until we're sure
this works right in the glusterfs case.

Reported-By: Deepak C Shetty <deepakcs@redhat.com>
Change-Id: I13c961b19bdcc1a99e9a7068fe91bbaac787e948
2015-03-26 20:50:11 +05:30
Attila Fazekas
d9de1199bd Print kernel version
Adding `uname -a` to stack.sh to make easy to see from the devstack logs
what was the actually running kernel version.

Change-Id: I0068504bf055a588b155b0a60215440d365bf53e
2015-03-26 09:25:02 +01:00
Dean Troyer
5a9739a4ca Rename lib/neutron to lib/neutron-legacy
Preparing to refactor lib/neutron to support Neutron as the default
network config.  lib/neutron will be renamed internally and refined
to support a couple of specific configurations.

Change-Id: I0d3773d14c4c636a4b915734784e7241f4d15474
2015-03-25 22:22:11 -04:00
Jenkins
1b8c4678cd Merge "Add support for Oracle Linux 7 and later." 2015-03-23 23:08:55 +00:00
Wiekus Beukes
ec47bc1d72 Add support for Oracle Linux 7 and later.
Most of the changes revolves around using MySQL rather than MariaDB,
plus enabling the addon repos on public-yum.oracle.com.
The patch just touch the areas where there is a divergence between the
Fedora and Oracle distributions and in all other cases the is_fedora
will result in the correct decision to be made and left as is.

Collapsed the is_suse and is_oraclelinux into a single check in
configure_database_mysql and cleanup_database_mysql

Added Oracle Linux to MAINTAINERS.rst

Rather than duplicating most of the Redhat version check code, added
a check in the block to do the determination if it is Oracle Linux

Change-Id: I5f1f15106329eec67aa008b17847fa44863f243f
2015-03-22 21:28:35 -07:00
Mitsuhiro SHIGEMATSU
10ba751a78 Fix typo in devstack/stack.sh
Change-Id: Ie13f1ae7fb5a46bb654aa3ab526933107c485b0b
2015-03-21 06:59:51 +09:00
Dean Troyer
5686dbc45d Add global venv enable/disable knob
Adds USE_VENV to globally enable/disable use of virtual environments.

ADDITIONAL_VENV_PACKAGES is used to manually add packages that do not
appear in requirements.txt or test-requirements.txt to be installed
into each venv.  Database Python bindings are handled this way when
a dataabse service is enabled.

Change-Id: I9cf298b936fd10c95e2ce5f51aab0d49d4b7f37f
2015-03-20 09:48:43 -05:00
Jenkins
aea87e2dc2 Merge "Create global_filter to avoid scan of missing devs" 2015-03-18 23:43:27 +00:00
John Griffith
4bf861c76c Create global_filter to avoid scan of missing devs
A while back I added an lvm.conf file with a device filter setting
to try and clean up the LVM hangs in the gate:
  (commit 0b9e76f280208b5b5ad54bb6fbc4133e63037286)

It turns out this wasn't the real problem, the real problem
is that on an LVS/VGS command LVM  will attempt to open and read
all potential block devices in /dev to see if they have LVM data
on them.  I initially thought the local filter would keep that
from happening, as it turns out the local filter only limits what's
returned AFTER the actual scan process.  In order to keep the scan
from happening at all, either a global_filter needs to be used or
lvmetad needs to be running and enabled.

There are situations in gate tests where /dev/sdX devices are created and
deleted and the result is that we hit situations where LVM tries
to open up devices to check them even if they've been removed.  The
result is we have a blocking open call from LVM that takes approx
60 seconds to time out and fail.

Ubuntu won't have a version of lvmetad until Vivid, so for now
that just leaves the global_filter as an option.

This patch adds the filter routine to the end of stack.sh.  We don't
want to put the routine in lib/cinder_backend/lvm like we had it because
now we have to set the global filter for all LVM commands on the system.
So we put this as one of the last steps in stack.sh and run it if Cinder
is enabled.  This way we can query PV's on the system regardless of what
other services may be running and using LVM and make sure that all of
their devices are added to the filter as well.

Also, make sure we only set this for Ubuntu as Fedora/RHEL variants
utilize lvmetad.

This patch also removes the old change that set the local filter.

DocImpact
Should add this to recommended config for Cinder on systems
that don't have lvmetad, and recommend lvmetad for those that do.

Change-Id: I5d5c48e188cbb9b4208096736807f082bce524e8
Closes-Bug: #1373513
2015-03-18 10:29:29 -06:00
Steve Baker
744c2afd6f Allow heat-standalone to work with keystone v3
Heat can now run in standalone mode with the default v3 keystone
backend.

This change removes the installation of the v2 contrib backend.
It also configures saner defaults when HEAT_STANDALONE is True.
Using trusts and a stack-domain will never work in standalone mode
since they both require a service user which doesn't exist in
standalone mode.

Finally, this change prevents heat.conf being populated with service user options
not required by standalone mode.

Configuring the v2 backend may be reintroduced later with a dedicated
flag variable.

Change-Id: I88403e359e5e59e776b25ba1b65fae6fa8a3548e
2015-03-18 11:12:37 +13:00
Jenkins
5e159edab3 Merge "switch to use ceilometermiddleware" 2015-03-17 19:29:45 +00:00
Jenkins
f6fd39f974 Merge "Fail if run in POSIX compatability mode" 2015-03-13 17:27:28 +00:00
gordon chung
b6197e6ab0 switch to use ceilometermiddleware
swift middleware contained in ceilometer is now deprecated. the
middleware is available in ceilometermiddleware.

Change-Id: I6e41986245f4d95a9385dc7829479ed1199f10ac
2015-03-13 15:41:13 +00:00
Ian Wienand
4d74e0f495 Fail if run in POSIX compatability mode
This is mostly to detect if someone is running the script with "sh
./stack.sh" where sh is the bash-symlink that puts it in POSIX mode
(this can be invoked in other ways, but much less common).

In this case POSIXLY_CORRECT is set; so if we see that, bail out early
before we start hitting syntax errors.

Closes-Bug: #1430535
Change-Id: I7bbc4b0f656df9f6d9da2243c8caeb42d30ace95
2015-03-11 12:40:13 +11:00
Dean Troyer
bf2ad7015d Move configuration functions into inc/*
* config/INI functions from functions-common to to inc/ini-config
* local.conf meta-config functions from lib/config to inc/meta-config

Change-Id: I00fab724075a693529273878875cfd292d00b18a
2015-03-09 22:52:19 -05:00
Steve Baker
249e36dec6 Remove lib/dib
diskimage-builder is a utility rather than a service, and is already
installed in devstack via pip when required.

lib/dib was created to allow an image to be created during a devstack
run for the heat functional tests, however this approach is no longer
being taken and there are no other known uses for lib/dib.

This change removes lib/dib and moves the pip mirror building to
lib/heat so that snapshot pip packages of the heat agent projects can
be made available to servers which the heat functional tests boot.

This also removes tripleo-image-elements, which has never
been utilised, and since images won't be created
during heat functional test runs it is no longer required.

Change-Id: Ic77f841437ea23c0645d3a34d9dd6bfd1ee28714
2015-03-06 10:57:52 +13:00
Jenkins
52606dfab4 Merge "Add bash completion for OSC" 2015-03-04 17:11:32 +00:00
Noboru Iwamatsu
a67ef00a6d Handle proxy environment variables for epel-release install
Use yum_install() to support proxy environment variables when
epel-release package is installed from epel-bootstrap repo.

Change-Id: I45f7a38c6c71bbce07bd0d21c1ac8a75c04113cb
Closes-Bug: 1426221
2015-02-28 14:48:56 +09:00
Jenkins
b5d1de0a93 Merge "Install openstackclient after other services" 2015-02-24 04:14:54 +00:00
Ihar Hrachyshka
1ffa33210d Install openstackclient after other services
Let's see whether openstackclient will trigger unneeded version bump for
clients if its installation is put below all other services that are
expected to intall client libraries on proper versions on their own.

Change-Id: Ifa774219b7057112fc794a5e3d93bc963c55ba90
2015-02-20 17:12:46 +01:00
Dean Troyer
99c463d56d Recent virtualenv review cleanups
This is a follow-on to comments in https://review.openstack.org/156356
and https://review.openstack.org/#/c/151513/

* Remove work-around for /var/cache/pip
* Remove WHEELHOUSE setting in tools/build_wheels.sh and use the pip
  default directory '<cwd>/wheelhouse'
* Remove bogus MySQL-python install
* Removed unused bits and clean up pip commands in from tools/build_venvs.sh

Closes-Bug: #1423720
Change-Id: I0283b0dff9146b1b63bd821358505a93566270c6
2015-02-20 08:56:53 -06:00
Sean Dague
aa8d31ac8b fix missing TOP_DIR which can break sourcing
There were a couple of places where TOP_DIR is missing when we do a
source of content in tools. Given that working directory can change
quite often during devstack, we need to always be explicit here.

Change-Id: I14b5699637d7f5db745bccf116f440cdcbaa8d91
2015-02-20 06:10:48 -05:00
Dean Troyer
8c2ce6ea72 Virtual environment groundwork
Introduce the tooling to build virtual environments.

* tools/build_venv.sh: build a venv
* introduce lib/stack to house functionality extracted from stack.sh that
  is needed in other places, such as Grenade; start with stack_install_service
  to wrap the venv install mechanics
* declare PROJECT_VENV array to track where project venvs should be installed
* create a venv for each project defined in PROJECT_VENV in stack_install_service()

Change-Id: I508588c0e2541b976dd94569d44b61dd2c35c01c
2015-02-18 20:19:38 -06:00
Dean Troyer
b1d8e8e274 Build wheel cache for venvs
Building a bunch of virtual envs later is going to be tedious if we do not
pre-cache certain annoying-to-build packages.

* tools/build_wheels.sh: pre-build some wheels for annoying package installs
* list distro package dependencies in files/*/venv
* list packages to pre-build as wheels in files/venv-requirements.txt
* install database Python modules when setting up the database

Change-Id: Idff1ea69a5ca12ba56098e664dbf6924fe6a2e47
2015-02-18 15:13:00 -06:00
Jenkins
4a9b154f5e Merge "Fix is_keystone_enabled()" 2015-02-18 21:00:14 +00:00
Dean Troyer
5ce44cd63b Fix is_keystone_enabled()
is_keystone_enabled() was calling is_service_enabled(), which is what called
is_keystone_enabled() in the first place.  Make it work as designed and
also change calls to use the full service name.  Note that this is all
still comptible with the prior usage of 'is_service_enabled key'.

Change-Id: I9c28377ecf074b7996461d2a4ca12d88dfc4d47e
2015-02-16 10:52:18 -06:00
Jenkins
a8fad91cdf Merge "Remove deprecated vars" 2015-02-12 15:36:30 +00:00
Daniel P. Berrange
a99e5c9b0e Revert "Exit when printing error about database config"
This reverts commit 2d7c346f0c8cefe622edc8fed47cc2782aeb9a9b.

Not setting DATABASE_TYPE is not a fatal error since it is
valid to create nodes which only run a subset of services,
and so a database may not be needed.

Change-Id: I7d957e628141ba333b6f38940b39845b18fba4df
2015-02-11 17:25:38 +00:00
Dean Troyer
311f487644 Remove deprecated vars
These have been emitting deprecated warnings for over a full release cycle:
Q_AGENT_EXTRA_AGENT_OPTS, Q_AGENT_EXTRA_SRV_OPTS, CINDER_MULTI_LVM_BACKEND

Change-Id: I3aa5cabd6ce3a0072cba08bbca1ad23d4a831219
2015-02-11 10:56:47 -06:00
Sean Dague
117c6c2048 remove lib/stackforge
Now that we have a working external plugin mechanism stackforge
projects definitely don't need to be directly in devstack. These were
largely unused previously anyway.

Change-Id: I300686b2ac976d9b454404842b3f210fd7c239d9
2015-02-10 07:53:36 -05:00
Martin Falatic
5bee0cd4ce Updated supported OS releases listed in stack.sh
Updated the supported OS release versions mentioned in stack.sh to be
consistent with what is listed in doc/source/index.rst

Change-Id: Ie9045927779a063865115e3aff1b92450a104946
Closes-Bug: #1414205
2015-02-01 21:25:30 -08:00
Jenkins
e256022a16 Merge "Fixes SCREEN_HARDSTATUS default value" 2015-01-31 00:08:29 +00:00
Jenkins
d84d93d8ae Merge "Init default lvm volume group only if required" 2015-01-29 22:55:50 +00:00
Dean Troyer
b43b359506 Create LOGDIR if it doesn't exist
Create LOGDIR when LOGFILE is not set.  This fix is rather blunt
as logging setup will be further tweaked as
https://github.com/openstack/qa-specs/blob/master/specs/devstack/devstack-logging-and-service-names.rst
progresses.

Change-Id: I4a574f295eb6d55c7196ec563bd356d6c0bc8833
2015-01-29 12:05:47 -06:00
Jenkins
36b13f58cf Merge "Deprecate SCREEN_LOGDIR in favor of LOGDIR" 2015-01-29 05:57:19 +00:00
Maru Newby
c070a3dbb5 Init default lvm volume group only if required
A recent patch [1] added support for lvm ephemeral storage for nova,
but at the cost of initializing a default lvm volume group even if it
was not required.  This change ensures that init of the default volume
group is only performed when nova and/or cinder are configured to use
lvm.

1: https://review.openstack.org/#/c/132333

Change-Id: I7634ca0ed0ffe1b13464e4d66744918f85149f2e
Closes-Bug: #1414820
2015-01-27 19:09:02 +00: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
Steve Martinelli
bbe771a8d0 Add bash completion for OSC
use openstackclient to generate bash completion script, and move
the file to the right location.

Change-Id: I96f2230cbba030e235161165d3b173c7af5e28fe
2015-01-22 17:32:44 -05:00
Daniel P. Berrange
2d7c346f0c Exit when printing error about database config
When finding no configured database, devstack prints
a suitable error in the logs

   "No database enabled"

but then just carries on running, as a result the developer
is very unlikely to ever see the original error message.
Change the 'echo' to a 'die' so that it stop immediately
making the error message clearly visible.

Change-Id: Ibd86bfcb5d4a3b90a1ee7a5bd637b01124e3a6ba
2015-01-22 15:11:18 +00:00
Ed Cranford
ff72c5050e Fixes SCREEN_HARDSTATUS default value
If SCREEN_HARDSTATUS is null, default it to "", not ":".

Change-Id: I52d4eb6bb494cca995e33971d5f1eec953d484fd
2015-01-21 17:03:58 -06:00
Jakub Libosvar
e9a96ea885 Use openstackclient>=1.0.2
After changing usage of "openstack role" [1] python-openstackclient
stoppped working with 1.0.1 and less. This patch bumps version to use at
least 1.0.2v.

[1] https://review.openstack.org/#/c/148361

Change-Id: I2fdca28ae97a215cff5e2a6dd7cab2d3321caa6c
Closes-bug: 1413252
2015-01-21 15:18:34 +00:00
Dean Troyer
dde41d0797 Deprecate SCREEN_LOGDIR in favor of LOGDIR
This is the first step in the log file cleanup.  If SCREEN_LOGDIR
is still set, symlinks will be created in the old screen log directory
so things like the devstack-gate log collector continues to work.

bp:logging-and-service-names
Change-Id: I3ac796e322a18dbd0b8b2310a08310ca159d7613
2015-01-20 16:08:22 -06:00
Mikhail S Medvedev
fc9cc96514 Remove locals that were not inside functions
Using 'local' keyword outside a function is invalid.

Also uppercase the variables to adhere to the style.

Related: I02aba9ca82c117a1186dafc1d3c07aa04ecd1dde
Change-Id: I76d358f8ebf5145cd3c65f9a470c83d4af67fd32
2015-01-20 11:11:05 -06:00
Jenkins
ff31fc06cb Merge "Adds support for LVM ephemeral storage in Nova" 2015-01-20 14:24:15 +00:00
Jenkins
256b8234a9 Merge "Rename screen logfiles" 2015-01-20 14:24:00 +00:00
Daniel Genin
d470867f08 Adds support for LVM ephemeral storage in Nova
DevStack currently lacks support for LVM ephemeral storage in Nova.
This support is important for testing of Nova's LVM backend. The
proposed change adds a default volume group, to be shared by Cinder
and Nova. It also adds a configuration option NOVA_BACKEND, which
must be LVM if it is set, that determines whether Nova should be
configured to use LVM ephemeral storage.

Change-Id: I4eb9afff3536fbcd563939f2d325efbb845081bb
2015-01-19 11:51:16 -05:00