Refactor get_package logic.
With this refactoring, code like
"if is_ubuntu; then install_package xxx elif is_fedora..."
can be simplified later.
Change-Id: I489bfd4cc12cc6b0b8201837f2bfb78c6881c82c
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Select a database by adding it to ENABLED_SERVICE like the other
services. This greatly simplifies using the lib/* functions in
places other than stack.sh
Backward-compatibility is maintained or now (into havana at least).
Change-Id: I967e44603b4d69d5d70e1a75a9938172ca434025
* functions(screen_it): Prior to 58e2134 screen logs were generated
even when run without $SCREEN_DEV. We want to be able to capture
these with devstack-gate for later inspection, so this patch
reintroduces that capability.
Change-Id: Ife127b47d7700878e02285281854595bc6585972
We have seen a number of failures in ci where a host is overloaded
and the 1.5 second sleep before stuffing data into screen is not
long enough. This means the service doesn't start and tests fail.
This change adds a config option to allow us to turn off the developer
friendly option to stuff text into the screen. When SCREEN_DEV is
set to False it will use a simple exec in screen instead of stuff.
This should be far more reliable because we don't have to wait
for bash to start.
Change-Id: I7f1b5dbf5329b23507cb767d54a2795be0d73e01
* Factor system package prereq installs out to tools/install_prereqs.sh
* Set minimum time between runs with PREREQ_RERUN_HOURS
default = 2 hours
* Create export_proxy_variables
* Force an update with install_prereqs.sh -f or by setting
FORCE_PREREQ=true
Fixed an issue with exit/return in tools/install_prereqs.sh
Change-Id: I9a62090ad2f900b9b150cacb9cb02b326cb46972
get_python_exec_prefix returns the path to the direcotry where python
executables are installed, that is /usr/bin on Fedora and /usr/local/bin
everywhere else.
It is used to properly locate OpenStack executables.
Fixes: bug #1068386
Change-Id: I228498ebe2762568d00757d065e37377ee2c8fb3
This commit also changes the following:
- Fixes Nova QPID module path
- Fixes a bug Cinder ZeroMQ RPC points to nova module
- Adds ZeroMQ setting for Heat RPC
qpid_is_supported is moved from functions to lib/rpc_backend.
This work is based on the work by Isaku Yamahata <yamahata@valinux.co.jp>
in https://review.openstack.org/#/c/19074/.
Change-Id: I45e21b1fb85e539213f5243764132a37906d7455
Consider all distributor as "Red Hat" which id matches to the Red.*Hat regexp.
Example Distributor ID: "RedHatEnterpriseServer"
Change-Id: I29cc2e83cccaafa3e1e056e506fda5c9771764a1
This reverts commit 7be0b04
This work breaks the ability to do multi database installs,
revert until there is a working solution here, as this is going
to make fixing postgresql in tempest impossible.
Change-Id: I39a2b78542fe60233806d1005186ce1b31d4be17
* In python the white spaces are part of the section name
* Handle options with empty value
* Support paths with white spaces
Change-Id: I69a584608853cfdb8b7dce1e24d929216ef2fc41
* Factor system package prereq installs out to tools/install_prereqs.sh
* Set minimum time between runs with PREREQ_RERUN_HOURS
default = 2 hours
* Create re_export_proxy_variables
Change-Id: I4a182b1da685f403d6abdd8540d2114796c01682
There is no function to check if the services invoked by devstack are
running well or not. We could use the function to check their status
and print them at the end of devstack running.
Change-Id: I845f6b5dddce5cffa7165ec58517f9ae5d8632a6
Between is_fedora, is_ubuntu and is_suse, we can make the code a bit
simpler to read. We also use exit_distro_not_supported to identify
places where we need implementation details for new distros.
As "/sbin/service --skip-redirect" is Fedora-specific, guard this with a
is_fedora test too.
Change-Id: Ic77c0697ed9be0dbb5df8e73da93463e76025f0c
This replaces all of the [[ "$os_PACKAGE" = "deb" ]] tests, except when
those tests are before straight calls to dpkg.
Change-Id: I8a3ebf1b1bc5a55d736f9258d5ba1d24dabf04ea
There are two places where we need to find the right command for pip, so
instead of having one version we fix and a buggy version we forget,
simply use a function :-)
Change-Id: I728c17ad7be5c86690c4d7907f77f1f98ec2b815
The new qpid_is_supported function returned the opposite value from what
it was supposed to. It returned success for the platforms where qpid is
not supported.
Change-Id: I0ceaae1dddaa6192657926834c6eb8006925f0cf
Note that this is the first part of the support. A second part involves
dealing with the package names.
Among the changes:
- add several functions to determine some distro-specific behavior (how
to call usermod, if some features are available on the distro, etc.)
- correctly detect openSUSE and SLE in GetOSVersion, and set DISTRO
accordingly
- new is_suse() function to check if running on a SUSE-based distro
- use zypper to install packages
- adapt apache virtual host configuration for openSUSE
- some simple fixes (path to pip, mysql service name)
Change-Id: Id2f7c9e18a1c4a7b7cea262ea7959d183e4b0cf0
This allows section names to look like:
[ default ]
OpenSSL is the primary offender for this usage.
Change-Id: If5c711107e73cebab9d4a26ca02a7ce572224377
Do not require every script that sources stackrc to also
source lib/databases.
* Move use_databases() to functions
* Set DATABASE_TYPE in stackrc
* Allow setting DATABASE_TYPE in localrc to work
(use_database() essentially just sets DATABASE_TYPE at this stage
so continuing to use it is equivalent)
* Validate DATABASE_TYPE in stack.sh.
* Change sudo to postgresql user to go through root to eliminate
password prompt
* fix use_database error condition
Change-Id: Ibb080c76e6cd7c6eebbb641a894d54b1dde78ca6
* NOVA_ZIPBALL_URL can be set for a XS/XCP install to point to a
non-standard zipball location.
* PIP_USE_MIRRORS (default True) can be set to False to stop pip
from attempting to use mirrors (useful for when using an offline
eggproxy).
Change-Id: I01a9944fe4c13c8cc8323a703f598bc498491b73
This patch adds an interface for supporting multiple database backend
types and implemnts support for PostgreSQL. It also adds a function,
use_exclusive_service, which serves as a base for enabling a service
that conflicts with other services. The use_database function uses it,
and it might also be useful for selecting messaging backends.
MySQL is still selected by default. Tested on Fedora 17 and Ubuntu
12.04 with MySQL and PostgreSQL. Implements blueprint postgresql-support
Change-Id: I4b1373e25676fd9a9809fe70cb4a6450a2479174