403 Commits

Author SHA1 Message Date
Sean Mooney
ae21b3556f move cleanup of pyc files
Previously pyc files were only cleaned if clean.sh was run.
with this change a new clean_pyc_files function was introduced
with the logic that was previously in clean.sh but it is now
invoked from unstack.sh

With the previous behavior you could not stack with horizon
enabled then unstack and stack again due to the presence of pyc
files that were owned by root.

By moving the clean to unstack in stead of clean.sh you can
now stack, unstack and stack again without hitting the pyc issue.
since unstack is invoked by clean the existing clean.sh behavior has
not changed in practice except for the fact the pyc files are
removed sooner in the process.

This change also removes support for findutils < 4.2.3
Ubuntu 12.04 and CentOS 6 both have 4.4.2 since they were
released 8 years ago and are now EOL its fair to assume
that all modern distros have 4.2.3+
https://repology.org/project/findutils/versions

Change-Id: I13c9aad9be7e0930a0d875b7d382090caf0b8982
2020-09-02 04:48:31 +00:00
Zuul
c303194450 Merge "Fix is_fedora RHEL 8 detection" 2020-08-17 15:52:03 +00:00
Luigi Toscano
52e52d8937 Add a dependency file for os-brick (and add lsscsi)
There are a few dependencies which are really os-brick-specific.
They are listed in its bindep.txt file, but os-brick is usually
installed from pip, so its bindep.txt file is not available.

As those dependencies are needed by the various services
which use os-brick, move them to their own dependency file
(with the addition of the new lsscsi, required by the next
os-brick stable release) and make sure that file is parsed
when installing the services which require os-brick.

Side note: there should be a way to avoid this duplication
also for pip-installed libraries (normal services can use
files/ or even bindep, but in this case the source is not always
available), (temporarily?) duplicate them, as it has been
the case for the other os-brick dependencies already listed here.

Change-Id: I9ab6e215dbef9ebdb1946da2f9a40ce020ecc95b
2020-08-13 09:55:08 +02:00
Carlos Goncalves
587e0a3510 Fix is_fedora RHEL 8 detection
While RHEL 7 is detected as RedHatEnterpriseServer, RHEL 8 is
RedHatEnterprise.

  $ lsb_release -i -s
  RedHatEnterprise

Change-Id: I3d750d808c6ebea9c230f0508cdbc016415b9922
2020-08-01 21:47:55 +02:00
Sean McGinnis
dd3731c86a
Install bindep packages when installing lib from src
Most libs maintain their own system packages in a local bindep.txt file.
We don't currently use those when installing packages from source, which
can result in broken package installs.

This adds a flag to always attempt to install bindep packages if the
bindep.txt file exists. If a file cannot be found, it will just emit a
warning and carry on.

Change-Id: Ia0570f837b8af1c3fee0a314b026a4a7ed27e6a9
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-07-28 08:57:22 -05:00
Jens Harbott
32c00890ed Prepare for dropping keystone admin endpoint
Keystone no longer has any special functionality hidden behind the admin
endpoint. Stop referencing it in consumers, so it can later be dropped
completely.

Change-Id: I04a5d77908005268cc7c59e7e9ddeea70f6732e2
2020-06-26 15:26:22 +02:00
Maciej Józefczyk
7a0fa4fd9e Update cirros image to cirros-0.5.1
New cirros with recent fixes for metadata service
has been released. [1]
Let's update the image version in gate.

This also includes a fix to pass image name to SDK tests.

[1] e40bcd2964

Change-Id: I6ccd646f1c22a99bed0bebf6e363d2190241b667
Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2020-05-26 16:08:19 +00:00
Ian Wienand
67fd81a484 Cleanup yum things
We no longer support platforms with Yum on master.  Cleanup old
references and convert to dnf.

We don't need any of the failure wrapper stuff as dnf runs in strict
mode by default.

There seem to be a few callers out there, so we'll leave it called
yum_install for now.

Change-Id: Ie71a48fd85b00a97a14bf260cd013b18af4cce06
2020-04-30 16:05:15 +10:00
Ian Wienand
bcb2c30c31 Remove TRACK_DEPENDS
This was added in 2012 with I89677fd54635e82b10ab674ddeb9ffb3f1a755f0,
but I can not see it being used anywhere currently.

It's use of virtualenv's has become problematic in a python2
deprecated world, but since it is not used, remove it to avoid further
confusion.

