1258 Commits

Author SHA1 Message Date
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
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
Joe Gordon
981ed299ab Fix TRACKING_DEPENDS mode
TRACKING_DEPENDS mode was added in I89677fd54635e82b10ab674ddeb9ffb3f1a755f0

TRACKING_DEPENDS creates a global virtualenv and assumes it exists for
all pip_installs (except for installing virtualenv), so we need to set
this up before any other pip install

Change-Id: Iebe6295913094b32124295e7c5e674e1cebaaa87
2014-12-15 21:13:17 -08:00
Zhang Jinnan
fc99426a90 Install Juno RDO repos for RHEL7
RHEL7 does not include Open vSwitch in the default repos, but it
is available via the RDO repo.  This patch automatically
configures the RDO repo for RHEL7.

Move this into the existing rhel6/rhel7 section.  We update RHEl6 to
the latest icehouse release, but it is not supported with Juno

Closes-Bug: #1402390
Change-Id: I4707cf68e39d9e900ec6c01331d7e124c8c4f6c4
2014-12-16 10:42:14 +11:00
Abhishek Chanda
d5b74c688f Take an optional rabbit user name as input
Newer versions of rabbitmq (3.3 and later) do not allow the 'guest'
user to access on non-local interfaces.

- Added a new config RABBIT_USERID which defaults to stackrabbit
- Invoked config scripts using that variable

Adopted from:
https://review.openstack.org/#/c/107779/

Change-Id: I43a231c9611b4cc2e390b603aa3bfb49c915bdc5
Closes-Bug: #1343354
Co-Authored-By: Scott Moser <smoser@ubuntu.com>
2014-12-12 02:20:09 +05:30
Sabari Kumar Murugesan
342ac4b774 Use latest version of python-openstackclient
Some options in openstack client like --or-show are available only
from 1.0.0. Adding this 'requirement' explictly as openstackclient
is not as part of requirements of other projects.

Change-Id: I96a98331ece15da869a3ea7af80d16fab2351329
2014-12-10 12:00:52 -08:00
Sean Dague
2f8e08b572 remove nova baremetal driver support
This has been deleted from the nova tree, we should purge it from
devstack, as it will not work any more.

Change-Id: I20501fec140998b91c9ddfd84b7b10168624430a
2014-12-05 08:31:16 -05:00
Sean Dague
aecd189f80 add unit tests for GIT* definitions
This adds unit tests for all the GIT* definitions, ensuring that for
libraries we think should be defined, they are. It exposed a bug in
glance_store definitions in the process.

The GITDIR definition for python-openstackclient is moved to stackrc
for testability.

Change-Id: Ibd9ab665f0362a84f4f7e80e80da56a4737f584e
2014-11-20 08:32:26 -05:00
Jenkins
dcffc70b67 Merge "Fixed conditions to determine if current distribution is a Fedora based distribution" 2014-11-19 05:28:35 +00:00
Oleg Gashev
1f26c0ef61 Fixed conditions to determine if current distribution is a Fedora based distribution
stack.sh line 223:
if [[ is_fedora && $DISTRO == "rhel6" ]]; then

stack.sh line 234:
if [[ is_fedora && ( $DISTRO == "rhel6" || $DISTRO == "rhel7" ) ]]; then

stack.sh line 358:
if [[ is_fedora && $DISTRO == "rhel6" ]]; then

Condition [[ is_fedora && $DISTRO == "rhel6" ]] return wrong result.
This condition is equivalent to the
[[ -n is_fedora && $DISTRO == "rhel6" ]]. First expression -n is_fedora
always not null, therefore this condition the same is
[[ $DISTRO = "rhel6" ]].

Change-Id: Ida9eaa7950554bcd2f183dede7ad19522f9ca558
Closes-Bug: #1393684
2014-11-18 02:16:01 -05:00
Ian Wienand
6a41ba20e7 Remove rackspace/centos7 work-around
The current centos 7 images from rackspace do not have cloud-init
installed via pip, so this is no longer needed.  This work around is
actually a little wrong too, see the bug.

Change-Id: I6642593ca2248d9e01f653cc8e70c70ba8372e50
Partial-bug: #1393073
2014-11-17 10:46:56 +11:00
Jenkins
4c6ceb56cf Merge "Initial support for Fedora 21" 2014-11-16 17:32:18 +00:00
Sean Dague
e08ab104e6 fix python-* lib from git installation
We're using all the magic variables based on python-fooclient, however
all the inline code was using fooclient for variables. So we had a
mismatch, which was kindly pointed out by some of the 3rd party ci
testers.

Change-Id: I27a56222c7e8e610fba8bf97672d2a42f5cf14ca
2014-11-13 17:17:38 -05:00
Jenkins
8f8e2d1fbf Merge "support installing clients at released versions" 2014-11-12 19:50:44 +00:00
Jenkins
51d203f5a0 Merge "Includes a validation to disable creating initial networks for Neutron" 2014-11-12 18:00:59 +00:00
Pavel Sedlák
6d20f09045 Initial support for Fedora 21
Initial support for Fedora 21.  Add f21 to the distribution lists for
rpms, ensure "mariadb" is used over "mysqld" and enable it in the
distro check, as we have several reports of it working.

Tested with [1]

[1] http://download.fedoraproject.org/pub/fedora/linux/releases/test/21-Beta/Cloud/Images/x86_64/Fedora-Cloud-Base-20141029-21_Beta.x86_64.qcow2

Change-Id: I97cbede806e5c00363c7174fa1e9f286de96aab6
2014-11-12 17:46:40 +01:00