1272 Commits

Author SHA1 Message Date
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
Jenkins
ca5b5485d9 Merge "Make changes such that -o nounset runs" 2015-01-17 17:45:29 +00:00
Dean Troyer
ad5cc986d8 Rename screen logfiles
This renames the log files in logs/screen that contain timestamps to put
the timestamp after '.log' and '.log.summary' in the names.  This will
simplify devstack-gate's search for log files to copy to '*.log'.

dstat.txt is also renamed to dstat.log

Make LOGDIR and LOGFILE local

bp:devstack-logging-and-service-names
Change-Id: I02aba9ca82c117a1186dafc1d3c07aa04ecd1dde
2015-01-16 13:58:25 -06:00
Jenkins
0f4942c784 Merge "Fix TRACKING_DEPENDS mode" 2015-01-16 00:22:15 +00: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
Jenkins
bd7fd71791 Merge "Remove Fedora 19 as supported distribution" 2015-01-12 05:24:20 +00:00
Li Ma
26ac3d7ebb Fix service start sequence
1. zmq-receiver should be started in advance
2. when using zeromq driver, nova-compute relies
on nova-conductor's rpc to be initialized

This fix is totally safe and won't influence
on other services.

Change-Id: I9d7b682df4d411af24a1ff6bcad79697e32fa723
Partially-Implements: blueprint zeromq
2015-01-08 07:19:44 +00:00
Jenkins
9cedfcfda2 Merge "Implement devstack external plugins" 2015-01-07 18:11:07 +00:00
Sean Dague
2c65e71ab8 Implement devstack external plugins
This is an initial pass at plugin infrastructure for devstack which
allows specifying an external repository via:

enable_plugin <name> <giturl> [branch]

It implements the devstack specification for this at
I173dee3d57967b1d2ffd30e4868a2832aeac97ce

Change-Id: I8e4175313b3cf0b12e981122358b1288a7eb0746
2015-01-06 12:30:25 -05:00
Kashyap Chamarthy
7c9df1017c Remove Fedora 19 as supported distribution
Fedora 19 will reach its end of life on 6-JAN-2015

  https://lists.fedoraproject.org/pipermail/announce/2014-December/003243.html

Remove it as a supported distribution and add Fedora 21

  - stack.sh: Remove Fedora 19 from list of 'supported' distributions.
  - tools/fixup_stuff.sh: Remove Fedora 19. Also remove the workaround
    of disabling firewalld for Fedora 21.

Change-Id: If92b87d2f9a2bb95469730cda201a7981670f727
2015-01-06 11:42:26 +01:00
Jenkins
5c0a3cfb71 Merge "Install Juno RDO repos for RHEL7" 2015-01-05 14:30:47 +00:00
Joe Gordon
f6287c2adb Fix rabbit_userid for multi node devstack
I43a231c9611b4cc2e390b603aa3bfb49c915bdc5 introduced a new setting
RABBIT_USERID but only set it if rabbit is enabled. In multi node
devstack the second node uses RABBIT_USERID but the service rabbit isn't
enabled on it.

Always set RABBIT_USERID, if a different message queue is used the
variable will just be ignored.

Change-Id: I8568bddda2a5c66235ecae23af58983ee94c720a
2014-12-16 13:32:41 -08:00