Change-Id: I65d44d24f449436ca6229928eee2c5a021793055
2020-01-13 16:31:20 +11:00
Ian Wienand
474f535a14 oscwrap: make a little quieter
A huge part of the logs is irrelevant bash aliases captured by the
openstack client timing wrapper from the run of "openstack complete",
which is only helpful on interactive systems where you'll interact
with the command line.  Call it directly to avoid capturing the logs.

While we're here, turn off tracing inside the oscwrap function, which
is called frequently.  It's not useful for debugging.

Change-Id: I1cb5399fe7ee6f0e547a9cfff70396aa2007632e
2019-08-08 09:15:11 +10:00
Zuul
5e09df086c Merge "Install from bindep.txt in plugins" 2019-06-21 08:04:35 +00:00
Stephen Finucane
4b8cba77fe Remove n-cells, n-net and n-cauth
Remove nova cells v1 support, which also allows/necessitates removing
support for nova networks (which was only supported with cells v1) and
nova-consoleauth (which was required by cells v1 but is unnecessary
otherwise).

The Depends-On isn't really necessary, but it's here to make sure this
doesn't merge until we _really_ have killed cells v1.

I honestly expected this patch would be bigger.

Change-Id: I90316208d1af42c1659d3bee386f95e38aaf2c56
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-On: Ib0e0b708c46e4330e51f8f8fdfbb02d45aaf0f44
2019-05-31 15:10:05 +01:00
Zuul
f9f11148cf Merge "Fix distro detection for SUSE Linux Enterprise" 2019-02-18 00:44:44 +00:00
Zuul
f3302dcee3 Merge "Add options for development bindep install" 2019-02-06 16:34:57 +00:00
Adam Spiers
b6f04ca5c9 Fix distro detection for SUSE Linux Enterprise
On SUSE Linux Enterprise distributions, lsb_release -i typically
returns "SUSE" not "SUSE LINUX" as the vendor string.

To avoid duplication of the same regular expressions in multiple
places, add is_opensuse() and is_sle() helper functions, and modify
is_suse to invoke those.

This may also be helpful in the future for distinguishing some corner
cases where things are handled differently between openSUSE and SLE.

Change-Id: I43bf163bc963758ddbb6289928837f5f6512f265
2019-01-30 16:48:09 +00:00
Ian Wienand
fa9aadfdd8 Install from bindep.txt in plugins
This allows plugins to specify their binary dependencies in bindep
format.

Some thinking on the implementation: this is in contrast to the
files/[deb|rpm] installation, which is called from the external
install_prereqs.sh script.  This script being an externally callable
entry-point is really an artifact of the days when we would build
snapshot images for CI and wanted to pre-cache downloads.  These days
we use the mirror system to keep packages close to CI nodes.  Thus
rather than expand install_prereqs.sh to also be installing
virtualenvs and python dependencies, this seems to fit better as a
separate internal phase of stack.sh.

Documentation is updated

Change-Id: Icbdfbf97c17c906a7ae86f43e80eb2c445816228
2019-01-16 11:14:09 +11:00
Ian Wienand
58243f6203 Add options for development bindep install
This adds a -bindep option to the key development library install
functions.  With this option the bindep.txt file will be referenced
and the relevant packages installed.

Change-Id: I856f1f59fca49b6020920d8f859b797f3b904300
2019-01-14 16:35:12 +11:00
Monty Taylor
5690582073
Add devstack-system-admin for system scoped actions
Keystone is moving more things to require a system scoped token to
work. Getting one of those requires that domain and project information
are not set.

Change-Id: I2e1640e9f9ef6cdf56bef49d1ae8f0591570c3e6
2019-01-08 23:25:57 +00:00
Akihiro Motoki
e0b375c8ce Use volume v3 API in clouds.yaml by default
Volume API v2 has been deprecated for a long time.
There is no reason to use volume v2 in clouds.yaml by default.

This commit also drops "--os-identity-api-version 3" from
write_clouds_yaml in functions -common as "3" is the default value
of tools/update_clouds_yaml.py. They are hardcoded in DevStack
so there is no reason to pass it.

