19 Commits

Author SHA1 Message Date
Sumit Jamgade
135ebe955e Revert "Resolve openSUSE devstack failures"
This reverts commit d325875508e7d35d6dd62302d852e83815be2278.
the issue mentioned in the comment is now resolved.

Change-Id: I2705daead3d3b95f6ad82261212f2a1f40a77fb5
2017-10-13 15:11:23 +02:00
Dirk Mueller
6effdf370a Remove extra websockify dependency cleanup step
This started to fail due to a missing || : / --force option now
that the dependencies got fixed:

2017-07-30 19:38:37.260 | ++ tools/install_prereqs.sh:source:97       :   sudo rpm -e --nodeps python-cffi python-cryptography python-pyOpenSSL
2017-07-30 19:38:37.293 | error: package python-cffi is not installed
2017-07-30 19:38:37.293 | error: package python-cryptography is not installed
2017-07-30 19:38:37.293 | error: package python-pyOpenSSL is not installed

Change-Id: Ia59afb7ee564cf2044ebdb3c5ad3e54ee91d1222
2017-07-31 08:56:17 +02:00
Dirk Mueller
d325875508 Resolve openSUSE devstack failures
This update resolves multiple issues with python-cryptography
causing keystone server and nova deployment to fail.

This is a temporary workaround until I196f025dbf1a9ac297946b8165620676645f7210
has landed and the extraneous dependency on python-cryptography (the
package) has been removed.

Change-Id: Ifb29b9089197c0429a5fc1cd08a25d2095d481f1
2017-07-24 21:25:27 +02:00
Dirk Mueller
bbf14db3a7 Remove temporary openSUSE-42.2 workaround
We required initially 42.2 test updates to be enabled as the
liberasurecode-devel update wasn't released. It is now released
so we can stop pulling that part in.

Change-Id: I4e514e317da8a95809593a49c6dce619bc4c021f
2017-06-06 23:29:41 +02:00
Dirk Mueller
e61e19ee82 Enable opensuse-42.2 as a tested distro
openSUSE 42.2 passes testing on the experimental gate and
in order to add it as continuosly tested target we need to
add it to the positive list of tested distributions.

Change-Id: I46f94cfad828534f324994c3d21bddff40e8f9a2
2017-06-05 19:28:30 +02:00
Davanum Srinivas
51ecf0a869 Introduce a PYTHON env var
* $PYTHON will have the path to python runtime to be used
* Use $PYTHON to run all the scripts

Change-Id: Ib5ab7820fc18cae5e50ea47302b610494197ad47
2017-01-05 18:41:29 -05:00
Ian Wienand
7710e7fc27 Only use lsb_release for distro tags
The existing GetOSVersion has a lot of unused code which is wrong in
several ways

 - the only path tested in upstream CI is with lsb_release, because
   it's pre-installed on all nodes

 - the /etc/redhat-release checking probably still works, but is
   unnecessary

 - If using lsb_release, os_UPDATE has never actually been set.

 - the /etc/SuSE-release branch checking is broken if the lsb package
   is actually installed.  lsb checking does not set os_UPDATE but yet
   the SuSE DISTRO setting relies on this to set a patch level (and so
   does some of the rpm tags).  SuSE 11 is up to update 3, but the rpm
   matching is stuck hard-coded to update 2.  I'm guessing
   installation is actually broken there.

 - the debian checking branch is broken.  The VERSION tags have been
   removed and were not supposed to be relied on anyway (see notes in
   [1])

This simplifies things:

 - remove OSX checking (moved here after discussions in
   I31d0fdd30928ecc8d959a95838b1d3affd28ac6f)

 - only use the output of lsb_release.

 - A small best-effort check to pre-install lsb packages if not
   detected (that avoids chicken-egg-problem of package-install
   wrappers relying on os_* flags).

 - The unset os_UPDATE is removed.  It's only previous use was for
   setting separate suse versions in the DISTRO element for matching
   during package installs (since removed)

 - DISTRO setting is modified to use the parts of os_RELEASE it wants.
   Per-above, this is the correct place to parse out specifics.

 - Call out the is_* functions, which are a better way to detect
   platforms

 - Export the variables as read-only, since they shouldn't be reset

[1] http://sources.debian.net/src/base-files/7.5/debian/changelog/

Change-Id: I46a2c36d95327087085df07cb797eb91249a893c
2016-01-12 09:23:35 +11:00
Doug Hellmann
ddc3839bdc Enable optional Python 3 support
Add USE_PYTHON3 and PYTHON3_VERSION variables to allow services to use
python 3 if they indicate support in their python package metadata.

Tested in Heat here -> I837c2fba682ab430d50e9f43913f2fed20325a7a.
Project config change to add a dedicated job to Heat is here -> I0837e62d6ccc66397a5e409f0961edd4be31f467

Change-Id: I079e18b58b214bf8362945c253d6d894ca8b1a6b
2015-12-01 14:52:35 -05:00
Ian Wienand
b8509f09d6 Really get the "general" packages
We are specifying the argument to get_packages incorrectly, so we are
not actually adding the packages in "general" to the list of packages.

In most cases, this is hidden as other more specific plugins/services
request their packages.  However, as
I2dafd32f211fcbc9fff53030d736d97a5f1bb2df shows, not always.  I think
this was uncovered by 5f8133caac097235ed4fe73d878df0ee907eb51c

Change-Id: Ie1b8d09369281059d21da61b2725a457f708ae9e
2015-11-09 11:55:56 +11: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
Adam Gandelman
7ca90cded3 Allow devstack plugins to specify prereq packages
We offer main devstack components the ability to install their own
system package preqreqs via files/{debs, rpms}/$service.  This adds
similar functionality for plugins, who can now do the same in their
own tree at ./devstack/files/{debs, rpms}/$plugin.

Change-Id: I63af8dc54c75a6e80ca4b2a96c76233a0795aabb
2015-03-11 14:46:35 -07: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
Alexander Gordeev
06fb29c661 Integration testing preparation for Ironic
Add ability to create/register qemu vms for Ironic testing purposes

Implements bp:deprecate-baremetal-driver

Change-Id: If452438fcc0ff562531b33a36cd189b235654b48
2014-03-14 13:44:00 -07:00
Dean Troyer
ca5af8615e Remove general assumption in get_packages()
get_packages() always included 'general' as a default 'service' file.
Remove this assumption and add it explicitly to the primary package
installation call.  This allows get_package() to be used in other places
where 'general' is not desired to be included.

Change-Id: I1eed4386d073d6ae9534aedae32654208c6662e8
2013-10-04 13:33:10 -05:00
Ian Wienand
7919d851a9 RHEL6 support rpms
Install some rpms required for operation on RHEL6.  Additionally,
remove some system packages that interfere with pip installs.

Change-Id: I273ce59d7bf066e73d524f61b8ad048599101dab
2013-04-29 11:46:57 +10:00
Isaku Yamahata
8c43809ef6 package: consolidate get_packages logic
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>
2013-02-26 17:39:05 +09:00
Dean Troyer
48352ee7c0 Create tools/install_prereqs.sh
* 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
2013-02-08 10:35:43 -06:00
Sean Dague
b73e247ad4 Revert "Create tools/install_prereqs.sh"
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
2013-01-02 14:00:58 -05:00
Dean Troyer
7be0b047dc Create tools/install_prereqs.sh
* 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
2012-12-19 12:30:35 -06:00