Change-Id: Ie84026a3d19f7711fc781b7012355096c7ff6b5a
2018-12-14 17:29:27 +09:00
Zuul
a1ffc4f1eb Merge "Quote error messages" 2018-10-10 13:01:04 +00:00
Zuul
dd0f884b7e Merge "Convert to openSUSE Leap 15.0 platform testing" 2018-10-09 08:51:41 +00:00
Dirk Mueller
297a50ac86 Convert to openSUSE Leap 15.0 platform testing
Leap 15.0 has been released May 25th, 2018 (see
https://en.opensuse.org/Portal:15.0 ) and we'd like to
transition devstack against it and remove Leap 42.3 from
the testing matrix. Leap 15.0 is newer than Leap 42.3 as
the numbering schema of openSUSE was changed.

Co-Authored-By: Antonio Ojea <itsuugo@gmail.com>

Change-Id: I078f9a2580160c564c33e575008516f5e92239d6
2018-10-08 07:09:21 +00:00
Ian Wienand
e8a6a0261c Quote error messages
As a follow-on to I28aebffce6c5561360a9e44c1abc44b709054c30; make sure
we quote the error messages on the way through so they retain their
newlines.

Change-Id: I493317948264941b4788b100a0b0bc13d2698acf
2018-10-08 15:20:34 +11:00
Paweł Suder
4e16c3dd5f Fix common systemd pitfalls die msg
That change introduces correct way of generating msg
for die in common systemd pitfalls.

Co-Authored-By: Szymon Datko <szymon.datko@corp.ovh.com>
Co-Authored-By: Piotr Bielak <piotr.bielak@corp.ovh.com>
Change-Id: I28aebffce6c5561360a9e44c1abc44b709054c30
2018-09-26 16:00:56 +02:00
Zuul
5da7e4a22e Merge "Fix running with SERVICE_IP_VERSION=6" 2018-07-10 06:10:28 +00:00
Doug Hellmann
0417858afa fix typo in python3_version
The function was using an undefined variable to show the version of
python3 being used.

Change-Id: Ibc956975d620ed5174de8823f9c202a680c56aaf
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-06-12 15:37:00 -04:00
Zuul
a14b78082f Merge "functions-common: Don't reguess Python versions" 2018-03-19 18:39:14 +00:00
Dirk Mueller
4404f680f2 Add an openSUSE Tumbleweed devstack non-voting check job
This adds the necessary fixes to pass a devstack run
on openSUSE Tumbleweed. Also removes opensuse 42.2 as it
is EOL for some time already and no longer actively tested
in the OpenStack infra.

Depends-On: I1b68c08c07cf6653ea58506f738cbe0054b38f3a
Change-Id: I2894482deef063fd02b0818c695a2ddbf6767039
2018-03-11 14:04:36 +01:00
Jens Harbott
dc7b429463 Fix running with SERVICE_IP_VERSION=6
- There are some locations where we need the raw IPv6 address instead of the
  url-quoted version enclosed in brackets.
- Make nova-api-metadata service listen on IPv6 when we need that.
- Use SERVICE_HOST instead of HOST_IP for TLS_IP.

Change-Id: Id074be38ee95754e88b7219de7d9beb06f796fad
Partial-Bug: 1656329
2018-03-11 08:53:41 +00:00
Stephen Finucane
ffd0047afa functions-common: Don't reguess Python versions
We have already established the correct version of Python to use during
installation, either automatically or through user-provided information
(USE_PYTHON3, PYTHON3_VERSION). Don't do it again.

Change-Id: I7bdf2be9a885994bf2c437dd104048a1ff2f6666
Closes-Bug: #1744096
2018-01-18 15:12:29 +00:00
Zuul
d37119e797 Merge "Allow plugins to express dependency info" 2017-12-07 11:00:29 +00:00
James E. Blair
c5853ac1af Allow plugins to express dependency info
Add a no-op function, "plugin_requires" to allow plugins to indicate
their dependencies on each other.  This will be used by the Devstack
Ansible module when writing local.conf files.

Also add define_plugin to allow plugins to indicate their canonical
names.

Change-Id: Ibd8c7222ed7dfb08d7ea821d871fc6f3b88de24b
2017-11-21 16:33:23 -08:00
Zuul
4caa9c3580 Merge "Provide finite value for systemd's TimeoutStopSec" 2017-11-21 20:04:29 +00:00
Zuul
2647fc2ac1 Merge "Drop support for "kvmibm" distro" 2017-11-15 00:05:24 +00:00
Michał Dulko
3b815a3cb2 Provide finite value for systemd's TimeoutStopSec
This commit switches TimeoutStopSec in DevStack's systemd unit files
from "infinity" to "300". There are two motivations for that change:

* 5 minutes should be more than enough to stop a service.
* systemd included in CentOS 7 and RHEL 7 doesn't support "infinity" as
  a value, "0" should be provided instead. When "infinity" is set,
  systemd will kill the service instantly, leaving service children
  processes orphaned. Instead of differentiating here, we can just set a
  sane, finite number.

Closes-Bug: 1731275
Change-Id: I0a079ea9879fa4fbba23104c2f5ab6e0721a2a2a
2017-11-14 16:12:56 +01:00
Jenkins
e4eef81c2b Merge "Enable reloadable config in services" 2017-10-10 22:04:56 +00:00
Radoslav Gerganov
2b97a81640 Remove references to $USE_SCREEN in comments
The USE_SCREEN variable is not used any more

Change-Id: I29ad9cdb6c8498404502d91fbc4e1299bf4a633e
2017-10-10 16:53:18 +03:00
Markus Zoeller
b8335eebe8 Drop support for "kvmibm" distro
The IBM hypervisor distro "KVM for IBM z Systems" gets discontiued,
like announced in March 2017 [1]. The key dates are:

* 03/2017: announcement
* 08/2017: the last day to order (EOM)
* 03/2018: the End of Service (EOL)

As the CI which tests OpenStack with KVM on IBM Z doesn't rely on this
distro anymore and EOM has reached, we remove the Devstack support for
this distro.

This basically reverts commit a5ea08b of Dec 2015.

NOTE: This doesn't affect other distros which have KVM on Z support.

References:
[1] FAQ for KVM for IBM z Systems Delivery Strategy Change
    https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=ZSQ03110USEN&

Change-Id: I009ae4779588615633bff81d0c47a1b879ec9279
2017-10-10 11:08:09 +02:00
Jenkins
7c9542eb02 Merge "Install minimal lsb-release package on openSUSE" 2017-09-28 12:16:50 +00:00
Jenkins
4a50053c74 Merge "Make is_ipv4_address a bit more robust" 2017-09-25 13:37:32 +00:00
Dirk Mueller
5ef8a125cc Install minimal lsb-release package on openSUSE
lsb-release is a dependency of "lsb", so it used to work
before just fine as well, but it was installing about 300MB
of "stuff" that we don't actually need..

Change-Id: I25c7c750cbaeb40bf4f2e8695608c4b1003289ea
2017-09-25 13:09:43 +02:00
Jenkins
5aff50b09d Merge "Display unaccounted time in "DevStack Component Timing"" 2017-09-21 19:42:27 +00:00
Jens Harbott
7617ac2085 Make is_ipv4_address a bit more robust
Still not ideal, but at least should avoid matching IPv6 addresses.

Change-Id: Ibb64263fdb0308f56c18518289501dd4642dcbad
2017-09-20 08:56:10 +00:00
John L. Villalovos
5ad4e58868 Display unaccounted time in "DevStack Component Timing"
In the "DevStack Component Timing" section, display the unaccounted
time.

Also add the units (seconds) to the output to make it clear to viewers.

Change-Id: Iaca82cc54a355f7077e20e548b771e53387f6628
2017-09-19 08:06:17 -07:00
Jenkins
3cc59ab38c Merge "Install neutron rpms/debs when lib/neutron is used" 2017-09-19 13:23:09 +00:00
Jenkins
b2503f4692 Merge "Ignore stderr when checking for Python version" 2017-09-19 01:51:10 +00:00
Jenkins
cd06b2ee81 Merge "Enable graceful shutdown for services" 2017-09-19 01:49:24 +00:00
Javier Pena
6bd4924cec Ignore stderr when checking for Python version
https://review.openstack.org/504171 prevented Python version detection
from failing when python3 is not installed. However, "which python3"
returns a message in stderr when python3 is not there, and this output
can make diskimage-builder get confused when parsing
source-repository-images.

Change-Id: Idb649dc341ede73c39954b0432ef3cacf379ed37
2017-09-15 15:57:32 +02:00
Jenkins
f56a0ae2ec Merge "Fix devstack python detection if python3 is missing" 2017-09-14 23:42:06 +00:00
Sean Dague
4324f4ecd9 Fix devstack python detection if python3 is missing
On platforms without python3 installed devstack fails the python
version check. This does it more gracefully.

Change-Id: I4d79a41eb2d66852ab1a1aa8bd383f8e3e89cdc0
2017-09-14 13:13:15 -06:00