Compare commits

...

1785 Commits

Author SHA1 Message Date
Zuul 2f3440dcfe Merge "Replace deprecated datetime.utcnow()" 2024-10-25 08:38:40 +00:00
Zuul 4ca490fd56 Merge "Globally skip devstack job for pre-commit config update" 2024-10-25 07:56:22 +00:00
Zuul 1d74620626 Merge "Add image format enforcement toggle" 2024-10-25 07:56:19 +00:00
Takashi Kajinami 2e04d0fa20 Globally skip devstack job for pre-commit config update
pre-commit has been introduced to number of projects like oslo to run
lint checks such as hacking. The pre-commit config file does not affect
functionality, so devstack job is not needed when only the file is
updated.

Change-Id: I4294fe0c4df2c36c8575613b05a1f9c2eb745d18
2024-10-24 00:54:28 +09:00
Zuul a1376e6f8c Merge "Bump cirros version to 0.6.3" 2024-10-21 14:22:36 +00:00
Takashi Natsume 50b0b60227 Replace deprecated datetime.utcnow()
The datetime.utcnow() is deprecated in Python 3.12.
Replace datetime.utcnow() with
datetime.now(datetime.timezone.utc).replace(tzinfo=None).

Change-Id: I9bf6f69d9e174d490bb4f3eaef3b364ddf97a954
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2024-10-19 12:55:43 +00:00
OpenStack Proposal Bot 29545a5109 Updated from generate-devstack-plugins-list
Change-Id: I374de22c7c916f9497c55bf404141776fd17f6c8
2024-10-16 02:50:33 +00:00
Zuul 224938d313 Merge "lib/cinder: Align endpoint creation code" 2024-10-10 08:20:11 +00:00
Zuul 9a05aa85ff Merge "lib/cinder: Strip project_id from URL" 2024-10-10 07:53:21 +00:00
Zuul 482e027a96 Merge "Catch and print the postgresql initdb error" 2024-10-09 17:48:31 +00:00
Zuul 3b23fbc77e Merge "lib/swift: Consistently quota variables" 2024-10-09 13:48:59 +00:00
Zuul a72e0f4bec Merge "lib/cinder: Remove 'volume3' endpoint" 2024-10-09 10:02:15 +00:00
Dan Smith 803a7d44c4 Add image format enforcement toggle
Related to blueprint glance-as-defender

Needed-By: https://review.opendev.org/c/openstack/tempest/+/931028
Change-Id: I8b22ed85eefde399f2e472780106dd39e51a5700
2024-10-02 07:03:15 -07:00
Rodolfo Alonso Hernandez f49d475bf2 Catch and print the postgresql initdb error
The logs are stored, by default, in
/var/lib/pgsql/initdb_postgresql.log.

Related-Bug: #2083482
Change-Id: I2c83e896819b20cd7a1ee8d8ee33354fb047a6d9
2024-10-02 13:24:03 +00:00
Stephen Finucane 6a8f65b476 lib/swift: Consistently quota variables
Change-Id: I6c3245a77cdc2849067568cfda5a838afda687e3
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-01 11:54:57 +01:00
Stephen Finucane 49933804c9 docs: Expand SSH guide further
smooney noted that using your DevStack host as a jump host is yet
another reasonable option. Add this option also.

Change-Id: I24887c254e131a8979653a7d17e64a708acf294a
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-01 11:54:35 +01:00
Stephen Finucane 14f60b951a docs: Expand SSH guide
Detail how one can SSH into guests running on a remote DevStack host.

Change-Id: I9f988b1193d67859b129f05d08b32a23e50aee49
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-01 11:54:35 +01:00
Stephen Finucane 3362be9eda docs: Add SSH guide
This is really easy win for people using DevStack for the first time.

Change-Id: I8de2d4d115d34e9d87dd461016b5b894d3f000e7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-01 11:54:35 +01:00
Stephen Finucane 6512f0140c doc: drop sphinxcontrib-nwdiag, sphinxcontrib-blockdiag usage
sphinxcontrib-nwdiag does not appear to be maintained anymore [1] and
there have been no releases in nearly 5 years. Statically generate the
images and include them this way. We can revert this change if the
maintainership issue resolves itself.

sphinxcontrib-blockdiag has had activity more recently [2], but it's
still been nearly 3 years. More importantly, we don't actually use it so
there's no reason to keep it around.

[1] https://pypi.org/project/sphinxcontrib-nwdiag/#history
[1] https://pypi.org/project/sphinxcontrib-blockdiag/#history

Change-Id: Ic5244c792acd01f8aec5ff626e53303c1738aa69
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-01 11:54:21 +01:00
Dr. Jens Harbott fec589a1ce Bump cirros version to 0.6.3
This is the latest cirros release, featuring an updated kernel and some
fixes and added features, let's use it.

[0] https://github.com/cirros-dev/cirros/releases/tag/0.6.3

Change-Id: I2506fa713e0426789fa40a5f4f7fd4e963a158f0
2024-09-26 21:23:17 +02:00
Ghanshyam Mann 03bc214525 Update DEVSTACK_SERIES to 2025.1
stable/2024.2 branch has been created now and
current master is for 2025.1.

Change-Id: If5c9de9ddfab1bff313c70cf2c40ce7fbe60473f
2024-09-25 12:03:40 -07:00
Stephen Finucane 9b44390381 lib/cinder: Align endpoint creation code
Do this the same way we do it for Nova, to make for easier review.

Change-Id: I31877705894a21570f130723e0a27ff38f945eea
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-09-24 12:14:45 +00:00
Stephen Finucane 2d487d8c7b lib/cinder: Strip project_id from URL
This is optional. There's no need to include it.

Change-Id: I2e745865696dbb317f819ecb74f5b5df88a9ed76
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-09-24 12:14:37 +00:00
Stephen Finucane d7c3c0accc lib/cinder: Remove 'volume3' endpoint
This was needed when 'block-storage' pointed to the v2 API. This is no
longer the case (and hasn't been for some time). This is unnecessary
duplication now.

Change-Id: I00cfb56d3e54d0162b1609f4bf58814e9000c103
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Depends-on: https://review.opendev.org/c/openstack/tempest/+/930296
2024-09-24 12:14:20 +00:00
yatinkarel 0ff6272862 Run chown for egg-info only if the directory exists
9-stream jobs failing since [1] merged as these still use
GLOBAL_VENV=False.
egg-info directory is not created in project source
directory when pyproject.toml is used in the project.
pyproject.toml being added across projects[2] to support pip 23.1.

[1] https://review.opendev.org/c/openstack/nova/+/899753
[2] https://review.opendev.org/q/topic:%22pip-23.1-support%22

Change-Id: I53954a37461aee5dd7f487d6bd205caef4408392
2024-09-03 08:14:00 +00:00
Sean Mooney 5ed2b7c6b2 make devstack-platform-ubuntu-noble voting
devstack-platform-ubuntu-noble was added in
Ie1f8ebc5db75d6913239c529ee923395a764e19c
and has been runnning for a little over 2 months

in that time

https://zuul.openstack.org/builds?job_name=devstack-platform-ubuntu-noble

the job has been pretty stable so its time to make
this voting in advance of it becoming required in the
2025.1 release.

Change-Id: Iffd6ccf9603117d6720931e260afa2da13c26ec4
2024-08-31 02:09:15 +01:00
Zuul ab83f37d33 Merge "ovn: use bundled ovs" 2024-08-29 11:37:57 +00:00
Zuul a90a776bce Merge "Fix get_default_host_ip ipv6 address parsing" 2024-08-27 12:05:55 +00:00
Zuul 129ac797e2 Merge "Handle_tags and branches for unmaintained also" 2024-08-20 17:21:53 +00:00
Zuul e8e25c1a6a Merge "Move the check of "rpc_workers" after the post-config phase" 2024-08-20 17:21:51 +00:00
Zuul 611b626d9c Merge "etcd: Replace deprecated --debug option" 2024-08-20 17:21:49 +00:00
Takashi Kajinami 9e1348f81b etcd: Replace deprecated --debug option
... to resolve the following warning.

[WARNING] Deprecated '--debug' flag is set to true (use
'--log-level=debug' instead

Change-Id: Idb412cea64dfc42e3d1223b77f134804eeb7bd60
2024-08-20 17:23:02 +09:00
Zuul d00bd6d41a Merge "Configure cinder service token" 2024-08-16 19:17:32 +00:00
Zuul 56e6b238cb Merge "Add config options for optimized upload volume" 2024-08-16 19:06:17 +00:00
Dan Smith 1a336ef4ae Trivial fixes from review of os-test-images
This fixes some trivial things from the review where this support was
added:

https://review.opendev.org/c/openstack/devstack/+/925425

Change-Id: I990a3816f425a1b4c8680ec43d698e32eea2238b
2024-08-15 06:05:58 +00:00
Rajat Dhasmana 80c1605a1d Configure cinder service token
Glance is implementing new location APIs, for which, cinder needs
to pass service token to register a location in glance.
This is required in the case when glance is using cinder as a backend
and cinder tries to upload a volume in the optimized path.

We are adding a new option, ``CINDER_USE_SERVICE_TOKEN`` that will
configure the service user section in cinder.conf. By default, it
is set to False.

Change-Id: I0045539f1e31a6d26c4f31935c5ddfaaa7607a48
2024-08-14 01:07:13 +05:30
Rajat Dhasmana d6e3d06001 Add config options for optimized upload volume
When glance is using cinder as a backend, we can use optimized
path for upload volume to image operation.
The config options image_upload_use_cinder_backend and
image_upload_use_internal_tenant are used to configure optimization
in the upload volume to image workflow where we create a cinder
volume in the internal service project and register the location
in glance.

Recently it was found that the glance location API workflow was
broken[1] for the upload volume case and it wasn't detected because we
are not testing it in our glance cinder job "cinder-for-glance-optimized".

This patch adds the config option to test the optimized path.

Note that the optimized upload functionality is only possible when glance
uses cinder as it's backend since it uses clone volume functionality to
clone the Image-Volume from the source volume.

[1] https://bugs.launchpad.net/glance/+bug/2054575

Change-Id: I521ed04696a5a545b2a2923cf8008bd64add7782
2024-08-14 00:56:30 +05:30
Eric Harney 3b0d76c30b Fix get_default_host_ip ipv6 address parsing
This is another occurrence of the issue fixed in bug
1786259 with change I30bf655f which occurs when there
are multiple IPv6 gateways present.

Before this change:
$ source openrc
+++++functions-common:get_default_host_ip:776  ip -f inet6 addr show 100
Device "100" does not exist.

This is because the ip route command returns:
default proto ra metric 100 expires 1497sec pref medium
	nexthop via fe80::4e16:fc01:298c:98ed dev ens3 weight 1
	nexthop via fe80::4e16:fc01:2983:88aa dev ens3 weight 1

Related-Bug: #1786259
Change-Id: I7729730df66a4dc7ee11df1d23b19b9c0794b575
2024-08-12 17:15:55 +00:00
Dan Smith 84ce1984b1 Add os-test-images support in lib/tempest
This generates the test images in os-test-images and also configures
tempest to know where it is (and if image conversion is enabled in
glance).

Change-Id: Ib74002828a77838ab95d2322e92bdab68caac37c
2024-08-09 07:17:28 -07:00
Zuul b2c406f497 Merge "oslo.log: Configure log color by $LOG_COLOR" 2024-08-08 06:34:11 +00:00
Rodolfo Alonso Hernandez 79a812a69e Move the check of "rpc_workers" after the post-config phase
The configuration variable can be checked in the Neutron configuration
during the post-config phase when the configuration files and sections
are merged together.

Closes-Bug: #2075342
Change-Id: Ic42463e2f72488a1b14ce49e4e435cb4a2c0c855
2024-08-07 15:35:26 -04:00
melanie witt 38dea33fe9 oslo.log: Configure log color by $LOG_COLOR
Relatively recently oslo.log 6.1.0 was released and contains change
I7966d4f4977b267f620946de4a5509f53b043652 which added an option to
enable color in logs which defaults to False. This caused a change in
behavior for DevStack such that viewing logs with journalctl no longer
showed different colors for different log levels, which can make
debugging more difficult when developing with DevStack.

This adds olso.log color configuration based on the existing $LOG_COLOR
DevStack variable for log color which defaults to True for interactive
invocations.

Change-Id: If10aada573eb4360e81585d4fb7e5d97f15bc52b
2024-08-05 18:03:49 +00:00
elajkat 92b65a84cc Handle_tags and branches for unmaintained also
Related-Bug: #2056276
Change-Id: Iaa34624d1d85cadf1b45bec780ef8d97dd054041
2024-08-05 11:39:06 +02:00
karolinku 8784a3027f Replacing usage of rdo-release rpm
with centos-release-openstack rpms follwing [1].

[1] https://issues.redhat.com/browse/RDO-311

Change-Id: I50951e077e73297d10b075677a440992d1e2fa91
2024-07-31 12:36:43 +02:00
Riccardo Pittau 6990b06cd3 Install simplejson in devstack venv
Workaround to avoid failure due to missing osc dependency
removed in [1]

[1] https://review.opendev.org/c/openstack/python-openstackclient/+/920001

Change-Id: I3f7541e691717186b7c73f10ffabae6fc0c5c9f9
2024-07-25 14:37:41 +02:00
Zuul d84b874ef6 Merge "Make nova only use the nova account" 2024-07-23 16:50:12 +00:00
Zuul 640899124f Merge "docs: Add a minimal Tempest guide" 2024-07-23 15:25:53 +00:00
Zuul 2694cc9d44 Merge "lib/neutron: Migrate neutron to WSGI module path" 2024-07-23 12:57:58 +00:00
Stephen Finucane 95697d84cb docs: Add a minimal Tempest guide
This can be fleshed out more in the future, including with information
about managing plugins, but this is a start.

Change-Id: I1094d093b704e37370e3e434ebf3697954e99da3
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-07-23 11:37:05 +01:00
Stephen Finucane 0cd876384a lib/neutron: Migrate neutron to WSGI module path
Change-Id: Ie99ec3bf4198fa7cd7583d2dca648e1474f94aea
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-on: https://review.opendev.org/c/openstack/neutron/+/916407
2024-07-22 11:10:18 +00:00
Rodolfo Alonso Hernandez 13888a31d2 [Neutron] neutron-rpc-server is not a configurable service
The "neutron-rpc-server" is not a configurable service that can be
enabled or disabled. This service is a dependant process of the
"neutron-api-server" service that is spawned when the Neutron API
uses the WSGI module. The execution of this child service will depend
on:
* The Neutron API service when running with the WSGI module. If
  the Neutron API uses the eventlet module, this service won't run
  (the RPC workers will be spawned by the eventlet server).
* The "rpc_workers" configuration variable. If this variable is
  explicitly set to "0", the server must not run.

Closes-Bug: #2073844
Related-Bug: #2073572
Change-Id: Ic019423ca033ded8609d82bb11841b975862ac14
2024-07-20 15:55:07 +00:00
Rodolfo Alonso Hernandez aaaa03718b [Neutron] Do not execute RPC workers if "rpc_workers=0"
When the Neutron WSGI module is used, an independent service called
"neutron-rpc-server" is configured and executed. However it will fail
if the number of RPC workers is configured to zero. In that case,
the configuration and execution of this service should be skipped.

If the service is explicitly disabled in the devstack configuration,
it won't be executed neither.

Closes-Bug: #2073572
Change-Id: Idd023a2a8f588152221f20a13ae24fbb7d1618a4
2024-07-19 13:43:40 +00:00
Sean Mooney 6df5371918 bump guest ram to prevent kernel panics
one observation we had in down stream ci is
sometimes the cirros 0.6.2 image appared to
crash when using 128MB of ram.

upstream we have been dealing with semi random
kernel panics  which are losely corralated with
cinder volume usage.

Recently we optimisted the devstack jobs by using zswap
this has reduced memory pressure in the jobs.

This patch increase the ram allocated to a flavor
to see if we can afford that with the current conncurnace
level in an attempt to reduce kernel panics.

Two new parmaters are added to allow jobs or users
to set the desired ram size.
TEMPEST_FLAVOR_RAM=${TEMPEST_FLAVOR_RAM:-192}
TEMPEST_FLAVOR_ALT_RAM=${TEMPEST_FLAVOR_ALT_RAM:-256}

Change-Id: Ib6a2d5ab61a771d4f85bd2c2412052efadc77ac5
2024-07-12 20:16:06 +01:00
Zuul 1d48d2fa51 Merge "Drop remainders of identity API v2.0 references" 2024-07-11 22:55:29 +00:00
Zuul ea2ca7ea88 Merge "Add devstack-platform-ubuntu-noble to periodic" 2024-07-11 10:09:33 +00:00
Dr. Jens Harbott 696dbdf045 Make nova only use the nova account
Each service should only be using that service's user account within its
configuration, in order to reduce the possible impact of credential
leaks. Start with nova, other services will follow.

Change-Id: I6b3fef5de05d5e0cc032b83a2ed834f1c997a048
2024-07-11 09:52:44 +02:00
Zuul b67c20eca5 Merge "[Neutron] Add a new Neutron service: neutron-ovn-maintenance-worker" 2024-07-10 10:42:34 +00:00
Dr. Jens Harbott d714f7deaa Add devstack-platform-ubuntu-noble to periodic
Seems the platform is stable, let's add it to the periodic-weekly tests
that we run.

Change-Id: I185443c0fdb9e1248542a16fd877dc6b8ffd7683
2024-07-09 17:14:54 +02:00
Dr. Jens Harbott eb0ac1d217 Drop remainders of identity API v2.0 references
keystone has dropped the v2.0 API in queens, time to drop all special
casing for it.

Change-Id: If628c4627f7c8b8c2ee9bca16ea6db693cf8526a
2024-07-08 18:02:25 +02:00
Zuul 49729ab2c5 Merge "[Neutron] Add a new Neutron service: neutron-periodic-workers" 2024-07-08 15:14:10 +00:00
Rodolfo Alonso Hernandez 3a0c0b9ff4 [Neutron] Add a new Neutron service: neutron-ovn-maintenance-worker
This new service is spawned when using Neutron WSGI module. This new
service executes the OVN maintenance task that syncs the Neutron
database and the OVN database.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/922074
Related-Bug: #1912359

Change-Id: I495459cd9e35e2e76ba7fc9611a589e1685814f5
2024-07-03 09:06:13 +00:00
yatinkarel c707dd3fc2 [nova] Add flag to set libvirt tb_cache_size
A config option is being added in nova with [1]
in order to allow configuring lower tb-cache size
for qemu guest VMs.

This patch adds a flag in devstack so jobs can
utilize it to set required tb-cache size.

[1] https://review.opendev.org/c/openstack/nova/+/868419

Co-Authored-By: Sean Mooney <work@seanmooney.info>
Related: blueprint libvirt-tb-cache-size
Change-Id: Ifde737eb5d87dfe860445097d1f2b0ce16b0de05
2024-06-26 17:40:16 +01:00
Sean Mooney db305d2a4b enable openstack-cli-server and other perfromace tunings
This commit enabeles a number of performance optimizations
to tune the host vms memory and io by leveraging zswap
and other kernel parmaters to minimize the effect of io
latency and memory pressure.

The openstack-cli-server has been enabled in the nova ci
for several months now and has proven to speed up devstack
signifcantly, while this change does not enable it by
default in devstack it does enable it by default in the ci
jobs.

simiarly the zswap and other tuning remain disabled by default
in devstack but are enabled by default in the devstack job.

This change limits the qemu tb_cache_size to 128MB form 1G,
this requires libvirt 8.0.0 or newer. as bullseye and
openeuler-22.03 do not meet that requirement they have been
removed. libvirt 8.0.0 will be the new min version supported
in nova in the 2025.1 release so the decions was made
to drop supprot for older release now instead of doing it
at the start of the 2025.1 cycle. debain coverage is still
provided by the newer bookworm relase. openeuler-22.03 has
been superseded by the openeuler-24.03 lts release.
openeuler-24.03 is not currnetly aviable in ci but supprot
could be readded if desired however that is out os scope of
this change.

Change-Id: Ib45ca08c7e3e833b14f7e6ec496ad2d2f7073f99
2024-06-25 11:01:54 +01:00
Zuul b425e822f6 Merge "stackrc: Remove USE_PYTHON3" 2024-06-24 10:52:04 +00:00
Zuul d0284d8c7b Merge "add ubuntu noble (24.04) support" 2024-06-24 00:19:12 +00:00
Sean Mooney 41d253a6f9 add ubuntu noble (24.04) support
This change installs setuptools in the requirements
and global venv to ensure that distutils is present

This change also adds new single and two node
nodeset for noble and a devstack platform job as nonvoting.

Change-Id: Ie1f8ebc5db75d6913239c529ee923395a764e19c
2024-06-21 16:35:32 +01:00
Rodolfo Alonso Hernandez 56368c271d [Neutron] Add a new Neutron service: neutron-periodic-workers
This new service is spawned when using Neutron WSGI module. This new
service executes the plugin workers inside a wrapper executor class
called ``AllServicesNeutronWorker``. The workers are executed as
threads inside the process.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/922110
Related-Bug: #2069581

Change-Id: I6b76b7bcee1365c80f76231e0311406831f8ce41
2024-06-21 13:13:16 +00:00
yatinkarel 4d69238383 Fix rdo_release for unmaintained branches
Only branches with stable/ as prefix were considered
but now we have branches even with different
prefix like unmaintained/, fix it to consider
such cases by using a generic filter instead of
assuming branch name starts with stable.

Change-Id: I967de13094ff6df46737a22d4e1758f9900dfbc9
2024-06-21 18:30:30 +05:30
Zuul 9bcd7c240d Merge "openrc: Group auth-related options together" 2024-06-20 20:10:19 +00:00
Zuul 5f35bfd2a7 Merge "openrc: Stop setting OS_TENANT_NAME" 2024-06-20 09:59:22 +00:00
Zuul f6adb245bb Merge "Fix deployment of the neutron with uwsgi" 2024-06-14 22:53:04 +00:00
Slawek Kaplonski b500d80c76 Fix deployment of the neutron with uwsgi
After patch [1] deploying neutron with uwsgi was not working correctly
due to the fact that there was different paths for the applications
set in the api-paste.ini file. Instead of default ones like:

/: neutronversions_composite
/healthcheck: healthcheck
/v2.0: neutronapi_v2_0

it was changing it to something like:

/networking/: neutronversions_composite
/networking/healthcheck: healthcheck
/networking/v2.0: neutronapi_v2_0

where 'networking' can be configured to something else.
This patch fixes deployment of neutron with uwsgi by not changing its
api-paste.ini file when NEUTRON_DEPLOY_MOD_WSGI=True.

[1] https://review.opendev.org/c/openstack/devstack/+/849145

Closes-bug: #2069418
Change-Id: I12b860d4d98442e2b5ac0c9fd854f1226633b518
2024-06-14 14:08:00 +02:00
Stephen Finucane 5412dbfe7b stackrc: Remove USE_PYTHON3
This is no longer necessary and any users of this should be updated to
remove references.

Change-Id: Ice5083d8897376fd2ed6bd509419526e15baaf12
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2024-05-28 13:35:28 +01:00
Stephen Finucane 9fff87fbc7 openrc: Group auth-related options together
Change-Id: I98f283b33c2350cc4388463571013896086b31fa
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2024-05-28 13:33:32 +01:00
Stephen Finucane 608489cd59 openrc: Stop setting OS_TENANT_NAME
All clients - OSC included - use keystoneauth under the hood which
hasn't required this in a very long time. Stop setting it and remove the
warning.

We also remove references to 'NOVA_*' variables that haven't been a
thing since well before *I* started working on OpenStack 😅

Change-Id: I882081040215d8e32932ec5d03be34e467e4fbc2
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2024-05-28 13:30:45 +01:00
Zuul 92d70a8543 Merge "Display backup dashboard on Horizon when c-bak is enabled" 2024-05-22 12:50:03 +00:00
Zuul 85b8d2ccab Merge "lib/apache: Reshuffle lines" 2024-05-16 14:26:12 +00:00
Zuul 0eab4f97e4 Merge "lib/apache: Pass name, not path, to remove_uwsgi_config" 2024-05-16 14:26:10 +00:00
OpenStack Proposal Bot fadf63e4a9 Updated from generate-devstack-plugins-list
Change-Id: Ifa6db2e765f5f15a1d7421eef061377e55b58ec7
2024-05-16 02:37:02 +00:00
MinhNLH2 6971ccc49a Display backup dashboard on Horizon when c-bak is enabled
Currently, when enabling c-bak service, the backup tab will not
be shown on Horizon by default. This patch tells Horizon to
display backup dashboard when c-bak is enabled.

Closes-Bug: 2064496
Change-Id: I06295706e985bac58de2878c6d24c51f3267c205
Signed-off-by: MinhNLH2 <minh.nlh.work@gmail.com>
2024-05-16 00:37:07 +07:00
Ben Nemec 9a97326c3f Use OSCaaS to speed up devstack runs
OpenStackClient has a significant amount of startup overhead, which
adds a non-trivial amount of time to each devstack run because it makes
a lot of OSC calls. This change uses the OSC service from [0] to run
a persistent process that handles openstack calls. This removes most
of the startup overhead and in my local testing removes about three
minutes per devstack run.

Currently this is implemented as an opt-in feature. There are likely a
lot of edge cases in projects that use a devstack plugin so turning it
on universally is going to require boiling the ocean. I think getting
this in and enabled for some of the major projects should give us a lot
of the benefit without the enormous effort of making it 100% compatible
across all of OpenStack.

Depends-On: https://review.opendev.org/c/openstack/nova/+/918689
Depends-On: https://review.opendev.org/c/openstack/ironic/+/918690
Change-Id: I28e6159944746abe2d320369249b87f1c4b9e24e
0: http://lists.openstack.org/pipermail/openstack-dev/2016-April/092546.html
2024-05-14 07:30:55 -07:00
Stephen Finucane a6f3901a4b lib/apache: Reshuffle lines
Make it a little more obvious what the difference between the two helper
functions is.

Change-Id: I07ec34ecfcd2b7925485145c4b4bf68eda385a32
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2024-05-14 14:14:26 +01:00
Stephen Finucane d5182ce3fc lib/apache: Pass name, not path, to remove_uwsgi_config
We'd like to move from configuring uWSGI with '.wsgi' files to
configuring with module paths. Do this for all in-tree services and log
a deprecation warning for anyone still passing a path.

Note that since 'basepath foo' returns 'foo', this is effectively a
no-op for the services being converted here.

Change-Id: Ia1ad5ff160a9821ceab97ff1c24bc48cd4bf1d6f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2024-05-14 14:12:02 +01:00
Zuul 951e53bfcc Merge "Upload images with --file instead of stdin" 2024-05-14 10:25:13 +00:00
Dr. Jens Harbott c80b9f4fc1 Drop reno
devstack doesn't do releases, so there should be no release notes,
either. Drop the one that was accidentally created to avoid confusion.

Change-Id: I75a295e50c36925a0137a5458444fb48bd5d9f8a
2024-05-13 11:04:45 +02:00
Dan Smith 769adbd69d Upload images with --file instead of stdin
This is more likely how people will actually upload their images, but
it also prevents the "osc as a service" feature from working because
stdin isn't proxied (of course). So just convert our uses of "image
create" to use --file instead of stdin.

Change-Id: I7205eb0100ba7406650ed609cf517cba2c8d30aa
2024-05-09 10:47:50 -07:00
Dan Smith aee9b0ff9e Make rocky 9 job non-voting
This job is currently failing with mirror or repo issues.

Change-Id: Ie0f862f933cd99cc9fe698d5a178b952e6e93ac4
2024-05-09 10:47:49 -07:00
Brian Haley 9be4ceeaa1 Fix datetime.utcnow() deprecation warning
Running stack.sh on a python 3.12 system generates this
warning from worlddump.py:

  DeprecationWarning: datetime.datetime.utcnow() is deprecated

Use datetime.now(timezone.utc) instead, which should be
backwards-compatible with older python versions.

TrivialFix

Change-Id: I11fe60f6b04842412045c6cb97f493f7fef66e1a
2024-04-23 15:37:37 -04:00
Stephen Finucane b6613b1e71 lib/apache: Use module paths instead of WSGI scripts
pbr's 'wsgi_scripts' entrypoint functionality is not long for this world
so we need to start working towards an alternative. We could start
packaging our own WSGI scripts in DevStack but using module paths seems
like a better option, particularly when it's supported by other WSGI
servers like gunicorn.

Currently only nova is migrated. We should switch additional projects as
they migrate and eventually remove the support for WSGI scripts
entirely.

Change-Id: I057dc635c01e54740ee04dfe7b39ef83db5dc180
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-on: https://review.opendev.org/c/openstack/nova/+/902687/
2024-04-19 11:42:07 +01:00
Zuul e2aeab1bc1 Merge "Fix neutron empty string check" 2024-04-16 21:47:40 +00:00
Zuul 1abf3598fa Merge "lib/apache: Rename variable" 2024-04-16 17:15:25 +00:00
Jaromir Wysoglad c336b87342 Fix neutron empty string check
The variable should be in quotes for the check to work

Testing the behavior in bash:
current behavior:
$ config_file=""
$ if [ -n ${config_file} ]; then echo a; fi
a

$ config_file="abc"
$ if [ -n ${config_file} ]; then echo a; fi
a

behavior with quotes:
$ config_file=""
$ if [ -n "$config_file" ]; then echo a; fi

$ config_file="abc"
$ if [ -n "$config_file" ]; then echo a; fi
a

Change-Id: Iba956d9d4f43b925848174a632aabe58999be74b
2024-04-12 08:37:49 +02:00
Zuul fca44cc375 Merge "Do not configure system-scope admin for keystone" 2024-04-03 19:57:45 +00:00
Martin Kopec 99a96288eb Update DEVSTACK_SERIES to 2024.2
stable/2024.1 branch has been created now and
current master is for 2024.2.

Change-Id: I4af9e87318ef9cbfede7df7c23872a1a7e38c820
2024-03-28 23:38:19 +01:00
Douglas Mendizábal e1b7cc0ef8 Do not configure system-scope admin for keystone
This patch removes a couple of tempest.conf settings that are being
overwrriten when Keystone is set to enforce scope.

These settings are already being set by the keystone devstack plugin [1]
and do not need to be overwritten here.

Keystone is changing the default admin credentials to be project-admin
instead of system-admin to address some failing tests in services that
require project-scoped admin for their admin APIs. [2]  These overrides
are preventing that change from taking effect.

[1] https://opendev.org/openstack/keystone/src/branch/stable/2024.1/devstack/lib/scope.sh#L24-L25
[2] https://review.opendev.org/c/openstack/keystone/+/913999

Change-Id: I48edbcbaa993f2d1f35160c415986d21a15a4999
2024-03-25 12:15:59 -04:00
Zuul f4f09416ca Merge "Drop unused environments for TripleO and heat agents" 2024-03-19 18:55:14 +00:00
huicoffee 5f5255bc01 Remove Glance uWSGI config in clean.sh
Updated clean.sh to remove Glance's Apache uWSGI config files in
APACHE_CONF_DIR, including /etc/apache2/sites-enabled/ on Ubuntu.

Test Plan:
- Run clean.sh.
- Confirm Glance uWSGI configs are removed from APACHE_CONF_DIR.

Closes-Bug: #2057999

Change-Id: I44475b8e084c4b20d7b7cb7f28574f797dbda7a2
2024-03-15 20:15:09 +08:00
OpenStack Proposal Bot 5e837d1f0d Updated from generate-devstack-plugins-list
Change-Id: Ic99b518ddf1045893991accaa089f44d0d4f4b0d
2024-03-06 03:13:36 +00:00
Zuul c7fdfbaed2 Merge "Ignore 500 status code in generate plugin script" 2024-03-05 22:29:21 +00:00
Zuul ee178dcdb5 Merge "Drop the devstack-single-node-centos-7 nodeset" 2024-03-05 17:57:23 +00:00
Zuul 94562b4003 Merge "Make centralized_db driver as default cache driver" 2024-03-05 17:26:24 +00:00
Ghanshyam Mann 1fe7707cf0 Ignore 500 status code in generate plugin script
Due to various reasons, this script may encounter the
500 status code from some repo (x/fuel-plugin-onos in current case[1])
If that happen then it return failure status code to the
propose-updates job and fail that job

- https://zuul.openstack.org/builds?job_name=propose-updates&project=openstack%2Fdevstack&skip=0

It is better not to raise the 500 error in this script and just ignore those
repo to process further to detect the plugin.

[1] https://zuul.openstack.org/build/dba0aa41d145472397916dfcd13948de/log/job-output.txt#2442

Change-Id: Ibca0a2aac404161340e8fc00170018eecf5c8326
2024-03-05 08:37:03 -08:00
Jeremy Stanley af57c0b778 Drop the devstack-single-node-centos-7 nodeset
OpenDev is preparing to remove centos-7 nodes on March 15[*]. This
change drops one nodeset definition which is the last remaining
reference on DevStack's master branch.

[*] https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/message/A2YIY5L7MVYSQMTVZU3L3OM7GLVVZPLK/

Change-Id: Icd487e1012263a9b0bc13b529d31ff2025108adf
2024-03-04 18:27:51 +00:00
Takashi Kajinami 50c791c0ae Drop unused environments for TripleO and heat agents
TripleO was already retired. These environments are not actually used
by heat jobs.

Change-Id: I63b7413a1575a620f9d2cbd56e93be78816639e0
2024-02-29 17:02:55 +09:00
Zuul 57c685496f Merge "Drop nodesets with ubuntu-xenial" 2024-02-26 21:04:24 +00:00
Zuul 8bc99f3ef1 Merge "nova: unset cpu_model on aarch64" 2024-02-23 18:27:39 +00:00
Dr. Jens Harbott 402b7e89b6 Drop nodesets with ubuntu-xenial
The ubuntu-xenial labels are going to disappear from opendev as that
image is EOL and will we deleted. Clean up our zuul config.

Update some example reference as well.

Change-Id: Id04110f7c871caa1739ff2b62e9796be4fb9aa00
2024-02-23 11:46:03 +01:00
Zuul ed41f85d72 Merge "Add cinder-manage to /usr/local/bin/" 2024-02-13 17:14:03 +00:00
Slawek Kaplonski 4ddd456dd3 Add support for the pyproject.toml file in setup with constraints
In the _setup_package_with_constraints_edit name of the package was
always discovered from the setup.cfg file. But as some projects
implements PEP-621 (see [1] for the SQLAlchemy for example) it is not
enough now.
This patch adds parsing pyproject.toml file also if name is not found in
the setup.cfg file.

[1] https://github.com/sqlalchemy/sqlalchemy/commit/a8dbf8763a8fa2ca53cc01033f06681a421bf60b

Closes-Bug: #2052509
Change-Id: Iee9262079d09a8bd22cd05a8f17950a41a0d1f9d
2024-02-09 15:50:16 +01:00
Zuul 1ba76adccb Merge "Increase timeout for reimage operation" 2024-02-08 14:15:10 +00:00
Zuul 15a6f3e410 Merge "Uncap bashate" 2024-02-07 19:16:32 +00:00
Abhishek Kekane d251d12d71 Make centralized_db driver as default cache driver
Making newly introduced `centralized_db` driver as default cache
driver for glance so that it can be tested in available CI jobs.

New cache driver `centralized_db` needs `worker_self_reference_url`
in glance-api.conf file otherwise glance api service will fail to
start.

Related blueprint centralized-cache-db
Depends-On: https://review.opendev.org/c/openstack/glance/+/899871

Change-Id: I75267988b1c80ac9daa5843ce8462bbac49ffe27
2024-01-31 21:37:20 +00:00
Takashi Kajinami b485549efc Uncap bashate
The bashate tool has been very stable for a while and we rarely expect
changes which may break existing scripts.

This removes the current capping to avoid updating the upper limit when
when a new release is created in bashate.

Change-Id: Iae94811aebf58b491d6b2b2773db88ac50fdd737
2024-01-29 11:42:32 +09:00
Sean Mooney 5c1736b782 fix zswap enable flag
zswap should only be enabled if ENABLE_ZSWAP is true.
The if condition was checking ENABLE_KSMTUNED.
That is now fixed.

Change-Id: I76ba139de69fb1710bcb96cc9f638260463e2032
2024-01-24 10:53:12 +00:00
Zuul 031732998a Merge "add support for zswap and ksmtuned" 2024-01-24 00:21:17 +00:00
Sean Mooney 224fe1b09a add support for zswap and ksmtuned
This change add a new lib/host-mem file and moves the existing
ksm support to a new configure_ksm function.
Additional support for ksmtuned is added with a new flag
"ENABLE_KSMTUNED" which defaults to true.

This change also adds support for zswap. zswap is disabled
by default. When enabled on ubuntu lz4 will
be used as the default compressor and z3fold as the zpool.
On non debian distros the compressor and zpool are not set.
The default values should result in very low overhead although
the zstd compressor may provide better overall performance in ci
or with slow io due to the higher compression ratio.

Additionally memory and network sysctl tunings are optionally applied
to defer writes, prefer swapping and optimise tcp connection
startup and keepalive. The sysctl tunings are disabled by default
The base devstack job has been modifed to enable zram and sysctl
tuning.

Both ksm and zswap are wrapped by a tune_host function
which is now called very early in devstack to ensure
they are configured before any memory/network intensive
operations are executed.

The ci jobs do not enable this functionality by default.
To use this functionaltiy define

        ENABLE_SYSCTL_MEM_TUNING: true
        ENABLE_SYSCTL_NET_TUNING: true
        ENABLE_ZSWAP: true

in the devstack_localrc section of the job vars.

Change-Id: Ia5202d5a9903492a4c18b50ea8d12bd91cc9f135
2024-01-16 19:51:00 +00:00
Rodolfo Alonso Hernandez 6091df25a3 [OVN] Add support for the Neutron OVN agent service
The Neutron OVN agent is a service that could run in any node. The
functionality will depend on the extensions configured. This new
agent is meant to be the replacement for the Neutron OVN metadata
agent once the "metadata" extension is implemented in this service
[1].

[1]https://review.opendev.org/c/openstack/neutron/+/898238

Related-Bug: #2017871
Change-Id: I8f82f0047e89aac122a67f59db84f03e1a6bf519
2024-01-15 09:23:58 +00:00
Fabian Wiesel a2da805f81 Fixup of 'Fix spelling of ADITIONAL_VENV_PACKAGES'
Introduced a dangling } in the environment variable.
This removes it.

Change-Id: If9413dc1751399e5b9c9a0094772394252e5a81c
2024-01-08 10:18:35 +01:00
Zuul a88b17177d Merge "Fix spelling of ADITIONAL_VENV_PACKAGES" 2024-01-03 19:03:37 +00:00
OpenStack Proposal Bot 7699ce2d5c Updated from generate-devstack-plugins-list
Change-Id: Ie5cbd87269a10d6abdf1d24f7e6224d9aac3bf5d
2023-12-25 03:14:20 +00:00
Fabian Wiesel 6fc0e74aa7 Fix spelling of ADITIONAL_VENV_PACKAGES
This preserved `ADITIONAL_VENV_PACKAGES` as an input for backwards
compatiblity, but takes `ADDITIONAL_VENV_PACKAGES` with priority.

Fixes spelling in comment.

Related-Bug: #2046936
Change-Id: I84151d8f71b12da134e8fb9dbf3ae30f2a171fe2
2023-12-19 13:48:57 +01:00
Rajat Dhasmana 5e98509eaa Increase timeout for reimage operation
Looking at the recent failures in the tempest-integrated-compute
job, the reimage operation seems to be taking longer than our
expected time of 60 seconds (which was increased because of a similar
failure in the past, default is 20 seconds).
The main culprit for this failure is the image conversion from qcow2
to raw which is taking ~159 seconds.

Dec 05 13:29:59.709129 np0035951188 cinder-volume[77000]: DEBUG oslo_concurrency.processutils [req-5113eccb-05ba-486a-8130-a58898c8ad35 req-0edf972a-109a-465f-a771-ceb87ecbda3e tempest-ServerActionsV293TestJSON-1780705112 None] CMD "sudo cinder-rootwrap /etc/cinder/rootwrap.conf qemu-img convert -O raw -t none -f qcow2 /opt/stack/data/cinder/conversion/image_download_dbe01f18-1c90-4536-a09a-b49f0811c7a0_copod3cm /dev/mapper/stack--volumes--lvmdriver--1-volume--073a98e8--3c89--4734--9ae5--59af25f8914a" returned: 0 in 159.272s {{(pid=77000) execute /opt/stack/data/venv/lib/python3.10/site-packages/oslo_concurrency/processutils.py:422}}

The recent run took ~165 seconds on the cinder side but it failed
early since the nova operation timed out in 60 seconds hence
deleting the volume.
To be on the safer side, 180 seconds seems to be a sane time for
the operation to complete which this patch configures.

Closes-Bug: 2046252
Change-Id: I8a9628216038f6d363cab5dd8177274c9cfc17c2
2023-12-12 12:55:30 +00:00
Yadnesh Kulkarni 6b0f055b4e Make multiple attempts to download image
Downloading an image can fail due to network issues, so let's
retry 5 times before giving up. We have seen issues in CI due
to network issues as described below and in the Related-Bug:-

Often times fetching Fedora image in FIPS jobs fails due to
"GnuTLS: One of the involved algorithms has insufficient security level."

This occurs when request to pull image is redirected to a mirror that's
incompatible with FIPS enabled system.

Making multiple attempts to download images could provide better chance of
pulling images from different mirrors and avoid failure of the job.
This will also save a few rechecks.

Related-Bug: #2045725
Change-Id: I7163aea4d121cb27620e4f2a083a543abfc286bf
2023-12-08 17:32:34 +05:30
Stephen Finucane d126330efe lib/apache: Rename variable
This is a little more meaningful, IMO.

Change-Id: Ib9d3fdc54b1cdbd822c2a4eca0a3310ca3f6324c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2023-12-06 09:58:18 +00:00
Eric Harney 2e14add0fd Add cinder-manage to /usr/local/bin/
This is useful in a dev environment.

Change-Id: I247eb4aea23a906d0e667ec6c5ac79f932bdca24
2023-11-29 09:22:10 -05:00
Abhishek Kekane 2211c778db Allow devstack to set cache driver for glance
Added new devstack variable `GLANCE_CACHE_DRIVER` default
to `sqlite` to set the cache driver for glance service.

Related blueprint centralized-cache-db

Change-Id: I76d064590356e2d65bfc6a3f57d1bdaeeb83a74a
2023-11-22 06:25:48 +00:00
elajkat bb0c273697 Option for SQLAlchemy and alembic git source
Change-Id: If7ff0075834a1e9cee01713676166e56b797debd
Closes-Bug: #2042941
2023-11-16 19:49:29 +05:30
Zuul 9a55a925c4 Merge "Revert "Enable keystone token caching by OSC"" 2023-11-15 19:41:16 +00:00
yatin 82c30cd82e Revert "Enable keystone token caching by OSC"
This reverts commit 67630d4c52.

Reason for revert: Seeing random failures across jobs as sometimes
'keyring_pass.cfg' gets duplicated keys and that makes executions
of any openstackclient command to fail until the file is removed.
This should be handled before re enabling the token caching again.

Change-Id: I3d2fe53a2e7552ac6304c30aa2fe5be33d77df53
Related-Bug: #2042943
2023-11-15 12:44:50 +00:00
Dr. Jens Harbott e7c12616e2 Add periodic-weekly pipeline with platform jobs
Originally we only had the openeuler jobs there, but the other platforms
could also do with some regular testing.

Change-Id: I93526a4c592d85acd4debf72eb59e306ab8e6382
2023-11-14 16:32:17 +01:00
Zuul 57d3b21dd9 Merge "ignore dbcounter sub dirs" 2023-11-12 19:49:24 +00:00
tzing 0f402b8327 Fix openEuler support
openEuler 22.03 LTS support was removed from devstack in last
few months due to its libvirt version is too old and the CI job
always fail.

This Patch add a yum repository for libvirt7.2.0, and add the
related CI job to make sure its works well.

Change-Id: Ic507f165cfa117451283360854c4776a968bbb10
2023-11-07 06:14:58 +00:00
Zuul 3ffcc89d5d Merge "Enable keystone token caching by OSC" 2023-10-30 20:28:18 +00:00
Sean Mooney 5123700ea6 ignore dbcounter sub dirs
currently id you run devstack with the dbcounter service enabled
the created subdirs show up in git status

this change justs add them to .gitgnore

Change-Id: Iee48eb4e12ac22734c8a2c1dcbe0b92a0a387eaa
2023-10-27 02:38:19 +01:00
Artem Goncharov 67630d4c52 Enable keystone token caching by OSC
SDK uses python keyring library to enable token caching. Normally this
is requiring a proper desktop (interactive) session, but there are some
backend plugins working in non-interactive mode. Store cache in an
unencrypted file on FS (this is not worse than storing passwords in
plaintext).

Change-Id: I42d698f15db5918443073fff8f27b926126d1d0f
2023-10-26 11:07:30 +02:00
Ghanshyam Mann bacb840094 Enable NEUTRON_ENFORCE_SCOPE to True by default
Neutron bobcat release has enabled the RBAC new defaults
by default. With the latest release of Neutron have new
defaults enable, we should configure the same by default in
devstack. This change make NEUTRON_ENFORCE_SCOPE flag to
True by default so that every job will run with Neutron
new defaults.

As old defaults are still supported (in deprecated way),
we will keep this flag so that we can have one job disable
it and test the old defaults.

Change-Id: I3361d33885b2e3af7cad0141f9b799b2723ee8a1
2023-10-25 12:52:28 -07:00
Dr. Jens Harbott 29e73a2155 Enable performance collection on Debian
Change-Id: I84f1432262138cc9ff0942e1a2b2abe7447afe34
2023-10-24 06:18:22 +02:00
Dan Smith cace404431 Fix performance stats gathering for global VENV
Change-Id: I113c571ffddb241b29b1394e181ed0145b3c1e04
2023-10-23 11:21:24 -07:00
Zuul 5613db3caa Merge "Add support volume backup_driver config option" 2023-10-19 13:35:48 +00:00
Zuul 99919cbbd8 Merge "Horizon: Install pymemcached" 2023-10-18 06:26:49 +00:00
Zuul 4975fad23e Merge "Allow forcing nova compute_id" 2023-10-17 13:43:45 +00:00
Takashi Kajinami d2acd60870 Horizon: Install pymemcached
... so that we can use PyMemcacheCache backend. The MemcachedCache
backend, which has been used previously, has been removed in recent
Django, and we are switching the default backend in [1].

[1] https://review.opendev.org/c/openstack/horizon/+/891828

Change-Id: Ie1da8970628e34c41721198cdada8c7bb3b26ec0
2023-10-16 15:04:13 +09:00
OpenStack Proposal Bot eb9b08a883 Updated from generate-devstack-plugins-list
Change-Id: Ieecc17159ac36b65124598c36fc92b77c2a75399
2023-10-14 02:26:11 +00:00
Dan Smith 72cf4e6006 Allow forcing nova compute_id
Developers that need to stack and re-stack non-AIO compute-only
environments will want to be able to keep the compute node uuid the
same across runs. This mimics the behavior of a deployment tool that
pre-creates the uuids, so it matches pretty well. Default to the
current behavior of create-on-start, but allow forcing it ahead of
time to something specific.

Change-Id: Icab0b783e2233cad9a93c04758a5bccac0832203
2023-10-12 11:08:30 -07:00
Dr. Jens Harbott ca4d5132e6 zuul: Drop neutron-linuxbridge-tempest job
Neutron has deprecated linuxbridge support and is only doing reduced
testing for the neutron-linuxbridge-tempest job, so we need no longer
run it in devstack, even less gate on it.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Ie1a8f978efe7fc9b037cf6a6b70b67d539d76fd6
2023-10-10 09:22:16 +02:00
Lukas Piwowarski 8c25a85861 Add support volume backup_driver config option
The depends-on patch adds a new backup_driver option to tempest.
The goal of this change is to be able to do a proper cleanup of
containers when swift is used as a backup driver.

Thich change makes sure that the new option is properly set to
"swift" when Swift is used as the driver.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/896011/13
Change-Id: I76e7fd712ee352051f8aa2f2912a29abad9ad017
2023-10-05 15:28:12 +00:00
Zuul 68ca13311d Merge "Update DEVSTACK_SERIES to 2024.1" 2023-10-04 11:58:11 +00:00
Zuul 9e41895dea Merge "CI: Make bookworm platform job voting" 2023-10-03 10:43:20 +00:00
Ghanshyam Mann 3d37d13ee7 Update DEVSTACK_SERIES to 2024.1
stable/2023.2 branch has been created now and
current master is for 2024.1

Change-Id: I67eee1ba721a1ad99b3503312acc2f94a52c5552
2023-09-28 11:36:07 -07:00
Zuul f871476c22 Merge "Use OS_CLOUD in sample local.sh" 2023-09-25 13:31:33 +00:00
Dan Smith 25cd7eb672 Fix g-api-r for non-global venv
This makes the glance-api-remote setup honor the GLOBAL_VENV flag,
and not pass the --venv stuff to uwsgi if it is disabled. This should
fix the glance-multistore-cinder-import-fips job.

Change-Id: I2005da5ced027d273e1f25f47b644fecafffc6c1
2023-09-21 09:54:49 -07:00
Jake Yip 5441b3df6e Use OS_CLOUD in sample local.sh
local.sh, if present, will be executed at the end of stack.sh. The
sample file here is meant to be copied to devstack root if desired.

Unfortunately, due to Change I86ffa9cd52454f1c1c72d29b3a0e0caa3e44b829
changing to use OS_CLOUD in stack.sh, sourcing openrc here will cause
both OS_CLOUD and traditional OS_* env vars to be set, which causes a
conflict.

Change-Id: Id80b46acab7d600ad7394ab5bc1984304825a672
2023-09-20 11:32:33 +00:00
Dr. Jens Harbott f73d312783 CI: Make bookworm platform job voting
It has been very stable for some time and it is going to be a major
platform for the next cycle.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Id2df9514b41eda0798179157282a8486b1e9ae23
2023-09-20 07:04:37 +02:00
OpenStack Proposal Bot d3953db766 Updated from generate-devstack-plugins-list
Change-Id: I18a47f5d604bbb83173151fb0b129deee2fcbe62
2023-09-19 02:15:19 +00:00
Zuul 129d0964a8 Merge "Remove openeuler job from periodic and check queue" 2023-09-12 21:45:50 +00:00
Zuul 0c9dbbbe11 Merge "Allow others to override NOVA_SERVICE_REPORT_INTERVAL" 2023-09-12 17:07:55 +00:00
Martin Kopec 290a02d1f8 Remove openeuler job from periodic and check queue
The openeuler job running version 22.03 fails due to old libvirt.
Nova requires version 7.0.0 or greater.

Related-Bug: #2035224
Change-Id: I4ad6151c3d8555de059c9228253d287aecf9f953
2023-09-12 17:32:03 +02:00
Zuul 428cb8a0a9 Merge "[nova][ironic] Support configuring 1 shard on n-cpu" 2023-09-12 11:37:19 +00:00
Zuul af8750c82a Merge "Remove wget + rpm workaround to manage repos install in CentOS" 2023-09-12 09:38:36 +00:00
Zuul e6ac2b6983 Merge "Add OVN_BRIDGE_MAPPINGS - support extra bridge" 2023-09-12 09:38:33 +00:00
Jay Faulkner e1297193dc [nova][ironic] Support configuring 1 shard on n-cpu
Allows for testing of basic sharding configuration.

Change-Id: Idfb2bd1822898d95af8643d69d97d9a76b4d64cc
Needed-By: https://review.opendev.org/c/openstack/ironic/+/894460
2023-09-11 17:44:09 +00:00
Zuul d51a6b9a11 Merge "Fix $LOGDIR owner to be stack.stack" 2023-09-05 16:50:32 +00:00
Lucas Alvares Gomes a389128dba OVN: Let ironic manage the OVN startup in it's case.
In order for Ironic perform full testing with devstack, it uses
virtual machines attached to a ovs bridge network to simulate
bare metal machines. This worked great for OVS because often
OVS was already running on the nodes due to the package, and
we could just apply configuration and be done with it when
Ironic's devstack plugin was applying initial configuration and
setting up the test environment.

With OVN, and the requirement of a specific co-installed OVS
version, Ironic has discovered that we cannot perform this same
configuration without having already started OVN during the
initial system setup. Which is fine, but we can't initialize
and start OVN twice. It just doesn't work.

The original form of this patch was proposed by lucasgnomes
in order to validate that we, did, indeed, need to do this
to enable Ironic to successfully test an OVN based
configuration, and is now being revised to handle that case
automatically when Ironic is the selected virt plugin.

Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Change-Id: Ifbfdaaa97fdbe75ede49dc47235e92a8035d1de6
2023-09-04 13:38:23 +00:00
Harald Jensås 16ac21f0da Add OVN_BRIDGE_MAPPINGS - support extra bridge
Add's the OVN_BRIDGE_MAPPINGS variable to ovn_agent.
Uses the same format as OVS_BRIDGE_MAPPINGS, it defaults
to "$PYSICAL_NETWORK:$PUBLIC_BRIDGE".

This enables use of providernet for public network and
setting up additional bridges, for example a for baremetal.

Example:
  Q_USE_PROVIDER_NETWORKING="True"
  OVS_PHYSICAL_BRIDGE="brbm"
  PHYSICAL_NETWORK="mynetwork"
  PUBLIC_PHYSICAL_NETWORK="public"
  PUBLIC_BRIDGE="br-ex"
  OVN_BRIDGE_MAPPINGS="public:br-ex,mynetwork:brbm"

Change-Id: I37317251bbe95d64de06d6232c2d472a98c0ee4d
2023-09-04 13:45:23 +02:00
Dr. Jens Harbott 427a4e1a9b Drop focal platform job and support
This was dropped in tempest, too[0], and we want to focus on getting and
keeping the jammy job stable.

Still retaining the nodeset definitions until we are sure they are not
needed in other projects.

[0] https://review.opendev.org/c/openstack/tempest/+/884952

Change-Id: Iafb5a939a650b763935d8b7ce7069ac4c6d9a95b
2023-09-03 12:07:41 -07:00
yatinkarel ffc1b76f64 [neutron] Rely on PATH env set by devstack
This was missed as part of [1], neutron sets
exec_dirs in rootwrap.conf differently so that
also needs to be fixed.

Without it neutron openvswitch jobs relying on
neutron-keepalived-state-change scripts were
failing when deployed with GLOBAL_VENV=True as
binaries no longer found at /usr/local/bin.

[1] https://review.opendev.org/c/openstack/devstack/+/558930

Closes-Bug: #2031415
Change-Id: I9aa56bff02594f253381ffe47a70949079f4c240
2023-08-28 11:01:07 +05:30
Zuul e2bd271790 Merge "Fix configuration of LVM global_filter" 2023-08-24 19:57:23 +00:00
Zuul 2342fcabd7 Merge "Fix glance-remote with global venv" 2023-08-24 03:41:31 +00:00
melanie witt ef53db76d0 Fix configuration of LVM global_filter
As far as I could tell, the global_filter config added in change
I5d5c48e188cbb9b4208096736807f082bce524e8 wasn't actually making it
into the lvm.conf. Given the volume (or rather LVM volume) related
issues we've been seeing in the gate recently, we can give this a try
to see if the global_filter setting has any positive effect.

This also adds the contents of /etc/lvm/* to the logs collected by the
jobs, so that we can see the LVM config.

Change-Id: I2b39acd352669231d16b5cb2e151f290648355c0
2023-08-24 03:28:31 +00:00
Dan Smith 5a51aa524c Fix glance-remote with global venv
The base systemd unit file setup now writes an Environment= line to
the file for the venv. The glance-remote code was setting that to
point at the alternate config location, using iniset which was
clobbering the venv one. Switch to iniadd to fix.

Also, we need to explicitly put the --venv flag into the command since
we write our unit file ourselves. This probably needs a cleanup at
this point, but since the glance gate is blocked, do this for now.

Change-Id: I2bd33de45c41b18ed7d4270a7301b1e322134987
2023-08-23 14:41:39 -07:00
Zuul 640c318f38 Merge "Set GLOBAL_VENV to false for centos and rocky" 2023-08-23 19:42:43 +00:00
Martin Kopec 7cd3a8eebe Set GLOBAL_VENV to false for centos and rocky
As a temporary workaround, let's set the GLOBAL_VENV to false
specifically for centos 9 stream and rocky distros where we
encountered issues after changing the default value
of GLOBAL_VENV to True in Devstack:
https://review.opendev.org/c/openstack/devstack/+/558930

Related-Bug: #2031639
Change-Id: I708b5a81c32b0bd650dcd63a51e16346863a6fc0
2023-08-23 17:39:34 +02:00
Zuul 21eac99e4e Merge "Update etcd version to 3.4.27" 2023-08-23 00:42:11 +00:00
Jan Gutter 3a7a3cd8c5 Update etcd version to 3.4.27
* etcd 3.3 is no longer maintained.
* etcd 3.4 removes deprecated interfaces, and clients may
  need updated configs.
* The cinder backend coordination URL needs to explicitly
  specify the version, until tooz can be updated
  https://review.opendev.org/c/openstack/tooz/+/891355
* etcd only supports in-place upgrades between minor
  versions, so any jobs testing upgrades could fail if
  they skip from 3.2 directly to 3.4

Change-Id: Ifcecdffa17a3a2b1075aa503978c44545c4a2a3c
2023-08-22 16:34:03 +01:00
Zuul bd472fd53d Merge "Revert "Woraround systemd issue on CentOS 9-stream"" 2023-08-22 07:00:11 +00:00
yatin 7c4a955c52 Revert "Woraround systemd issue on CentOS 9-stream"
This reverts commit 113689ee46.

Reason for revert: systemd-252-17.el9 which includes the fix is now available in CentOS 9-stream repos.

Change-Id: I6fe19838a75a30fd5d2434c03b7f403f1c7e4b50
2023-08-21 06:28:30 +00:00
Artom Lifshitz 220004fb5c Allow others to override NOVA_SERVICE_REPORT_INTERVAL
While the patch where this was first introduced and set to 120 [1] is
sensible for the vast majority of jobs, it's conceivable that some
jobs might want a different value.

Specifically, the whitebox-tempest-plugin changes configurations and
restarts Nova services, and to do so it waits for the service status
to update in the API before continuing with the tests. With the report
interval set to 120 and the down time threshold set to 720, the
service would continue showing 'up' in the API long after it was
actually down, causing the wait to time out.

Whitebox is a low-traffic project with only a couple of devstack jobs
that run tempest tests sequentially (concurrency=1). Its CI is also
pretty stable. It seems legitimate for it to keep the old default
values of report_interval and service_down_time.

This patch keeps the 120 default for NOVA_SERVICE_REPORT_INTERVAL, but
makes it configurable by individual jobs. Since the original patch
also introduced CINDER_SERVICE_REPORT_INTERVAL as a constant, make
that configurable as well.

[1] https://review.opendev.org/c/openstack/devstack/+/890439

Needed-by: https://review.opendev.org/c/openstack/whitebox-tempest-plugin/+/891612
Change-Id: I64fa2059537ea072a38fb4900d3c7d2d8f0ce429
2023-08-16 14:32:12 -04:00
Ghanshyam 08b434e5b0 Revert "GLOBAL_VENV: add nova to linked binaries"
This reverts commit 26b5eddeaa.

Reason for revert: nova changed to use osc

- https://review.opendev.org/c/openstack/nova/+/891247/2

Resolving conflict due to
- https://review.opendev.org/c/openstack/devstack/+/891248

Change-Id: I69e179a90a241946b3f426a41c38ae72a66ba6dc
2023-08-14 12:42:49 -07:00
Dr. Jens Harbott 4c45bec6eb GLOBAL_VENV: add more binaries
glance and rally binaries are also needed.

Also make sure the cinder-rtstool is only called when cinder is actually
enabled.

Change-Id: I18113eabf2fa83e36bace276883775303f6a1e9a
2023-08-12 11:35:08 +02:00
Zuul af9e67c050 Merge "GLOBAL_VENV: add nova to linked binaries" 2023-08-12 05:32:31 +00:00
Zuul cd486f13aa Merge "Add debian-bookworm job" 2023-08-11 21:46:42 +00:00
Dr. Jens Harbott 26b5eddeaa GLOBAL_VENV: add nova to linked binaries
This is being used in some nova jobs, so we need to add it. Also order
the list of linked binaries to allow easier maintenance.

Change-Id: Ief012f7842d6e14380c9575740d1856bc1f2355e
2023-08-11 21:51:05 +02:00
Zuul c1d1954e91 Merge "Add option to install everything in global venvs" 2023-08-11 18:04:15 +00:00
Zuul d7ab61747a Merge "Disable waiting forever for connpool workers" 2023-08-09 03:06:35 +00:00
Brian Haley 4363b0bd84 Fix $LOGDIR owner to be stack.stack
I have seen this failure in the gate a few times:

[ERROR] /opt/stack/devstack/functions-common:2334 Neutron did not start
/opt/stack/devstack/functions-common: line 310:
  /opt/stack/logs/error.log: Permission denied

So whatever was trying to be written to error.log never
happened. Change to be like other directories in this
file and make the $LOGDIR owner stack.stack.

Change-Id: I673011aba10c8d03234100503ccc5876e75baff2
2023-08-08 08:38:00 -04:00
Zuul 3e0a118d17 Merge "Add SERVICE_REPORT_INTERVAL knob" 2023-08-08 05:05:39 +00:00
Alfredo Moralejo 0da88c4af0 Remove wget + rpm workaround to manage repos install in CentOS
RDO has moved rdo-release packages to a new infra which supports EMS so
we do not need to wget it and install it using local rpm install.

This partially reverts [1].

[1] https://review.opendev.org/c/openstack/devstack/+/884277/

Change-Id: I189d0c3da0e7b017e2568022c14e6c8fb28251f1
2023-08-07 14:16:12 +02:00
Zuul b4e934c9fa Merge "Woraround systemd issue on CentOS 9-stream" 2023-08-05 11:37:11 +00:00
Dan Smith c3b0b9034e Disable waiting forever for connpool workers
This will cause apache to no longer wait forever for a connection
pool member to become available before returning 503 to the client.
This may help us determine if some of the timeouts we see when
talking to the services come from an overloaded apache.

Change-Id: Ibc19fc9a53e2330f9aca45f5a10a59c576cb22e6
2023-08-04 07:16:27 -07:00
Dan Smith 3832ff52b4 Add SERVICE_REPORT_INTERVAL knob
Heavily-loaded workers in CI consistently fail to complete the
service checkin task, which is configured for every ten seconds in
nova and cinder. This generates additional load on the database server
as well as consumes a threadpool worker. If we're not making the
deadline, there's really no point in having it be so high. Further,
since the workers must remain up for all the tempest tests we're
running against them, there's really no benefit to a fast-fail
detection.

This sets the report_interval to 120s for nova and cinder, and sets
service_down_time to 6x that value, which is consistent with the
default scale.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/890448
Change-Id: Idd7aa1daf354256b143a3778f161cfc72b318ea5
2023-08-03 12:20:05 -07:00
yatinkarel 113689ee46 Woraround systemd issue on CentOS 9-stream
systemd-252-16.el9 introduced a regression
where libvirtd process exits after 120s of
inactivity.
Add a workaround to unset 120s timeout for
libvirtd, the workaround can be removed once
the fix is available in systemd rpm.

Related-Bug: #2029335
Change-Id: Id6db6c17518b54d5fef7c381c509066a569aff6d
2023-08-02 13:13:07 +05:30
Dr. Jens Harbott 0b79f6f769 Add debian-bookworm job
Change-Id: Id5e54775e2be38a75db0bd1f55d1d3b5ae7ef71f
2023-08-02 05:11:03 +00:00
Clark Boylan a40f9cb91f Add option to install everything in global venvs
Since we are python3 only for openstack we create a single python3
virtualenv to install all the packages into. This gives us the benefits
of installing into a virtualenv while still ensuring coinstallability.
This is a major change and will likely break many things.

There are several reasons for this. The change that started this effort
was pip stopped uninstalling packages which used distutils to generate
their package installation. Many distro packages do this which meant
that pip installed packages and distro packages could not coexist in the
global install space. More recently git has made pip installing repos as
root more difficult due to file ownership concerns.

Currently the switch to the global venv is optional, but if we go down
this path we should very quickly remove the old global installation
method as it has only caused us problems.

Major hurdles we have to get over are convincing rootwrap to trust
binaries in the virtualenvs (so you'll notice we update rootwrap
configs).

Some distros still have issues, keep them using the old setup for now.

Depends-On: https://review.opendev.org/c/openstack/grenade/+/880266
Co-Authored-By: Dr. Jens Harbott <frickler@offenerstapel.de>
Change-Id: If9bc7ba45522189d03f19b86cb681bb150ee2f25
2023-08-02 07:07:25 +02:00
Dr. Jens Harbott 7a2021dfa0 Add rocky job to gate
It was made voting some time ago, but we missed also running it in gate.

With that RHEL platform test in place, we can keep c9s permanently
non-voting, which is better suited to match its instability.

Change-Id: I6712ac6dc64e4fe2203b2a5f6a381f6d2150ba0f
2023-08-02 07:01:49 +02:00
Zuul 9dba09975d Merge "Drop Fedora support" 2023-08-01 17:49:48 +00:00
Dan Smith d115bfd72a Reduce the flush frequency of dbcounter plugin
This relaxes the limits for dbcounter to make it flush stats to the
database less often. Currently every thirty seconds or 100 hits, we
write a stats line to the database. In some services (like keystone)
this can trigger more than one write per second because of the
massive number of SELECT calls that service makes.

This removes the hit limit and decreases the mandatory flush interval
to once a minute. Hopefully this will manifest as lower load on the
database triggered by what would be readonly operations.

Change-Id: I43a58532c0541075a2d36408abc50a41f7994bda
2023-07-31 07:20:12 -07:00
Zuul 280feb0861 Merge "git: git checkout for a commit hash combinated with depth argument" 2023-07-31 11:29:32 +00:00
Zuul b314d07e34 Merge "Fix reboot on fedora like nodes" 2023-07-25 16:18:54 +00:00
Zuul 61cd302439 Merge "Remove unused file" 2023-07-25 14:45:38 +00:00
Zuul b52dceee7b Merge "Switch TLS tests to TLSv1.2+ only" 2023-07-21 16:37:18 +00:00
Zuul 9845128969 Merge "Support RHEL 9" 2023-07-21 12:35:17 +00:00
jskunda 770352beb0 git: git checkout for a commit hash combinated with depth argument
This patch: https://review.opendev.org/c/openstack/devstack/+/882299
provides functionality, that commit hash can be passed as last arugment,
however when GIT_DEPTH is set, it fails, as in:

timeout -s SIGINT 0 git clone https://github.com/ovn-org/ovn.git ./ovn
--depth 1 --branch 03b95a4566a15f7544f4cdf35629dacede4dcf55
fatal: Remote branch 03b95a4566a15f7544f4cdf35629dacede4dcf55
not found in upstream origin

Closes-Bug: #2023020
Change-Id: I748354964a133e028e12458cc9014d6d014cbdb9
2023-07-20 10:21:41 +02:00
Brian Haley e261bd809e Always set image_uuid_alt in configure_tempest()
When there is only a single image, configure_tempest()
needs to always set image_uuid_alt the same as image_uuid,
else it will fail trying to determine the size of the
flavor to use for it later in the function.

Introduced by [0], and subsequent change did not fix it.

[0] https://review.opendev.org/c/openstack/devstack/+/886795

Change-Id: Ibfe99ff732570dbd415772c5625f43e35b68c871
Related-bug: #2028123
2023-07-19 16:04:12 -04:00
yatinkarel 931b45defd Handle more than 1 image while configuring tempest
[1] caused a regression causing failures when
more than 1 images are setup. Fixing it by correctly
using the array variable. Also add a break in the
for loop once if condition is met.

[1] https://review.opendev.org/c/openstack/devstack/+/886795

Closes-Bug: #2028123
Change-Id: I4f13c1239312bbcca8c65e875d65d03702161c18
2023-07-19 12:28:39 +05:30
Zuul 16b34a92ae Merge "Set two different image in tempest irespective of DEFAULT_IMAGE_NAME" 2023-07-18 18:25:27 +00:00
Zuul b368c9fb5e Merge "The AZ filter is deprecated and planned for removal this cycle" 2023-07-17 15:16:38 +00:00
Zuul 92f62fe184 Merge "Add 10 second buffer for uwsgi service stop" 2023-07-06 11:14:43 +00:00
Dan Smith 58c80b2424 nova: Bump timeout-per-gb for BFV rebuild ops
This increases the timeout we use to wait for cinder to perform a
volume reimage. Since devstack is often running on a single machine
with non-production IO performance, we should bump this limit to avoid
hitting it before the rebuild completes.

Change-Id: Ie2663b951acb0c1a65597a39e032948764e6ae6a
2023-06-28 14:13:22 -07:00
Ghanshyam Mann e32715b251 Set two different image in tempest irespective of DEFAULT_IMAGE_NAME
In current logic to set two different image in Tempest in config
option image_ref and image_ref_alt, we consider if DEFAULT_IMAGE_NAME
is found in glance then set the same image in tempest for those
two config option. This means even we have two different image available
in glance, still we set same image in image_ref as well as image_ref_alt
and all the rebuild tests are rebuilt on the same image.

I could not find any reason why we set same image if DEFAULT_IMAGE_NAME
exist, below are the original change added this logic
- https://review.opendev.org/c/openstack/devstack/+/17553

We had a requirement of test to run on two different images
- https://review.opendev.org/c/openstack/tempest/+/831018

and for that we need to set DEFAULT_IMAGE_NAME to non exist image
name but that broke the Ironic which was reply on the valid name
in DEFAULT_IMAGE_NAME
- https://review.opendev.org/c/openstack/ironic/+/886790

As we do not have any reason not to set two different image
if DEFAULT_IMAGE_NAME is set, I am removing the condition of
DEFAULT_IMAGE_NAME from lib/tempest logic and always set two
different images if they are available.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/886796

Change-Id: I9d215f48d4440f2fa6dcc0d222a10896caf01215
2023-06-27 13:43:47 -05:00
OpenStack Proposal Bot 27568ea334 Updated from generate-devstack-plugins-list
Change-Id: I6fd6a718ce39d849342b30970ca39477ce285374
2023-06-27 02:19:53 +00:00
Dr. Jens Harbott 4a1b2808af Remove unused file
This was forgotten in [0]

[0] I20501fec140998b91c9ddfd84b7b10168624430a

Change-Id: Iacd86e3953f573a0fc38dc4898aafefccb3a9a79
2023-06-26 12:23:58 +02:00
Sean Mooney ad029c0e8b The AZ filter is deprecated and planned for removal this cycle
To facilitate that this change removes it form the default filter
list. By default nova has used placement for AZs so this filter
has not been requried since xena.

Change-Id: Ie5e216dd8c2a7ecf43cc6954ec4f73d4d67b5b3b
2023-06-26 11:00:24 +01:00
yatinkarel 7288df34f8 Add 10 second buffer for uwsgi service stop
Default for systemd TimeoutStopSec is 90 seconds
and that is same for default graceful shutdown of
uwsgi service(WORKER_TIMEOUT).

Due to the Related-Bug graceful stop attempt
fails and there is no room for force shutdown.
This patch reduces default for WORKER_TIMEOUT by
10 seconds so there is a buffer to force stop the
service.

Closes-Bug: #2020643
Related-Bug: #2015065
Change-Id: I6aacac94f9697088338b3d2f99d8eaa22c2be67b
2023-06-21 18:14:27 +05:30
Dr. Jens Harbott 39228451b6 Bump default cirros version to 0.6.2
Cirros has made a new release, including a newer kernel that should fix
some issues when using nested virtualization.

Related-Bug: 2023559
Change-Id: I63469371b13801094a3ee1baae6e343999fbefa5
2023-06-15 10:46:51 +02:00
Zuul c152a409dd Merge "Remove usage of neutron-debug since it has been removed" 2023-06-12 17:20:11 +00:00
Zuul 9d9f15725f Merge "Install systemd-coredump on Debian-based distros" 2023-06-12 16:52:00 +00:00
OpenStack Proposal Bot f1c5442bec Updated from generate-devstack-plugins-list
Change-Id: Icc3aa69d7bbfa217676402682454cd4b37fb6c29
2023-06-10 03:07:59 +00:00
Dr. Jens Harbott fbc1865dc4 Drop Fedora support
Fedora 36 is EOL, also opendev is dropping support for Fedora images
completely since interest in running jobs on that platform is no longer
existing. CentOS 9 Stream has evolved as replacement platform for new
features.

Only drop the Zuul configuration and the tag in stack.sh for now plus
update some docs. Cleanup of the deployment code will be done in a
second step.

Change-Id: Ica483fde27346e3939b5fc0d7e0a6dfeae0e8d1e
2023-06-07 15:19:37 +02:00
Brian Haley a13201646d Install systemd-coredump on Debian-based distros
On Debian-based distros, the 'coredumpctl' command is
provided by the systemd-coredump package, which is not
installed by default. On failure, when "post" commands
are executed this error is seen:

  controller | /bin/bash: line 1: coredumpctl: command not found

Install it along with other libvirt packages to avoid
the error.

On Fedora distros it is in the systemd package, so the
problem is not seen since it is always installed.

Change-Id: I6012bd3240d68736a5db8ae49dc32098a086f320
2023-05-30 13:31:05 -04:00
Zuul c424a7a299 Merge "Use RDO official CloudSIG mirrors for C9S deployments" 2023-05-29 13:14:36 +00:00
Alfredo Moralejo b2ad00cb66 Use RDO official CloudSIG mirrors for C9S deployments
Instead of using RDO Trunk repo server, CentOS official mirrors provide
a most reliable infrastructure and supports EMS which is required when
enabling FIPS in C9S.

In order to install the rdo-release rpm from repo.fedoraproject.org,
which does not support EMS, I'm using a workaround to wget, which works
with non-EMS servers because it uses gnutls instead of openssl, and
install it locally with rpm.

This is also consistent to CentOS 8 implementatioin.

Closes-Bug: #2020661
Closes-Bug: #2020434
Change-Id: Icd99f467d47aaafaaf3ee8f2a3c4da08842cb672
2023-05-26 14:22:20 +02:00
Martin Kopec a37b6abc8e Resolve distutils deprecation warning
The distutils package is deprecated and slated for removal in
Python 3.12. Let's use shutil.which which is also recomended
by PEP 632: https://peps.python.org/pep-0632/#migration-advice

Closes-Bug: #2009229
Change-Id: Ibb2a9731449e765c4a56952a9f02679e9618778b
2023-05-26 13:46:42 +02:00
Zuul cc49f4debb Merge "Enable GLANCE_ENFORCE_SCOPE to True by default" 2023-05-25 01:29:42 +00:00
Zuul dfd7aeaf6c Merge "Enable NOVA_ENFORCE_SCOPE to True by default" 2023-05-24 02:23:03 +00:00
Zuul 14152d27b0 Merge "Revert "Revert "Bump cirros version to 0.6.1""" 2023-05-23 16:08:54 +00:00
Zuul d0e0900ed9 Merge "Default MYSQL_REDUCE_MEMORY=True" 2023-05-22 22:28:40 +00:00
Zuul 5d77dcc7ff Merge "Set dhcp_client based on cirros version" 2023-05-22 19:49:25 +00:00
Dan Smith 814e659e32 Default MYSQL_REDUCE_MEMORY=True
We have lots of evidence that this is a net benefit, so enable it
by default instead of everyone having to opt-in.

Change-Id: I66fa1799ff5177c3667630a89e15c072a8bf975a
2023-05-22 10:25:38 -07:00
Martin Kopec b5f4b1148a Revert "Revert "Bump cirros version to 0.6.1""
This reverts commit 37d11d00e5.

Reason for revert: reverting this revert as the issue caused by the original patch (before the first revert) is fixed by:
https://review.opendev.org/c/openstack/devstack/+/881504

Therefore we can proceed with the cirros version bump.

Change-Id: I43e2b04a0142c19fb1a79da5a33cc444149e18f1
2023-05-22 12:56:34 +00:00
Martin Kopec a294389403 Set dhcp_client based on cirros version
This change allows us to bump the default cirros version
in devstack. Since cirros version 0.6.0 dhcpcd is the default
dhcp client. The older cirros images used udhcpc client (the only
available client at that time) which is also the default client
in Tempest.
This patch makes devstack configure dhcpcd client in tempest.conf
if cirros >= 0.6.0 is going to be used in scenario tests.

The commit also introduces a new SCENARIO_IMAGE_TYPE option.
It is now a trigger for cirros specific settings, later it might
be used for any other image's settings.

Closes-Bug: #2007973
Change-Id: I2738c3b1d302c6656ce2c209671ea954fbc1b05b
2023-05-22 12:22:30 +02:00
Ghanshyam Mann cb1ec1834d Enable GLANCE_ENFORCE_SCOPE to True by default
Glance antelope release has enabled the RBAC new defaults
by default
- https://review.opendev.org/c/openstack/glance/+/872522

With the latest release of Glance have new defaults enable,
we should test the same by default in devstack. This change
make GLANCE_ENFORCE_SCOPE flag to True by default so that every
job will run with Glance new defaults.

As old defaults are still supported (in deprecated way), we will keep
GLANCE_ENFORCE_SCOPE flag so that we can have a single job can disable
the new defaults and continue testing the old defaults.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/883701

Change-Id: Idde6f3cb766597575ca822f21b4bb3a465e5e753
2023-05-19 19:24:25 +00:00
Ghanshyam Mann bfa43975bc Enable NOVA_ENFORCE_SCOPE to True by default
Nova antelope release has enabled the RBAC new defaults
by default
- https://review.opendev.org/c/openstack/nova/+/866218

With the latest release of Nova have new defaults enable,
we should test the same by default in devstack. This change
make NOVA_ENFORCE_SCOPE flag to True by default so that every
job will run with Nova new defaults.

As old defaults are still supported (in deprecated way), we will keep
NOVA_ENFORCE_SCOPE flag so that we can have a single job can disable
the new defaults and continue testing the old defaults.

Change-Id: Id56819f03c19a5b7fe30adf799ecd3b8aeb67695
2023-05-18 12:54:19 -05:00
Brian Haley 6764eab264 Remove usage of neutron-debug since it has been removed
The neutron-debug command was deprecated and finally removed,
so tools/ping_neutron.sh can no longer rely on it to create
a probe namespace. Instead, just try and use any namespace
with the network ID in it, since it's either the DHCP (ML2/OVS)
or Metadata (OVN) namespace, which should work just as well.

As this code is rarely (never?) used, this best-effort attempt
is good enough.

Change-Id: I98c992a2a774ef1fb22cee2e90ee342ab2d537ac
Depends-on: https://review.opendev.org/c/openstack/neutron/+/883081
2023-05-12 16:34:08 -04:00
Zuul 34afa91fc9 Merge "git: support git checkout for a commit hash" 2023-05-04 18:46:35 +00:00
Zuul d2e95a1126 Merge "Fix name for neutron tempest uwsgi job" 2023-04-26 19:23:16 +00:00
Zuul 2e607b0cbd Merge "Modify devstack-base to allow for fips" 2023-04-20 23:55:40 +00:00
Ihar Hrachyshka e8915786e1 git: support git checkout for a commit hash
git_clone assumes a branch or a tag is passed as the last argument, and
it fails when a commit hash is passed, as in:

timeout -s SIGINT 0 git clone https://github.com/ovn-org/ovn.git
/opt/stack/ovn --branch 36e3ab9b47e93af0599a818e9d6b2930e49473f0
Cloning into '/opt/stack/ovn'...
fatal: Remote branch 36e3ab9b47e93af0599a818e9d6b2930e49473f0 not found
in upstream origin

Change-Id: Id1328d7cba418fa7c227ae9db4fe83c09fd06035
2023-04-20 11:06:37 -04:00
Zuul b33ec4bf1b Merge "Remove support for opensuse" 2023-04-18 17:15:32 +00:00
yatinkarel 991a2794a3 Fix name for neutron tempest uwsgi job
This was renamed long back in [1].

[1] https://review.opendev.org/c/openstack/neutron/+/797051

Change-Id: If11e975fd890f55f99efc2c7d8122256ff831ad8
2023-04-17 11:17:37 +00:00
Ade Lee 15b2e42968 Modify devstack-base to allow for fips
devstack-base is changed to descend from
openstack-multinode-fips which is defined in
project-config.

This allows jobs to execute the enable_fips playbook
to enable FIPS mode on the node, but only if they
opt-in by setting enable_fips to True.  Otherwise,
this is a no-op.

Change-Id: I5631281662dbd18056ffba291290ed0978ab937e
2023-04-17 08:43:22 +00:00
yatinkarel 42517968ff [ovs] Reload ovs kernel module always
Irrespective of build_modules is True
or False reload ovs modules always.

If ovs is installed from package before(like
with multi-node-bridge role), then installing
ovs from source requires openvswitch kernel
module to be reloaded.

The issue was not seen before jammy as there
module was reloaded when build_modules was set
to True.

Closes-Bug: #2015364
Change-Id: I1785b49b2ef72ca1f817f504d5ea56021410c052
2023-04-14 20:01:36 +05:30
OpenStack Proposal Bot fa42b3ca7b Updated from generate-devstack-plugins-list
Change-Id: I84015f860155e5c8ec3bcf54353d91405a13e549
2023-04-14 02:16:59 +00:00
Sean Mooney 80c3ffe154 Fix reboot on fedora like nodes
This change enables httpd in systemd so that it
starts after a reboot and updates how selinux is
disabled to use /etc/selinux/config in addtion
to setenforce.

Change-Id: I5ea8693c0b967937483bd921b1d9984ea14bc723
2023-03-27 20:58:37 +00:00
Zuul b10c060272 Merge "Add config options for cinder nfs backend" 2023-03-27 14:20:04 +00:00
Zuul 4dfb67a831 Merge "Update DEVSTACK_SERIES to 2023.2" 2023-03-17 01:59:49 +00:00
Rajat Dhasmana 1898a683be Create multiattach volume type for tempest
Creating multiattach volume is a non-admin operation but creating
multiattach volume type is an admin operation.
Previously cinder allowed creating multiattach volumes without a
volume type but that support is being removed with[1].
The change requires updating tempest tests[2] but some tempest
tests are non-admin, which require admin priviledges to create the
multiattach volume type.
Based on the last discussion with tempest team[3], the proposed
solution is to create a multiattach volume type in devstack,
if ENABLE_VOLUME_MULTIATTACH is True, and use it in tempest
tests. Similar to how admins create multiattach volume types
for non-admin users.

This patch creates a multiattach volume type if
ENABLE_VOLUME_MULTIATTACH is True. Also we set the multiattach
type name as a tempest config option 'volume_type_multiattach'.

[1] https://review.opendev.org/c/openstack/cinder/+/874865
[2] https://review.opendev.org/c/openstack/tempest/+/875372
[3] https://meetings.opendev.org/irclogs/%23openstack-cinder/%23openstack-cinder.2023-03-13.log.html#t2023-03-13T18:47:56

Change-Id: Icd3690565bf7b27898cd206641e612da3993703d
2023-03-15 07:21:54 +00:00
Zuul 35c9afffa5 Merge "Fix NotImplementedError in dbcounter on SQLA 2.x" 2023-03-13 18:52:52 +00:00
Zuul 3894077e6c Merge "Rehome functions to enable Neutron's segments integration" 2023-03-13 12:57:35 +00:00
Ghanshyam Mann 07a7293721 Update DEVSTACK_SERIES to 2023.2
stable/2023.1 branch has been created now and
current master is for 2023.2.

Change-Id: Ibd499ac35a38a5c1818c1df6009c5273ef3e90f7
2023-03-10 20:30:53 -06:00
Michael Johnson f834f9adaf Fix NotImplementedError in dbcounter on SQLA 2.x
This patch fixes a NotImplementedError raised in the dbcounter plugin when using SQLAlchemy 2.x. The plugin signature has changed and now requires an "update_url" method as part of the plugin[1].
This patch also updates the do_incr() explicit SQL string to use a TextClause and the new requirement for named bound parameters[2].

Closes-Bug: #2009521

[1] https://docs.sqlalchemy.org/en/20/changelog/migration_14.html#changes-to-createengineplugin
[2] https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#execute-method-more-strict-execution-options-are-more-prominent

Change-Id: Ie5484597057a3306757cc46b657446ad61ac2098
2023-03-06 20:09:10 +00:00
Yamato Tanaka 03c3fd763e Support RHEL 9
This patch includes changes required to run devstack on RHEL 9.

- en_US.utf8 is provided by glibc-langpack-en
- iptables command is provided by iptables-nft
- Use /etc/os-release to identify the distro in RHEL 9 as it doesn't
  provide lsb_release command.
- CRB repository name is different from CentOS 9

Change-Id: I8f6d9263b24f9c2cf82e09258e2d14d7766ad337
2023-03-03 14:47:10 +09:00
Zuul ab8e51eb49 Merge "Disable memory_tracker and file_tracker in unstask.sh properly" 2023-02-28 06:13:08 +00:00
Zuul f7d15274f6 Merge "Revert "Bump cirros version to 0.6.1"" 2023-02-22 09:52:58 +00:00
Nobuhiro MIKI 0572d73f85 Disable memory_tracker and file_tracker in unstask.sh properly
stop_dstat() calls stop_process() for dstat, memory_tracker and
file_tracker respectively. Inside stop_process(), a check for the
existence of the service is performed by is_service_enabled().

So even if we apply this seemingly dangerous commit,
is_service_enabled() is respected, so it's safe.

Closes-Bug: #1998990
Change-Id: Ica58cdb1d60c4c796f582d82ed2cde0be94b1a7e
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
2023-02-22 10:38:49 +09:00
Ghanshyam 37d11d00e5 Revert "Bump cirros version to 0.6.1"
This reverts commit 91efe177b1.

Reason for revert: it broke tempest-slow job https://9afe3d390e4175b60a80-89b1085289883615a17bd93ef47f6ca9.ssl.cf5.rackcdn.com/871018/13/gate/tempest-slow-py3/d139ae1/testr_results.html

Change-Id: Ib74e51a780d3e8101f4147db9d24eebea4980fb1
2023-02-21 21:41:40 +00:00
Zuul e5c8e2951f Merge "Bump cirros version to 0.6.1" 2023-02-20 21:47:05 +00:00
Zuul 37322e4e67 Merge "Try to reduce mysql memory usage" 2023-02-20 21:47:01 +00:00
Zuul 8adb83a9bb Merge "Fix rockylinux and make it voting" 2023-02-20 17:16:42 +00:00
Zuul 45ef5741f2 Merge "Added recursive for deletion of $OVN_RUNDIR" 2023-02-17 16:30:07 +00:00
Dan Smith 7567359755 Try to reduce mysql memory usage
These are a few tweaks I applied to my own memory-constrained cloud
instances that seemed to help. I have lower performance requirements
so this may make things worse and not better, but it's worth seeing
what the impact is. I'll admit to not knowing the full impact of these
as they're mostly collected from various tutorials on lowering memory
usage.

Enable this for now on devstack-multinode

Change-Id: I7b223391d3de01e3e81b02076debd01d9d2f097c
2023-02-16 12:52:50 -08:00
Martin Kopec ec07b343d2 Remove support for opensuse
We haven't been testing the distro for a while in CI, e.g. in
Tempest, the jobs on opensuse15 haven't been executed for a year
now.
Therefore the patch removes opensuse support from devstack.

Closes-Bug: #2002900
Change-Id: I0f5e4c644e2d14d1b8bb5bc0096d1469febe5fcc
2023-02-16 12:01:39 +01:00
Gregory Thiemonge fcc525f4fc Fix rockylinux and make it voting
Some rockylinux deployments have the curl-minimal package installed by
default (the latest GenericCloud image still has the curl package), it
triggers an error when devstack wants to install the curl package.
Fix this issue by swaping curl-minimal with curl before installing base
packages.

Change-Id: I969e8dc22e7d11c9917a843d9245f33a04fe197d
2023-02-16 10:33:38 +01:00
Dr. Jens Harbott 48af5d4b1b Make rockylinux job non-voting
It is currently failing, let's unblock the CI until we have a fix.

Change-Id: I7f072ceef57c302eb6ce20e108043d2390e9f481
2023-02-14 17:11:24 +01:00
elajkat a84b2091cf Rehome functions to enable Neutron's segments integration
Those functions were part of the neutron devstack plugin but we
discussed it during last PTG [1] and decided to move to the Devstack
repo as plugins which are used by e.g. CI jobs which are defined outside
of the neutron repository.
Placement integration is used e.g. in the tempest-slow job which is
defined in tempest and used by many different OpenStack projects.

[1] https://etherpad.opendev.org/p/neutron-yoga-ptg#L142

Change-Id: I2c26063896ab2679cffd01227a40a3283caa3b17
2023-02-13 13:36:24 +00:00
Zuul 7533276c0a Merge "Remove the neutron bash completion installation" 2023-02-02 00:50:10 +00:00
Ghanshyam Mann 7fe998109b Fix setting the tempest virtual env constraints env var
Devstack set the env var TOX_CONSTRAINTS_FILE/UPPER_CONSTRAINTS_FILE
which are used to use the constraints during Tempest virtual env installation.
Those env var are set to non-master constraint when we need to use non-master
constraints but when we need to use the master constraints we do not set/reset
them point to master constraints. This create the issue when running the grenade
job where we run Tempest on the old devstack as well as in the new devstack.
When tempest is installed on old devstack then old tempest is used and it sets
these env var to stable/<branch> constraints (this is the case when old devstack
(the stable branch is in EM phase) uses the old tempest not the master tempest),
all good till now. But the problem comes when in the same grenade script run
upgrade-tempest install the master tempest (when new devstack branches are in
the 'supported' phase and use the master tempest means) and are supposed to use
the master constraints. But the TOX_CONSTRAINTS_FILE/UPPER_CONSTRAINTS_FILE env
var set by old tempest is used by the tempest and due to a mismatch in constraints
it fails.

This happened when we tried to pin the stable/wallaby with Tempest 29.0.0
- https://review.opendev.org/c/openstack/devstack/+/871782

and table/xena grenade job failed (stable/xena use master tempest and supposed
to use master constraints)
- https://zuul.opendev.org/t/openstack/build/fb7b2a8b562c42bab4c741819f5e9732/log/controller/logs/grenade.sh_log.txt#16641

We should set/reset those constraint env var to master constraints if configuration
tell devstack to use the master constraints.

[1] https://github.com/openstack/devstack/blob/71c3c40c269a50303247855319d1d3a5d30f6773/lib/tempest#L124

Closes-Bug: #2003993
Change-Id: I5e938139b47f443a4c358415d0d4dcf6549cd085
2023-01-27 04:37:07 +00:00
Bence Romsics 71c3c40c26 'sudo pkill -f' should not match the sudo process
pkill already takes care that it does not kill itself, however the
same problem may happen with 'sudo pkill -f' killing sudo. Use one
of the usual regex tricks to avoid that.

Change-Id: Ic6a94f516cbc509a2d77699494aa7bcaecf96ebc
Closes-Bug: #1999395
2023-01-25 11:38:11 +01:00
Dr. Jens Harbott 91efe177b1 Bump cirros version to 0.6.1
Cirros has made a fresh release, let us use it. Switch the download URLs
to https and drop an old example that no longer is available.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/871271
Change-Id: I1d391b871fc9bfa825db30db9434922226b94d8a
2023-01-24 15:51:26 +00:00
Rodolfo Alonso Hernandez 5a6f0bbd4c Remove the neutron bash completion installation
The python-neutronclient CLI code is going to be removed from this
repository.

Change-Id: I39b3a43a7742481ec6d9501d5459bf0837ba0122
Related-Bug: #2003861
2023-01-21 20:21:26 +01:00
Zuul 864f4d1ef0 Merge "[OVN] Ensure socket files are absent in init_ovn" 2023-01-16 22:24:28 +00:00
yatinkarel 7fecba2f13 [OVN] Ensure socket files are absent in init_ovn
Just like we remove db files let's also remove
socket files when initializing ovn. Those will
reappear once service fully restarts along with
db files. Without it we see random issue as
described in the below bug.

Closes-Bug: #2002629
Change-Id: I726a9cac9c805d017273aa79e844724f0d00cdf0
2023-01-12 17:35:43 +05:30
Ghanshyam Mann 69d71cfdf9 Option to disable the scope & new defaults enforcement
In this release cycle, a few services are enabling the
enforce scope and new defaults by default. Example Nova:
- https://review.opendev.org/c/openstack/nova/+/866218)

Until the new defaults enalbing by default is not released we
should keep testing the old defaults in existing jobs and we can
add new jobs testing new defautls. To do that we can provide the
way in devstack to keep scope/new defaults disable by default which
can be enabled by setting enforce_scope variable to true.

Once any service release the new defaults enabled by default then
we can switch the bhavior, enable the scope/new defaults by default
and a single job can disbale them to keep testing the old defaults
until service does not remove those.

Change-Id: I5c2ec3e1667172a75e06458f16cf3d57947b2c53
2023-01-11 09:45:12 -06:00
Rajat Dhasmana aa47cb34ae Add config options for cinder nfs backend
Currently the cinder nfs backend leaves out few options in a
multi backend deployment. It works in single nfs backend deployment
as devstack-plugin-nfs correctly configures all options[1].
We can clearly see the difference between what devstack-plugin-nfs
configures[1] and what devstack nfs configures[2].

Following options are missing which are added by this patch.
* nas_host
* nas_share_path
* nas_secure_file_operations
* nas_secure_file_permissions
* nfs_snapshot_support

[1] https://github.com/openstack/devstack-plugin-nfs/blob/dd12367f90fc86d42bfebe8a0ebb694dc0308810/devstack/plugin.sh#L60-L68
[2] https://github.com/openstack/devstack/blob/a52041cd3f067156e478e355f5712a60e12ce649/lib/cinder_backends/nfs#L32-L34

Change-Id: I03cad66abb3c6f2ae1d5cf943ac952a30961f783
2022-12-27 06:16:55 +00:00
Slawek Kaplonski a52041cd3f Drop lib/neutron module
Module lib/neutron was introduced long time ago as new module to deploy
neutron. It was intended to replace old lib/neutron-legacy module. But
since very long time it wasn't really finished and used by anyone and
lib/neutron-legacy is defacto standard module used by everyone to deploy
neutron with devstack.
In [1] unfinished lib/neutron was deprecated and now it's time to remove
it from the devstack code.

This patch also renames old "lib/neutron-legacy" module to be
"lib/neutron" now.

Previously "old" lib/neutron-legacy module was accepting neutron
services names wit "q-" prefix and "new" lib/neutron module was accepting
services with "neutron-" prefix. Now, as there is only one module it
accepts both prefixes.
For historical reasons and to be consistent with old lib/neutron-legacy
which was widely used everywhere, services will be named with "q-"
prefix but both prefixes will be accepted to enable or disable services.

This patch also moves _configure_neutron_service function to be called
at the end of the "configure_neutron" after all agents and service
plugins are already configured.

[1] https://review.opendev.org/c/openstack/devstack/+/823653

Related-bug: #1996748

Change-Id: Ibf1c8b2ee6b6618f77cd8486e9c687993d7cb4a0
2022-12-16 09:59:11 +01:00
Zuul 2d71d54814 Merge "Fix the db user for mariadb in ubuntu 22.04" 2022-12-15 19:27:45 +00:00
Zuul 1ddae48da3 Merge "Add RBAC scope and new defaults setting support for placement" 2022-12-14 10:15:01 +00:00
Zuul aae4d3ea90 Merge "[neutron] Don't configure firewall_driver for core ML2 plugin" 2022-12-13 23:45:23 +00:00
Zuul 540ec94a04 Merge "Add openEuler 22.03 LTS support" 2022-12-13 22:22:34 +00:00
Ghanshyam Mann 9a1be7794b Pin tox<4.0.0 for <=stable/zed branch testing
Tox 4.0.0 has some incompatible changes, epecially more
strict on allowlist_externals. Tempest recently changed
allowlist_externals not to be *[1] causing the failure
on jobs where lib/tempest failing to run the tempest
as command in virtual env.

----------
venv: commands[0]> tempest verify-config -uro /tmp/tmp.qH5KgJHTF4
venv: failed with tempest is not allowed, use allowlist_externals to allow it
------

We do not need to test/fix the <=stable/zed branches with tox 4.0.0
and pinning them with the compatible tox version of the time stable
brnaches were releaased is better way.

This commit proposes:
1. Pinning the tox<4.0.0 for <=stable/ze branches testing
2. Workaround to unblock the master gate by pinning it <4.0.0 but
we should make our testing compatible with tox 4.0.0 soon.

Depends-On: https://review.opendev.org/c/openstack/devstack/+/867066

Related-Bug: #1999183

[1] https://review.opendev.org/c/openstack/tempest/+/865314 devstack based job started failing to run tempest command on venv.

Change-Id: I9a138af94dedc0d8ce5a0d519d75779415d3c30b
2022-12-09 02:55:08 +00:00
Slawek Kaplonski 30acfc6d14 [neutron] Don't configure firewall_driver for core ML2 plugin
In the past firewall_driver setting was configured for ML2 plugin
because it was used in the
neutron.agent.securitygroups_rpc.is_firewall_enabled() function but
currently it's not needed anymore as there is other config option
"enable_security_group" for that.

Related-bug: #1996748
Change-Id: I9b09c6afb3f1f1c33d1bdfea52ba6f4c0d0cf2dc
2022-12-08 10:57:55 +00:00
Miguel Lavalle 0a40648b38 Fix the db user for mariadb in ubuntu 22.04
In Ubuntu 22.04, mariadb version 10.6 is installed. Per [0] and [1]
authentication management was changed in version 10.4. This change
adapts the way the db user is created to the new rules in versions
10.4 and later.

[0] https://mariadb.com/kb/en/authentication-from-mariadb-104/
[1] https://mariadb.org/authentication-in-mariadb-10-4/

Closes-Bug: #1999090
Change-Id: I77a699a9e191eb83628ad5d361282e66744b6e4a
2022-12-07 17:05:35 -06:00
wangxiyuan 6440c6d7e6 Add openEuler 22.03 LTS support
openEuler 20.03 LTS SP2 support was removed from devstack in last
few months due to its python version is too old and the CI job
always fail. And openEuler 20.03 LTS SP2 was out of maintainer in May
2022 by openEuler community.

The newest LTS version was released in March 2022 called 22.03 LTS.
This release will be maintained for at least 2 years. And the python
version is 3.9 which works well for devstack.

This Patch add the openEuler distro support back. And add the related
CI job to make sure its works well.

Change-Id: I99c99d08b4a44d3dc644bd2e56b5ae7f7ee44210
2022-12-07 10:03:27 +08:00
Zuul fd502fe052 Merge "Stop setting [ovs_vif_ovs] ovsdb_interface" 2022-12-06 20:15:30 +00:00
Ghanshyam Mann 16c2b389ed Add RBAC scope and new defaults setting support for placement
Adding devstack flag to enable and test the Placement API policies
scope and new defaults.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/866212
Change-Id: I6f56fc28f2c1e4cdde946deb2ae06afddf85ff0d
2022-11-30 14:24:07 -06:00
Takashi Kajinami db3eff7dd2 Stop setting [ovs_vif_ovs] ovsdb_interface
The option was already deprecated in os-vif 2.2.0[1]. The override is
no longer required since bug 1929446 was already resolved.

[1] https://review.opendev.org/c/openstack/os-vif/+/744816

Related-Bug: #1929446
Change-Id: I5bc55723a178b32d947da2ac91d2f62aa8124990
2022-11-30 14:06:12 +09:00
Martin Kopec 818d1a225d [doc] Update Ubuntu to 22.04
This updates documentation to reflect the switch to
Ubuntu 22.04 (jammy) in the CI:
https://review.opendev.org/c/openstack/devstack/+/860795

Change-Id: I8bee430029dcc719629bd92451c2791571f8a30c
2022-11-28 11:19:45 +01:00
Zuul 2795e8215d Merge "Switch devstack nodeset to Ubuntu 22.04 (jammy)" 2022-11-19 22:03:55 +00:00
Dr. Jens Harbott 8d299efa4b Switch devstack nodeset to Ubuntu 22.04 (jammy)
Depends-On: https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/864948
Change-Id: I26b4784a4d772abbf8572f6273bda37f2fec5336
2022-11-18 07:17:09 +00:00
Zuul 448036a6ad Merge "Add RBAC scope and new defaults setting support for Nova & Tempest" 2022-11-15 12:17:46 +00:00
Zuul f90c8ea704 Merge "Revert "Make debian-bullseye job non-voting"" 2022-11-14 20:42:15 +00:00
Dr. Jens Harbott d00921a57b Revert "Make debian-bullseye job non-voting"
This reverts commit a468076651.

Reason for revert: Debian job got repaired

Change-Id: I3ef969f6e373de103d26c9282cab94cea7ae87e5
2022-11-14 15:10:45 +01:00
Zuul edea9b5fd3 Merge "[Doc] Fix Glance image size limit command" 2022-11-14 13:10:53 +00:00
Zuul 757a2a96b5 Merge "Fix dbcounter install on Debian Bullseye" 2022-11-14 08:40:26 +00:00
Ghanshyam Mann 857f4993f3 Add RBAC scope and new defaults setting support for Nova & Tempest
Nova is ready with the scope and new defaults as per the new
RBAC design. Adding devstack flag to enable the scope checks
and new defaults enforcement in nova side.

Change-Id: I305ea626a4b622c5534d523f4b619832f9d35f8d
2022-11-11 15:38:31 -06:00
Clark Boylan 97b2a51d6b Fix dbcounter install on Debian Bullseye
The dbcounter install on Debian Bullseye is broken in a really fun way.
The problem is that we end up mixing pypi openssl and distro
cryptography under pip and those two versions of libraries are not
compatible.

The reason this happens is that debian's pip package debundles the pip
deps. This splits them out into /usr/share/python-wheels and it will
prefer distro versions of libraries over pypi installed versions of
libraries. But if a pypi version is installed and a distro version is
not then the pypi version is used. If the pypi version of library A does
not work with distro version of library B then debundled pip breaks.
This has happened with crypytography and pyOpenSSL.

This happens because urllib3 (a debundled pip dep) appears to use
pyopenssl conditionally. Novnc depends on python3-cryptography, and
openstack depends on cryptogrpahy from pypi ensuring we get both a
distro and a pypi version installed. However, pyOpenSSL is only pulled
in from pypi via openstack deps. This leaves debundled urllib3
attempting to use pypi pyOpenSSL with distro cryptography and that combo
isn't valid due to an interface change.

To fix this we install python3-openssl ensuring that debundled pip will
use distro pyOpenSSL with distro cryptography making everything happy
again. But we only do this when we install novnc as novnc is what pulls
in distro cryptography in the first place. We can't simply install
python3-openssl on all debuntu platforms because this breaks Ubuntu
Focal in the other direction. On Ubuntu focal distro pip uses distro
pyOpenSSL when no pypi pyOpenSSl is installed (prior to keystone
install) and is not compatible with pypi cryptography.

Honestly, this whole intersection between distro and pypi installs of
cryptography and pyOpenSSL could probably be made cleaner. One option
would be for us to always install the constraints version of both
packages from pypi and the distro pacakges very early in the devstack
run. But that seems far more complicated so I'm not attempting that
here.

Change-Id: I0fc6a8e66e365ac49c6c7ceb4c71c68714b9f541
2022-11-10 09:21:45 -08:00
Zuul ab162024bb Merge "Add new service "file_tracker"" 2022-11-10 15:09:43 +00:00
Zuul 1054f12bda Merge "Add LVM NVMe support" 2022-11-10 10:10:02 +00:00
Dan Smith a468076651 Make debian-bullseye job non-voting
As noted in the QA meeting this week, this job is failing due to
something that seems outside of our control:

https://meetings.opendev.org/meetings/qa/2022/qa.2022-11-08-15.00.log.html

Make it non-voting until that is resolved.

Change-Id: Ia571d1dab45eb1bbb8665373d416515d3c95fb14
2022-11-09 10:11:46 -08:00
Rodolfo Alonso Hernandez d1c2bf5e7c Add new service "file_tracker"
This new service periodically tracks the file open in the system.

Closes-Bug: #1995502
Change-Id: I02e097fef07655ff571af9f35bf258b2ed975098
2022-11-07 08:21:34 +00:00
Martin Kopec 47a429777c Extend single-core-review for non-functional changes
Adding a second exception for single-core-review in Devstack
repository - changes which do not affect core functionality, like
f.e. job cleanups, can be reviewed by a single core.

Change-Id: Idb6cefa510fdbfed41379eb410f4884852d1177f
2022-11-04 14:34:07 +01:00
Zuul 60b31d412c Merge "[Doc] Fix tox command option to run smoke tests" 2022-11-04 09:26:51 +00:00
Zuul 1f5d6c0abb Merge "Use separate OVS and OVN directories" 2022-11-01 18:57:38 +00:00
Slawek Kaplonski 5e7afb779c Run dmesg command with sudo
It seems that setting "sysctl kernel.dmesg_restrict" was changed
in Ubuntu 22.04 (Jammy) to "1" and because of that running "dmesg"
command requires now root privileges.

Closes-bug: #1994023

Change-Id: I2adc76e3025fadf994bab2e2e1fd608e688874fc
2022-10-24 12:18:40 +02:00
Zuul c3a82032ab Merge "docs: Add warnings about password selection" 2022-10-21 09:23:45 +00:00
Brian Haley 71c9965547 Use separate OVS and OVN directories
If stack.sh is run on a system that already has OVN packages
installed, it could fail to find its DB sockets. This is because
the 'ln -s' will place the symlink inside of /var/run/ovn
instead of using a single directory as intended.

Change the code in neutron_plugins/ovn_agent to not make the
symlink and instead use separate directories for OVS and OVN.

Closes-bug: #1980421

Change-Id: Ic28a93bdc3dfe4a6159234baeabd0064db452b07
2022-10-20 19:49:10 -04:00
Zuul 6c8e88f61d Merge "Adding devstack support for Rocky Linux 9" 2022-10-14 09:53:29 +00:00
Adrian Fusco Arnejo 358987f065 Adding devstack support for Rocky Linux 9
Adding job and nodeset to run tempest-full-py3 in Rocky Linux 9 instance

Change-Id: I6fb390bfeec436b50a3ddc18d154bbce3f3b1975
2022-10-13 08:29:10 +00:00
Zuul dc8fc5c169 Merge "Re-enable horizon in jammy-based jobs" 2022-10-12 08:12:55 +00:00
Dr. Jens Harbott 781fbf47b5 docs: Add warnings about password selection
Some services fail when using special characters in passwords, add some
warnings to our docs.

Closes-Bug: 1744985
Change-Id: I601149e2e7362507b38f01719f7197385a27e0a8
2022-10-11 15:43:09 +02:00
Masayuki Igawa 7d1ba835c3 [Doc] Fix tox command option to run smoke tests
This commit fixes the tox command option to run the smoke tests. The
original arguments fail with the error[1], and `-efull` and
`tempest.scenario.test_network_basic_ops` are not for the smoke tests.

[1]
 $ tox -efull tempest.scenario.test_network_basic_ops
 ...
 tempest run: error: unrecognized arguments: tempest.scenario.test_network_basic_ops

Change-Id: I9c3dd9fb4f64bf856c5cab88a2aeaae355c84a65
2022-10-11 12:40:20 +09:00
Dr. Jens Harbott 2e6756640c Re-enable horizon in jammy-based jobs
The issue that Horizon had with python3.10 has been fixed some time ago,
so we can stop disabling it for those jobs.

Also stop including roles from devstack-gate which we no longer need.

Change-Id: Ia5d0b31561adc5051acd96fcaab183e60c3c2f99
2022-10-10 21:37:02 +02:00
Zuul ace4e8a912 Merge "Simplify role addtion helper functions" 2022-10-10 15:38:09 +00:00
Zuul 412c86d825 Merge "get_or_create_domain: simplify with "--or-show" argument" 2022-10-10 15:38:05 +00:00
Zuul e0773993e6 Merge "Update to Fedora 36" 2022-10-09 12:41:22 +00:00
Ian Wienand e69b78df6f Simplify role addtion helper functions
Because adding the role is idempotent, we can save doing the initial
check for role assignment.  Also simplify the output matching by using
osc's filters where appropriate.

Co-Authored-By: Jens Harbott <harbott@osism.tech>
Change-Id: If2a661cc565a43a7821b8f0a10edd97de08eb911
2022-10-07 11:47:17 +02:00
Ian Wienand e3bc6b5f57 get_or_create_domain: simplify with "--or-show" argument
Similar to other functions, this uses "--or-show" to avoid double
calls.

Co-Authored-By: Jens Harbott <harbott@osism.tech>
Change-Id: I548f9acd812687838e04b705f86f3b70d2b10caf
2022-10-07 11:11:47 +02:00
Ian Wienand 9ece457b7b Update to Fedora 36
Update the Fedora job to the latest release nodes

Depends-On: https://review.opendev.org/c/openstack/devstack/+/860634
Change-Id: If2d7f99e3665a2e3df4cf763efc64dd381f02350
2022-10-07 06:14:57 +00:00
Zuul f0ad3e5f3f Merge "Update user guide for Octavia" 2022-10-05 18:45:57 +00:00
Martin Kopec 0d5c8d6643 Update DEVSTACK_SERIES to 2023.1
stable/zed branch has been created now and
current master is for 2023.1 Antelope.

Change-Id: I6186d01b1bf8548425500cc9feee6ab494a3db03
2022-09-28 06:46:06 +00:00
Tom Weininger 1516997afe Update user guide for Octavia
Change-Id: I8e3134c3b2d591f7ab72b8040e1b931e967e11be
2022-09-26 11:13:12 +02:00
Masayuki Igawa f49b435e98 [Doc] Fix Glance image size limit command
This commit fixes the configuration document which mentions how to
change Glance default image size quota at runtime because we don't have
`openstack registered limit update` command but
`openstack registered limit set` command[1].

[1] https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/registered-limit.html#registered-limit-set

Change-Id: I399685ed1f864f8f1ce7295ed6f83336cfccbd81
2022-09-22 11:28:21 +09:00
Zuul 0b0e6a6474 Merge "[ci] Remove the implied-branches pragma" 2022-09-20 16:22:26 +00:00
Gorka Eguileor 97061c9a1f Add LVM NVMe support
This patch adds NVMe LVM support to the existing iSCSI LVM configuration
support.

We deprecate the CINDER_ISCSI_HELPER configuration option since we are
no longer limited to iSCSI, and replace it with the CINDER_TARGET_HELPER
option.

The patch also adds another 3 target configuration options:

- CINDER_TARGET_PROTOCOL
- CINDER_TARGET_PREFIX
- CINDER_TARGET_PORT

These options will have different defaults based on the selected target
helper.  For tgtadm and lioadm they'll be iSCSI,
iqn.2010-10.org.openstack:, and 3260 respectively, and for nvmet they'll
be nvmet_rdma, nvme-subsystem-1, and 4420.

Besides nvmet_rdma the CINDER_TARGET_PROTOCOL option can also be set to
nvmet_tcp, and nvmet_fc.

For the RDMA transport protocol devstack will be using Soft-RoCE and
creating a device on top of the network interface.

LVM NVMe-TCP support is added in the dependency mentioned in the footer
and LVM NVMe-FC will be added in later patches (need os-brick and cinder
patches) but the code here should still be valid.

Change-Id: I6578cdc27489b34916cdeb72ba3fdf06ea9d4ad8
2022-09-13 12:53:31 +02:00
Zuul b5c2e7b3fa Merge "Respect constraints on tempest venv consistently" 2022-08-30 22:53:05 +00:00
Slawek Kaplonski 3de92db663 Fix installation of OVS/OVN from sources
This patch changes user who runs ovsdb-server and ovn-nortd services
to root.
It also adds installation of the libssl dev package before compilation
of the openvswitch if TLS service is enabled.

Co-Authored-By: Fernando Royo <froyo@redhat.com>

Closes-Bug: #1987832
Change-Id: I83fc9250ae5b7c1686938a0dd25d66b40fc6c6aa
2022-08-26 13:00:03 +02:00
June Yi b9b6d6b862 Respect constraints on tempest venv consistently
In case of online mode, there is a procedure to recreate tempest venv.
For consistency of tempest venv during the entire stack.sh process,
add logic to consider the TEMPEST_VENV_UPPER_CONSTRAINTS option here.

Closes-bug: #1980483
Signed-off-by: June Yi <june.yi@samsung.com>
Change-Id: I0cea282152fd363af8671cab1b5f733ebe2bd4df
2022-08-25 19:59:34 +09:00
Zuul 995c906950 Merge "Clean up n-net remnants" 2022-08-24 17:50:52 +00:00
Zuul 8fa03a37ad Merge "Clean up neutron cleanup code" 2022-08-23 20:05:48 +00:00
Zuul c61380a136 Merge "Clean up use of get_field" 2022-08-23 18:08:05 +00:00
Zuul 3154eab0d7 Merge "Cinder: add creator role when barbican is enabled" 2022-08-23 16:57:32 +00:00
Dr. Jens Harbott e7d2623dca Clean up neutron cleanup code
neutron-ns-metadata-proxy was dropped from Neutron 5 years ago, no need
to keep trying to kill it.

Change-Id: I20b6d68dd8dde36057a2418bca0841bdea377b07
2022-08-23 18:08:19 +02:00
Alan Bishop ccd116d364 Cinder: add creator role when barbican is enabled
When barbican is enabled, add the "creator" role to cinder's service
user so that cinder can create secrets. Cinder needs to create
barbican secrets when migrating encryption keys from the legacy
ConfKeyManager to barbican. Cinder also needs to create barbican
secrets in order to support transferring encrypted volumes.

Implements: bp/transfer-encrypted-volume
Depends-On: I216f78e8a300ab3f79bbcbb38110adf2bbec2196
Change-Id: Ia3f414c4b9b0829f60841a6dd63c97a893fdde4d
2022-08-22 19:52:00 -07:00
Dr. Jens Harbott ca5f919561 Clean up n-net remnants
In I90316208d1af42c1659d3bee386f95e38aaf2c56 support for nova-network
was removed, but some bits remained, fix this up.

Change-Id: Iba7e1785fd0bdf0a6e94e5e03438fc7634621e49
2022-08-21 10:52:41 +02:00
Eliad Cohen fdfc14451a Clean up use of get_field
Openstack client can return the id field for create/show commands using
`-f value -c id`. Cleaned up the use of grep 'id' with get_field

Change-Id: I2f4338f30c11e5139cda51c92524782b86f0aacc
2022-08-16 15:27:45 -04:00
Martin Kopec 90e5479f38 Remove forgotten LinuxMint occurrence
Right now we don't officialy support LinuxMint as our
documentation says [1], it seems LinuxMint is a relict
and got forgotten over time.

This patch removes LinuxMint from the code in order not to
confuse users.

[1] https://docs.openstack.org/devstack/latest/
Closes-Bug: #1983427

Change-Id: Ie1ced25f89389494b28a7b2e9bb1c4273e002dd5
2022-08-16 17:29:16 +02:00
Zuul 28ee346393 Merge "iniset: fix handling of values containg ampersand" 2022-08-10 14:21:00 +00:00
Zuul ea82effa19 Merge "Fix doc for adding sudo privileges to stack user" 2022-08-10 10:52:19 +00:00
Nobuhiro MIKI d266c87b1d iniset: fix handling of values containg ampersand
Attempting to set a value containing the ampersand
character (&) by iniset would corrupt the value.
So, add an escaping process.

Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
Closes-Bug: #1983816
Change-Id: Ie2633bacd2d761d110e6cb12f95382325c329415
2022-08-08 18:59:53 +09:00
Zuul 51a3f2ef1e Merge "delete __pycache__ directory with sudo privileges" 2022-08-06 17:28:46 +00:00
Zuul d9e2d10d28 Merge "Neutron: Do not set removed allow_overlapping_ips" 2022-08-03 12:13:54 +00:00
Hoai-Thu Vuong 79bef068b6 remove duplicate line of REGION_NAME
Change-Id: I42b270749f057c5751e809aba282112b990b9f38
2022-08-02 14:41:59 +07:00
Zuul 8506b5bd7c Merge "Add NEUTRON_ENDPOINT_SERVICE_NAME variable to set service name" 2022-08-02 00:06:56 +00:00
Zuul 0af962d60a Merge "Neutron: Set experimental option to use linuxbridge agent" 2022-08-01 23:36:22 +00:00
Martin Kopec b70d98fe75 Fix doc for adding sudo privileges to stack user
Writing NOPASSWD directive into /etc/sudoers was throwing
permission denied errors. This commit writes the directive
to the /etc/sudoers.d/stack file instead.

Closes-Bug: #1981541
Change-Id: If30f01aa5f3a33dda79ff4a6892116511c8e1542
2022-07-20 14:06:42 +00:00
Takashi Kajinami facf15626e Neutron: Do not set removed allow_overlapping_ips
The parameter has been removed from neutron by [1].

[1] fde91e8059a9a23fb7ece6e3463984329c7ea581

Change-Id: I3b838ea741d19729d6fcf03c0478b1b4d8ec1213
2022-07-19 13:24:38 +00:00
Slawek Kaplonski 1a21ccbdf8 Add NEUTRON_ENDPOINT_SERVICE_NAME variable to set service name
This option can be used to set name of the service used in the
networking service endpoint URL.

Depends-On: https://review.opendev.org/c/openstack/grenade/+/850306

Change-Id: I9e9a06eadc1604214c627bd3bda010cc00aaf83d
2022-07-19 14:51:24 +02:00
Takashi Kajinami cf0bf746e9 Neutron: Set experimental option to use linuxbridge agent
Recently the experimental mechanism has been added to Neutron and now
it requires the [experimental] linuxbridge option when the linuxbridge
mechanism driver is used.

Depends-on: https://review.opendev.org/c/openstack/neutron/+/845181
Change-Id: Ice82a391cda9eb0193f23e6794be7ab3df12c40b
2022-07-19 12:46:04 +02:00
Yadnesh Kulkarni 85340e77f3 delete __pycache__ directory with sudo privileges
Signed-off-by: Yadnesh Kulkarni <ykulkarn@redhat.com>
Change-Id: I9cf3cd8921347eacc1effb2b197b97bc6ff3e0df
2022-07-11 17:14:40 +05:30
Dr. Jens Harbott bd6e5205b1 Increase timeout waiting for OVN startup
We see some cases where OVN startup takes much longer than 5 seconds, up
to 28 seconds have been observed, so increase the limit to 40 to be on
the safe side.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Closes-Bug: 1980421
Change-Id: I6da4a537e6a8d527ff71a821f07164fc7d342882
2022-07-03 22:30:41 +02:00
Zuul 02f8c16c9b Merge "Make devstack-platform-debian-bullseye voting" 2022-06-30 07:37:03 +00:00
Zuul 8d347090d3 Merge "Do not create cinder backup pool and key when cephadm is used" 2022-06-29 19:02:12 +00:00
Martin Kopec e1fb94f82a Make devstack-platform-debian-bullseye voting
The job has been successfully passing lately, let's make it voting.

Change-Id: Ib3b803a26c8647fd49c89371516c0ac7baba2703
2022-06-29 10:43:33 +02:00
Slawek Kaplonski ce1ae9ddef Fix missing "$" in the ENFORCE_SCOPE's variable name
Because of the missing "$" before ENFORCE_SCOPE in the lib/neutron
module, it was treated as an ENFORCE_SCOPE string instead of variable
and Neutron was deployed always with old defaults and disabled scope
enforcement.

Change-Id: Ibe67fea634c5f7abb521c0369ff30dd5db84db8c
2022-06-29 09:57:50 +02:00
Zuul 9ddae9b388 Merge "Avoid including bad service names in perf.json" 2022-06-24 11:11:19 +00:00
Dan Smith fe7cfa6b8c Avoid including bad service names in perf.json
Some of the API services are not properly mounted under /$service/
in the apache proxy. This patch tries to avoid recording data
for "services" like "v2.0" (in the case of neutron) by only adding
names if they're all letters. A single warning is emitted for any
services excluded by this check.

For the moment this will mean we don't collect data for those services,
but when their devstack API config is fixed, they'll start to show
up.

Change-Id: I41cc300e89a4f97a008a8ba97c91f0980f9b9c3f
2022-06-23 09:25:22 -07:00
Vladislav Belogrudov 8a38a73ddf Correct hostname for OVN agent
Currently Devstack uses short hostname for configuration of OVN.
This leads to inability to start instances (failing port binding)
on hosts with full hostnames (including dots). Open vSwitch expects
hostname in external_ids that corresponds to one returned by
``hostname`` command.

Closes-Bug: #1943631
Change-Id: I15b71a49c482be0c8f15ad834e29ea1b33307c86
2022-06-23 07:42:19 +02:00
Zuul eacaa99853 Merge "Reduce memory consumption in Cinder services" 2022-06-22 08:53:39 +00:00
Martin Kopec 8ff52ea12b Mark devstack-platform-centos-9-stream as n-v
Due to the below bug the job has been constantly failing.
Let's make it n-v until the bug is resolved:
  - https://bugs.launchpad.net/neutron/+bug/1979047

Change-Id: Ifc8cc96843a8eac5c98cd1e1f9e4b6287a7f2e7c
2022-06-21 17:31:50 +02:00
Gorka Eguileor d5af514ac9 Reduce memory consumption in Cinder services
This patch reduces memory usage on the Cinder Volume and Backup services
by tuning glibc.

The specific tuning consist on disabling the per thread arenas and
disabling dynamic thresholds.

The Cinder Backup service suffers from high water mark memory usage and
uses excessive memory.  As an example just after 10 restore operations
the service uses almost 1GB of RAM and does not ever free it afterwards.
With this patch the memory consumption of the service is reduced down to
almost 130MB.  If we add a revert from Cinder (Change-Id
I43a20c8687f12bc52b014611cc6977c4c3ca212c) it goes down to 100MB during
my tests.

This glibc tuning is not applied to all Python services because I
haven't done proper testings on them and at first glance they don't seem
to have such great improvements.

Related-bug: #1908805
Change-Id: Ic9030d01468b3189350f83b04a8d1d346c489d3c
2022-06-21 12:16:32 +02:00
Zuul 44d07f3001 Merge "Run debian platform job with OVN" 2022-06-15 15:14:52 +00:00
Zuul 8eede1fc39 Merge "Add support for IPv6 tunnel endpoints" 2022-06-08 21:39:03 +00:00
Zuul 7391297bc3 Merge "Capture QEMU core dumps when possible" 2022-06-08 20:35:06 +00:00
Dr. Jens Harbott e6e7100e85 Don't install pinned setuptools with distro pip
We are seeing failures when using an updated setuptools version
installed together with distro pip on Ubuntu 22.04. Install the version
from u-c only when we are also installing pip from upstream.

Change-Id: Ibb6e9424e5794ccbf9a937d2eecfa3bf60ed312e
2022-06-07 13:42:54 +02:00
Brian Haley c869d59857 Add support for IPv6 tunnel endpoints
Currently, neutron tunnel endpoints must be IPv4 addresses,
i.e. $HOST_IP, although IPv6 endpoints are supported by most
drivers.

Create a TUNNEL_IP_VERSION variable to choose which host IP
to use, either HOST_IP or HOST_IPV6, and configure it in the
OVS and Linuxbridge agent driver files. The default is still
IPv4, but it can be over-ridden by specifying TUNNEL_ENDPOINT_IP
accordingly.

This behaves similar to the SERVICE_IP_VERSION option, which
can either be set to 4 or 6, but not 4+6 - the tunnel overhead
should be consistent on all systems in order not to have MTU
issues.

Must set the ML2 overlay_ip_version config option to match
else agent tunnel sync RPC will not work.

Must set the OVN external_ids:ovn-encap-ip config option to
the correct address.

Updated 'devstack-ipv6-only' job definition and verification role
that will set all services and tunnels to use IPv6 addresses.

Closes-bug: #1619476

Change-Id: I6034278dfc17b55d7863bc4db541bbdaa983a686
2022-06-07 02:28:51 +00:00
Francesco Pantano 96dbf55016 Do not create cinder backup pool and key when cephadm is used
When cephadm is used, if ENABLE_CEPH_C_BAK is True both pool and
key are created by devstack-plugin-ceph. This piece of code can
still stay here to make sure the cinder config is properly built.

Change-Id: I799521f008123b8e42b2021c1c11d374b834bec3
2022-06-06 14:19:32 +02:00
Zuul e661cae7e8 Merge "Allow to skip stop of ovn services" 2022-06-03 20:40:15 +00:00
Zuul 906cf81528 Merge "Add apache2 to the services we collect for memory" 2022-06-03 18:44:10 +00:00
Dan Smith f7d87aa433 Capture QEMU core dumps when possible
Some of the hardest-to-debug issues are qemu crashes deep in a nova
workflow that can't be reproduced locally. This adds a post task to
the playbook so that we capture the most recent qemu core dump, if
there is one.

Change-Id: I48a2ea883325ca920b7e7909edad53a9832fb319
2022-06-03 07:54:35 -07:00
yatinkarel 35fb53423a [ironic][swift]Temporary add sha1 to allowed_digests
Swift removed sha1 from supported digests with [1] and
that broked ironic tinyipa job. Temorary add sha1 to
allowed_digests until it's fixed in ironic.

[1] https://review.opendev.org/c/openstack/swift/+/525771

Story: 2010068
Task: 45539
Change-Id: I68dfc472ce901058b6a7d691c98ed1641d431e54
2022-06-03 11:52:50 +05:30
Zuul 0ae279b54a Merge "Fix doc and user create script to set homedir permissions" 2022-05-31 21:15:54 +00:00
Zuul d0657a02e5 Merge "Do not barf stack trace if stats DB is missing" 2022-05-31 19:04:26 +00:00
yatinkarel 6dd896fefa Allow to skip stop of ovn services
Grenade jobs stop services, check fip connectivity
for a nova server and then upgrade to next release.

But since ovn data plane and db services are stopped along
with other services, fip connectivity fails as a result.

We shouldn't stop these services along with other
neutron services. This patch adds a new variable
"SKIP_STOP_OVN" which can be used by grenade jobs
to skip stop of ovn services.

This will also fix the ovn grenade jobs.

Also source fixup_stuff.sh so function fixup_ovn_centos
is available. It's already sourced in stack.sh but
that's not used in grenade run.

Change-Id: I94818a19f19973779cb2e11753d2881d54dfa3bc
2022-05-31 12:57:39 +05:30
Dan Smith e85c68e60f Add apache2 to the services we collect for memory
Change-Id: Ic6daef5b4df50ce43c6782542cb54c1958e54655
2022-05-26 09:31:36 -07:00
Zuul 0e08e9b48c Merge "Cleanup comment that should've been removed" 2022-05-25 09:12:18 +00:00
Dr. Jens Harbott 599b241d32 Run debian platform job with OVN
Packages for OVN are now available in bullseye, so we can drop the
special handling.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I5e5c78aa19c5208c207ddcf14e208bae8fbc3c55
2022-05-25 08:57:56 +00:00
yatinkarel c64ea4f213 Fix doc and user create script to set homedir permissions
RHEL based distros set homedir permissions to 700,
and Ubuntu 21.04+ to 750[1], i.e missing executable
permission for group or others, this results into failures
as defined in the below bug.

Since in doc we add useradd command, it's good to
add instructions to fix the permissions there itself
instead of getting failures during installation and then
fixing it.

Also update user create script to fix permissions
by adding executable bit to DEST directory if missing.

[1] https://discourse.ubuntu.com/t/private-home-directories-for-ubuntu-21-04-onwards/19533

Closes-Bug: #1966858
Change-Id: Id2787886433281238eb95ee11a75eddeef514293
2022-05-25 06:34:30 +00:00
Zuul 8e1d5aa22e Merge "Drop openEuler support" 2022-05-24 11:34:09 +00:00
Dan Smith 1cdf413ac6 Do not barf stack trace if stats DB is missing
This can happen if devstack fails to run, but we still run the post
tasks. Also could happen if some sort of hybrid job configuration
does not run all of devstack but we still end up running post jobs.

Just warn to stderr and assume no DB info.

Change-Id: I211a331ab668dbb0ad7882908cca4363f865d924
2022-05-23 13:56:13 -07:00
Clark Boylan 1d5be95196 Cleanup comment that should've been removed
The previous change, I237f5663b0f8b060f6df130de04e17e2b1695f8a, removed
a SETUPTOOLS flag, but not the comment explaining why that flag was
previously set. Clean up that comment.

Change-Id: I32b0240fd56310d7f10596aaa8ef432679bfd66a
2022-05-23 08:46:50 -07:00
Clark Boylan 50e3c06ec2 Fix dbcounter installation on Jammy
There are two problems with dbcounter installation on Jammy. The first
is straightforward. We have to use `py_modules` instead of `modules` to
specify the source file. I don't know how this works on other distros
but the docs [0] seem to clearly indicate py_modules does this.

The second issue is quite an issue and requires story time. When
pip/setuptools insteall editable installs (as is done for many of the
openstack projects) it creates an easy-install.pth file that tells the
python interpreter to add the source dirs of those repos to the python
path. Normally these paths are appended to your sys.path. Pip's isolated
build env relies on the assumption that these paths are appeneded to the
path when it santizes sys.path to create the isolated environemnt.

However, when SETUPTOOLS_SYS_PATH_TECHNIQUE is set to rewrite the paths
are not appended and are inserted in the middle. This breaks pip's
isolated build env which broke dbcounter installations. We fix this by
not setting SETUPTOOLS_SYS_PATH_TECHNIQUE to rewrite. Upstream indicates
the reason we set this half a decade ago has since been fixed properly.

The reason Jammy and nothing else breaks is that python3.10 is the first
python version to use pip's isolated build envs by default.

I've locally fiddled with a patch to pip [1] to try and fix this
behavior even when rewrite is set. I don't plan to push this upstream
but it helps to illustrate where the problem lies. If someone else would
like to upstream this feel free.

Finally this change makes the jammy platform job voting again and adds
it to the gate to ensure we don't regress again.

[0] https://docs.python.org/3/distutils/sourcedist.html#specifying-the-files-to-distribute
[1] https://paste.opendev.org/show/bqVAuhgMtVtfYupZK5J6/

Change-Id: I237f5663b0f8b060f6df130de04e17e2b1695f8a
2022-05-20 10:35:18 -07:00
Zuul 34c2842676 Merge "Configure placement section in neutron conf" 2022-05-19 17:23:50 +00:00
Dr. Jens Harbott 560ee16a85 Drop openEuler support
The job is broken since it is running with python3.7 and most services
now require at least python3.8.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Ie21f71acffabd78c79e2b141951ccf30a5c06445
2022-05-19 14:06:11 +02:00
Dr. Jens Harbott 083eeee5af Make jammy platform jobs non-voting
We missed to add the jobs to the gate queue and so they have already
regressed before they were actually in place. Make them non-voting for
now until the issues are fixed.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I5d1f83dfe23747096163076dcf80750585c0260e
2022-05-19 13:55:35 +02:00
Zuul 08254ca312 Merge "Add Ubuntu 22.04 LTS (jammy) platform job" 2022-05-19 08:16:18 +00:00
Zuul 2f889954ce Merge "lib/tempest: add wait for Glance image import" 2022-05-18 15:38:49 +00:00
Brian Rosmaita 111a38b4d6 lib/tempest: add wait for Glance image import
Glance image import is asynchronous and may be configured to do image
conversion.  If image import is being used, it's possible that the
tempest configuration code is executed before the import has
completed and there may be no active images yet.  In that case,
we will poll glance every TEMPEST_GLANCE_IMPORT_POLL_INTERVAL seconds
(default: 1) to see if there are TEMPEST_GLANCE_IMAGE_COUNT active
images (default: 1) up to TEMPEST_GLANCE_IMPORT_POLL_LIMIT times
(default: 12).

You can see an example of the issue this patch addresses in real
life:
https://review.opendev.org/c/openstack/glance/+/841278/1#message-456096e48b28e5b866deb8bf53e9258ee08219a0

Change-Id: Ie99f12691d9062611a8930accfa14d9540970cc5
2022-05-18 08:22:49 -04:00
Zuul 9eb64896dd Merge "Use proper sed separator for paths" 2022-05-18 11:30:49 +00:00
yatinkarel 92a34dbe95 Configure placement section in neutron conf
Without it segment plugin fails to connect with
placement api. Configure the placement section
if service is deployed.

Closes-Bug: #1973783
Change-Id: Ie7f37770a04f622735cf2263c601257669ab5064
2022-05-18 15:27:40 +05:30
Zuul 47b7b84422 Merge "Improve API log parsing" 2022-05-18 00:19:23 +00:00
Zuul 4fd2831753 Merge "Change DB counting mechanism" 2022-05-18 00:19:20 +00:00
Zuul 071374fa05 Merge "Collect status of all services" 2022-05-17 18:40:28 +00:00
Zuul 83a81755ac Merge "Wait for OVN dbs also along with sockets" 2022-05-12 19:03:49 +00:00
Dan Smith 64d68679d9 Improve API log parsing
Two runs of the same job on the same patch can yield quite different
numbers for API calls if we just count the raw calls. Many of these
are tempest polling for resources, which on a slow worker can require
many more calls than a fast one.

Tempest seems to not change its User-Agent string, but the client
libraries do. So, if we ignore the regular "python-urllib" agent
calls, we get a much more stable count of service-to-service API
calls in the performance report.

Note that we were also logging in a different (less-rich) format for
the tls-proxy.log file, which hampers our ability to parse that
data in the same format. This switches it to "combined" which is used
by the access.log and contains more useful information, like the
user-agent, among other things.

Change-Id: I8889c2e53f85c41150e1245dcbe2a79bac702aad
2022-05-12 07:55:30 -07:00
Dan Smith fe52d7f0a8 Change DB counting mechanism
The mysql performance_schema method for counting per-database queries
is very heavyweight in that it requires full logging (in a table) of
every query. We do hundreds of thousands in the course of a tempest
run, which ends up creating its own performance problem.

This changes the approach we take, which is to bundle a very tiny
sqlalchemy plugin module which counts just what we care about in
a special database.

It is more complex than just enabling the features in mysql, but it
is a massively smaller runtime overhead. It also provides us the
opportunity to easily zero the counters just before a tempest run.

Change-Id: I361bc30bb970cdaf18b966951f217862d302f0b9
2022-05-12 07:55:02 -07:00
Dr. Jens Harbott 5c765cb8a1 Add Ubuntu 22.04 LTS (jammy) platform job
The new Ubuntu LTS release has been made last week, start running
devstack on it as a platform job.

Horizon has issues with py310, so gets disabled for now.

Run variants with OVS and OVN(default).

Co-Authored-By: yatinkarel <ykarel@redhat.com>
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I47696273d6b009f754335b44ef3356b4f5115cd8
2022-05-12 13:54:02 +02:00
Zuul d450e146cc Merge "Global option for enforcing scope (ENFORCE_SCOPE)" 2022-05-07 10:51:35 +00:00
yatinkarel 1baa8905d5 Wait for OVN dbs also along with sockets
When OVN is setup from distro packages, the
main service is ovn-central which when restarted,
restarts ovn-northd, ovn nb and db services.

And during the restart ovn dbs(ovnnb_db.db and ovnsb_db.db)
are created, which may sometime takes time as seen with
ubuntu jammy tests[1].

We already checking for socket's file to be available,
let's also check for db files as without it ovn-*ctl
operations succeed but changes are not persisted until
db files are available and changes are lost with the restart.

[1] https://review.opendev.org/c/openstack/devstack/+/839389

Change-Id: I178da7af8cba8bcc8a67174e439df7c0f2c7d4d5
2022-05-06 18:06:18 +05:30
yatinkarel 42be2425d8 Collect status of all services
Would be helpful in troubleshooting services
which either fails to start or takes time to
start.

Related-Bug: #1970679
Change-Id: Iba2fce5f8b1cd00708f092e6eb5a1fbd96e97da0
2022-04-29 16:40:32 +00:00
Zuul 85c2999e27 Merge "Tolerate missing deps in get-stats.py" 2022-04-27 22:49:07 +00:00
Zuul bfae1bee79 Merge "Set public bridge up for v6 only configurations" 2022-04-27 10:21:07 +00:00
Zuul 48417ca241 Merge "Drop centos 8 stream testing" 2022-04-26 19:57:12 +00:00
Dan Smith 1b601c7b1e Tolerate missing deps in get-stats.py
In order to run on systems where not all requirements are present,
we should be tolerant of missing external dependencies, such as
psutil and pymysql. Print a warning (to stderr) and just leave out
those stats in that case.

Also make running the stats collector use ignore_errors:yes to avoid
failures in the future. I think the stats is not critical enough to
fail a job for bugs like this.

Related-Bug: #1970195
Change-Id: I132b0e1f5033c4f109a8b8cc776c0877574c4a49
2022-04-26 08:02:39 -07:00
Harald Jensås bab0c92103 Use tryint() for stats value
In some cases the value is [not set], in this case
the conversion to integer does not work.

Closes-Bug: #1970431
Change-Id: I74df7d8bc9f5cbe0709a6471cf7639caea0b58e8
2022-04-26 15:51:35 +02:00
Julia Kreger 6964ba4a98 Set public bridge up for v6 only configurations
A long time ago, Ironic's IPv6 only job started to fail working with
errors indicated the host was unreacable. Turns out, this was because
the $ext_gw_interface was not being set to up, and thus could
be found in a Down state, and thus the kernel would not accept routes
for it.

Adds an explicit step to turn up the public bridge, much as done in
the IPv4 router plugin code which would also be executed in 4+6.

That being said, Ironic's CI jobs are very intentionally IPv6 only
to ensure that we have no chances of v4 addressing getting used
at any point in time.

This should allow Ironic to return it's IPv6 only CI job back
to the normal check queue, once a ironic plugin issue has been
resolved which was introduced while it was removed.

Change-Id: I121ec8a2e9640b21a7126f2eeb23da36b4aa95bf
2022-04-26 06:37:31 -07:00
Grzegorz Grasza 8615563df4 Global option for enforcing scope (ENFORCE_SCOPE)
This updates each devstack service library, to use it as the
default value for service-specific RBAC configuration.

Change-Id: I41061d042206c411ee3dd94ce91098e612af7ae7
2022-04-26 14:17:20 +02:00
Ghanshyam Mann c6dfd169ae Drop centos 8 stream testing
In Zed cycle testing runtime, we are targetting the centos 9 stream
- https://governance.openstack.org/tc/reference/runtimes/zed.html

With dropping the python 3.6 support, project started adding python 3.8
as minimum, example nova:
- https://github.com/openstack/nova/blob/56b5aed08c6a3ed81b78dc216f0165ebfe3c3350/setup.cfg#L13

with that, centos 8 stream job is failing 100%
- https://zuul.openstack.org/build/970d029dc96742c3aa0f6932a35e97cf
- https://zuul.openstack.org/builds?job_name=devstack-platform-centos-8-stream&skip=0

This commit drops centos-8-stream testing so that we focus on centos-9-stream.

Change-Id: I045e67b1ca79aba1b2a7be9f88d7804c69c6d781
2022-04-25 15:24:39 -05:00
Zuul 3b0c035b90 Merge "install mod_ssl on centos 9 stream by default" 2022-04-25 20:04:16 +00:00
Balazs Gibizer 7191c5e7e7 Use proper sed separator for paths
I941ef5ea90970a0901236afe81c551aaf24ac1d8 added a sed command that
should match and delete path values but used '/' as sed separator. This
leads to error in unstack.sh runs when the path also contains '/':

+./unstack.sh:main:188 sudo sed -i '/directory=/opt/stack/ d' /etc/gitconfig
sed: -e expression #1, char 13: unknown command: `o'

So this patch replace '/' separator with '+'.

Change-Id: I06811c0d9ee7ecddf84ef1c6dd6cff5129dbf4b1
2022-04-25 15:26:28 +02:00
Zuul 76c519bde6 Merge "modify the sample value of LOGDAYS" 2022-04-22 11:09:36 +00:00
Zuul 45f71b10ef Merge "Gather performance data after tempest" 2022-04-21 23:06:35 +00:00
Sean Mooney af75f689fa install mod_ssl on centos 9 stream by default
This change adds mod_ssl to the default set of rpms installed
on rpm based distros.

this is required if the tls-proxy service is enabled
for multi node centos based jobs.

Change-Id: I52652de88352094c824da68e5baf7db4c17cb027
2022-04-21 20:40:44 +01:00
Zhou Yanbing 4423450eb3 modify the sample value of LOGDAYS
the value of LOGDAYS in samples/local.conf is 2, so change the
value in the comment and the sample value in the document to
be consistent with it.

Change-Id: I5822bbf1d6ad347c67c886be1e3325113d079114
2022-04-21 15:00:41 +08:00
Dan Smith c2772c2984 Gather performance data after tempest
This makes us gather a bunch of consistent statistics after we run
tempest that can be use to measure the impact of a given change. These
are stable metrics such as "number of DB queries made" and "how much
memory is each service using after a tempest run."

Note that this will always run after devstack to generate the JSON
file, but there are two things that control its completeness:

 - MYSQL_GATHER_PERFORMANCE must be enabled to get per-db stats
 - Unless tls-proxy is enabled, we will only get API stats for keystone

Change-Id: Ie3b1504256dc1c9c6b59634e86fa98494bcb07b1
2022-04-20 13:07:22 -07:00
Mohammed Naser 7fa24750a6 ovn: use bundled ovs
We are using the latest OVS, however, OVN needs to build using the
OVS submodule since some of the signatures don't work[1].

[1]: https://github.com/ovn-org/ovn/issues/128

Change-Id: I3ad7e5e80f1141c3d94f7ce7c8b8f8fdb9fb7c3c
2022-04-20 15:50:34 -04:00
Mohammed Naser 28bed125a2 nova: unset cpu_model on aarch64
Without this, running DevStack on an `aarch64` environment will end
up in cpu_model set to "Nehalem" and cpu_mode set to "host-passthrough"
which does not work.

This patch drops that value under aarch64 environments.

Change-Id: I30be5a388dda5ccf08718670dbb14a28a4a8a8eb
2022-04-20 15:13:33 -04:00
Zuul d380858b2d Merge "Add OpenStack two nodes nodeset for Centos 9" 2022-04-19 05:48:02 +00:00
Dan Smith 4baeb3b51f Write safe.directory items to system git config
This is necessary for more consistent behavior across multiple
distro versions. Apparently somewhere along the way, git started
looking at the current user's home directory instead of $HOME.

Related-Bug: https://bugs.launchpad.net/devstack/+bug/1968798

Change-Id: I941ef5ea90970a0901236afe81c551aaf24ac1d8
2022-04-18 08:05:44 -07:00
Ian Wienand 676dcaf944 Mark our source trees as safe for git to use as other users
git commit [1] introduced a new behaviour to work around a CVE that
disallows any git operations in directories not owned by the current
user.

This may seem unrelated to installation, but it plays havoc with PBR,
which calls out to git to get to get revision history.  So if you are
"pip install"-ing from a source tree you don't own, the PBR git calls
in that tree now fail and the install blows up.

This plays havoc with our model.  Firstly, we checkout all code as
"stack" then install it globally with "sudo" (i.e. root) -- which
breaks.  We also have cases of essentially the opposite -- checkouts
we have installed as root, but then run tox in them as a regular user;
tox wants to install the source in its venv but now we have another
user conflict.

This uses the only available configuration option to avoid that by
globally setting the source directories we clone as safe.  This is an
encroachment of the global system for sure, but is about the only
switch available at the moment.  For discussion of other approaches,
see [2].

Related-Bug: https://bugs.launchpad.net/devstack/+bug/1968798

[1] https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9
[2] https://review.opendev.org/c/openstack/devstack/+/837636

Change-Id: Ib9896a99b6d6c4d359ee412743ce30512b3c4fb7
2022-04-13 16:49:07 +10:00
Zuul ce0ff1fd9d Merge "ensure /usr/local/bin in in path" 2022-04-11 14:57:13 +00:00
Artur Angiel bfbd2be00b Added recursive for deletion of $OVN_RUNDIR
After ./unstack.sh trying to 'enable_plugin venus https://opendev.org/openstack/venus' gived following error:

+lib/neutron_plugins/ovn_agent:install_ovn:363  sudo ln -s /var/run/openvswitch /var/run/ovn
ln: failed to create symbolic link '/var/run/ovn/openvswitch': File exists

which led to:

+lib/neutron_plugins/ovn_agent:cleanup_ovn:801  sudo rm -f /var/run/ovn
rm: cannot remove '/var/run/ovn': Is a directory

Change-Id: I1cafdc0c71093ed7249bb9748b57d51110986686
2022-04-10 11:31:21 +02:00
Sean Mooney eca9783a0a ensure /usr/local/bin in in path
osc is typicaly installed in /usr/local/bin
to avoid command not found errors when invoking osc
in devstack ensure that /usr/local/bin is included
in the PATH.

Change-Id: I605fbc4b131149bf5d1b6307b360fe365c680b1a
2022-04-07 13:31:50 +01:00
afariasa f4a703661e Add OpenStack two nodes nodeset for Centos 9
Change-Id: I01c8e5e0e88d0dcfe778f19548a2e268406ef6bf
2022-04-06 15:24:09 +00:00
Zuul aac6b6c791 Merge "Drop setup.py and setup.cfg" 2022-03-29 17:50:05 +00:00
Zuul 729b196445 Merge "Move openEuler job to experimental pipeline" 2022-03-29 14:03:58 +00:00
Ghanshyam Mann 45b029064f Move openEuler job to experimental pipeline
OpenEuler job fails 100% of the time. As discussed in QA meeting,
we agreed to move OpenEuler job to experimental pipeline.
- https://meetings.opendev.org/meetings/qa/2022/qa.2022-03-22-15.00.log.html#l-76

Once it is fixed, we can think of adding back to regular pipeline.

Change-Id: I831889a09fabe5bed5522d17e352ec8009eac321
2022-03-29 07:18:40 +00:00
Zuul 0ed70e3f76 Merge "Update DEVSTACK_SERIES to zed" 2022-03-28 13:02:03 +00:00
Dr. Jens Harbott 5c51a95d10 Drop setup.py and setup.cfg
devstack isn't a python project, these were introduced only for docs
building and made redundant with [0]. We can remove them now.

[0] Iedcc008b170821aa74acefc02ec6a243a0dc307c

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I90ca1c6918c016d10c579fbae49d13fff1ed59af
2022-03-28 14:00:54 +02:00
Zuul e79913c65f Merge "ignore failures to copy the devstack cache" 2022-03-27 09:57:23 +00:00
zhouyanbing 8dc342d400 remove unuseful local variable define
the local varibale: api_cell_conf in start_nova_rest function
is unuseful, so remove it now.

Change-Id: I0019ce807cf3905ee246b684fce2abcb46336306
2022-03-26 14:22:23 +08:00
Martin Kopec 189c7ff142 Update DEVSTACK_SERIES to zed
stable/yoga branch has been created now and
current master is for zed.

Change-Id: I8743a3440a0ce96acb24b34971548b43ae7c8d4c
2022-03-25 14:06:52 +01:00
Zuul 14779fc992 Merge "Clean usage of project_id in the Neutron's L3 service module" 2022-03-24 03:21:17 +00:00
Slawek Kaplonski cebd00aa04 Clean usage of project_id in the Neutron's L3 service module
After patch [1] project_id in that module is no longer needed as to make
it working with new secure RBAC policies we had to hardcode "demo"
project to be used always.
This is small follow-up patch with cleaning after [1].

[1] https://review.opendev.org/c/openstack/devstack/+/826851/

Change-Id: Iddf9692817c91807fc3269547910e4f83585f07f
2022-03-23 15:30:38 +01:00
Zuul a9d392cdbb Merge "Do not use hardcoded IPv4 localhost value" 2022-03-23 10:51:30 +00:00
Ghanshyam Mann 369042b74f Make centos-9-stream job voting
bug#1960346 is fixed by the below series
- https://review.opendev.org/q/(topic:bug/1960346+OR+topic:wait_until_sshable_pingable)+status:merged
and now centos-9-stream job is passing and made voting
on tempest gate.

This commit makes devstack centos9 steam platform job
as voting and add it gate pipeline too.

Change-Id: Ic35420c5d58926ae90a136045a1558112accc533
2022-03-22 10:59:07 -05:00
Zuul 194790df85 Merge "Clean up unified limits configuration for nova and glance" 2022-03-18 19:26:28 +00:00
Brian Haley 7943a92bdb Do not use hardcoded IPv4 localhost value
There are a couple of places that still use a hardcoded
127.0.0.1 value, even if devstack is run with
SERVICE_IP_VERSION=6 in local.conf. While things still
work, SERVICE_LOCAL_HOST should be used instead since
everything else could be using IPv6.

Change-Id: I2dd9247a4ac19f565d4d5ecb2e1490501fda8bca
2022-03-14 16:04:08 -04:00
Michael Johnson 35bc600da1 Fix tls-proxy on newer versions of openssl
Newer versions of openssl (CentOS9Stream for example) do not like using sha1.
Devstack will fail on these systems[1] with the following error:
801B93DCE77F0000:error:03000098:digital envelope routines:do_sigver_init:invalid digest:crypto/evp/m_sigver.c:333:
This patch updates the tls-proxy code in devstack to use sha256 instead of sha1 which allows devstack to complete when tls-proxy is enabled.

[1] https://zuul.opendev.org/t/openstack/build/1d90b22a39c74e24a8390861b3c5f957/log/job-output.txt#5535

Closes-Bug: #1962600

Change-Id: I71e1371affe32f070167037b0109a489d196bd31
2022-03-11 20:28:39 +00:00
Sean Mooney 13e8db5a6f ignore failures to copy the devstack cache
If the ci images do not have any cached data
we should ignore any error when trying to copying it.
This is requried when using unmodified cloud images.

Change-Id: Ia6e94fc01343d0c292b1477905f8a96a6b43bcf8
2022-03-09 20:17:31 +00:00
melanie witt 2c96180ac8 Clean up unified limits configuration for nova and glance
This is a followup for change Ifdef3510bc7da3098a71739814e35dbaf612ae34
which added configuration of unified limits for nova. This removes an
unnecessary wrapper unsetting of OS_ env variables, unnecessary quoting
on an iniset config value, and a hardcoding of user domain. The glance
code from which the nova code was originally copied is also cleaned up.

Change-Id: I4921af5cc0f624dd5aa848533f7049ee816be593
2022-03-03 23:56:48 +00:00
Zuul a435078fcb Merge "Configure nova unified limits quotas" 2022-03-03 19:12:13 +00:00
Zuul 9bf989eb1a Merge "Made LVM backing disk persistent" 2022-03-02 15:04:47 +00:00
OpenStack Proposal Bot a2ff754536 Updated from generate-devstack-plugins-list
Change-Id: Iff2bf021edee9be3bae21b67e66fe07c552f3a05
2022-03-02 02:13:44 +00:00
Zuul bbe302da85 Merge "Fix installation with OVN backend and compilation" 2022-02-28 10:47:14 +00:00
Zuul 2462893787 Merge "Default CIRROS_ARCH to host arch" 2022-02-22 16:45:51 +00:00
Zuul 8339df0399 Merge "Made Swift backing disk persistent" 2022-02-22 01:54:52 +00:00
Jakob Meng e30620e9a6 Made Swift backing disk persistent
Previously, Swift's backing disk were not be mounted after reboots,
causing swift-proxy-server service to fail with cryptic error
messages such as 'proxy-server: ERROR Insufficient Storage'. Now,
we use 	Dan Smith' create_disk function from functions to create
the backing disk for us and add it to /etc/fstab.

Change-Id: I9cbccc87bc94a55b58e9badf3fdb127d6f1cf599
2022-02-21 20:04:23 +01:00
Zuul d343a70003 Merge "Revert "Revert "Add enforce_scope setting support for keystone""" 2022-02-21 15:33:18 +00:00
Zuul 5e7dad1146 Merge "Use devstack-system-admin for keystone objects creation" 2022-02-21 15:22:08 +00:00
Victor Morales c0882aeaae Add rsync deb package for swift
The rsync debian package is required for swift service. This
requirement has been covered by rpms but not for deb packages.

Change-Id: Iefd1302be9c7fd80e037bbae3638602d6d823580
2022-02-16 18:15:12 -08:00
OpenStack Proposal Bot ef6fac7959 Updated from generate-devstack-plugins-list
Change-Id: If1b667cd4af88511cb1672645a980c9c4fc557ae
2022-02-16 02:16:15 +00:00
Sean Mooney 17b1999eab Default CIRROS_ARCH to host arch
This change use uname -m to get the portable host arch and uses that
as a new default. on x86_64 hosts this should result in no visable change
in behavior however on a non x86 host it will cause devstack to attempt
to download a cirros image that matches the host.

Change-Id: I6d1495a23400ef4cf496302028324fa5794dd45f
2022-02-09 22:14:24 +00:00
Rodolfo Alonso Hernandez 8c6710326e Fix installation with OVN backend and compilation
This patch fixes several issues related to the installation with
OVN backend with the OVS/OVN compilation enabled.

The OVS/OVN local directories prefix, when both services are compiled,
is now "/usr/local".

The "ovn_agent._run_process" function is calling "ovs-appctl" to
configure the logging settings of several services. Instead of
using the service name, the ctl socket file is used instead. That
is more robust and does not fail in systems with previous
installations.

Closes-Bug: #1960514

Change-Id: I69de5333393957593db6e05495f0c3c758efefdf
2022-02-09 21:22:46 +00:00
Zuul 62d6ffa6b3 Merge "Revert "Disable enforcing scopes in Neutron temporary"" 2022-02-08 22:41:18 +00:00
Zuul 1a8b8573ea Merge "Fix deployment of Neutron with enforced scopes" 2022-02-08 22:39:25 +00:00
Zuul 7799e74a05 Merge "Bump fedora-latest to F35" 2022-02-08 22:34:32 +00:00
Jakob Meng accd99e7cd Made LVM backing disk persistent
Previously, loop devices for LVM volume groups backing files were not
created after reboots, causing e.g. Cinder to fail with messages such
as

  ERROR cinder.service [-] Manager for service cinder-volume
  devstack@lvmdriver-1 is reporting problems, not sending
  heartbeat. Service will appear "down".

Now, we use systemd services to manage loop devices for backing files.

Change-Id: I27ec027834966e44aa9a99999358f5b4debc43e0
2022-02-08 11:05:14 +01:00
Zuul f9f6208960 Merge "Add openstack-two-node-centos-8-stream" 2022-02-07 22:42:44 +00:00
Ian Wienand 343e351627 Bump fedora-latest to F35
Generally this is straight forward, but Horizon has a dependency issue
with pyScss (described in [1]) so it is disabled, for now.

[1] https://bugs.launchpad.net/horizon/+bug/1960204

Co-Authored-By: Dr. Jens Harbott <harbott@osism.tech>
Depends-On: https://review.opendev.org/c/openstack/devstack/+/827578
Change-Id: I7c4bf0945f9ac5bd563fe0a698c09b8571c97c5e
2022-02-08 08:08:19 +11:00
Zuul c6ecac744f Merge "revert stackrc execute permissions" 2022-02-05 00:32:06 +00:00
Zuul 091e20b28a Merge "Adapt compute node local.conf to OVN" 2022-02-05 00:26:11 +00:00
Sean Mooney 85c7d8db4e revert stackrc execute permissions
This change reverts the execute permissions from
stackrc which is not meant to be run as a script but sourced
as part of stack.sh

Change-Id: I9a05051e5a297cfaf78d097fa5f90a7c5fd254a6
2022-02-04 12:59:56 +01:00
Rodolfo Alonso Hernandez a756f4b968 Add python3.6 pip support
Since pip v22, python3.6 is not supported (the minimum version is
python3.7). This patch adds the reference for the pip3.6 URL to be
used instead of the default one.

Closes-Bug: #1959600
Change-Id: Iab2c391d5388461fe9e9037cee81884ce8032e72
2022-02-01 11:27:05 +00:00
melanie witt 099a048fb9 Configure nova unified limits quotas
This enables the configuration of nova to use unified limits in
keystone and enforcement in oslo.limit.

Related to blueprint unified-limits-nova

Depends-On: https://review.opendev.org/c/openstack/nova/+/715271

Change-Id: Ifdef3510bc7da3098a71739814e35dbaf612ae34
2022-01-28 20:00:00 +00:00
Zuul 099411815b Merge "Use distro pip on Ubuntu" 2022-01-28 18:49:06 +00:00
Slawek Kaplonski 081c9b716f Revert "Disable enforcing scopes in Neutron temporary"
This reverts commit be7b5bf671.

As related bug is fixed, lets enabled scope enforcement in Neutron
again.

Related-bug: #1959196
Change-Id: I72db7ef533e78a10734d105e6a0debef288e41a1
2022-01-28 09:52:53 +01:00
Slawek Kaplonski 14a0c09001 Fix deployment of Neutron with enforced scopes
After patch [1] new RBAC policies changed in the way that SYSTEM_ADMIN
user isn't anymore allowed to e.g. create resources in behalf of some
projects. Now PROJECT_ADMIN needs to create such resources instead.
So this patch basically reverts most of the changes which were done
in [2] some time ago.
It also introduces new entry in the clouds.yaml file -
"devstack-admin-demo" which is "admin" user in the "demo" project as
it's needed to create some resouces in the demo project now.

Additionally, because of bug [3] this patch changes way how IPv6
external gateway IP is found using Neutron API. This change may be
reverted in the future when bug [3] will be fixed.

[1] https://review.opendev.org/c/openstack/neutron/+/821208
[2] https://review.opendev.org/c/openstack/devstack/+/797450
[3] https://bugs.launchpad.net/neutron/+bug/1959332

Depends-On: https://review.opendev.org/c/openstack/neutron/+/826828

Closes-Bug: #1959196
Change-Id: I32a6e8b9b59269a8699644b563657363425f7174
2022-01-28 09:52:20 +01:00
Ade Lee 1fd45940f3 Add openstack-two-node-centos-8-stream
This will allow multinode FIPS testing

Change-Id: I82b3b8fe56275aed72e13f6d1bd9170c50e5da0d
2022-01-27 15:57:13 +00:00
Slawek Kaplonski be7b5bf671 Disable enforcing scopes in Neutron temporary
After patch [1] was merged in Neutron, enforcing scopes there
is broken.
So lets disable it temporary to unblock Devstack's gate for now.

[1] https://review.opendev.org/c/openstack/neutron/+/821208

Related-Bug: #1959196
Change-Id: I24da6f3897a638749d16f738329a873a5f9a291d
2022-01-27 16:04:32 +01:00
Zuul 6bec828d8e Merge "Fix typo in multinode-lab document" 2022-01-27 08:34:35 +00:00
Grzegorz Grasza 5f5002a378 Revert "Revert "Add enforce_scope setting support for keystone""
This reverts commit 26bd94b45e.

Reason for revert: Devstack keystone creation/setup are moved to
scope tokens, so we can reintroduce the scope check enable.

Change-Id: I6e1c261196dbcaf632748fb6f04e0867648b76c7
2022-01-26 15:41:18 +01:00
Grzegorz Grasza ae40825df6 Use devstack-system-admin for keystone objects creation
This is needed so we can set keystone into enforcing secure RBAC.
This also adjusts lib/glance, which already partially used
devstack-system-admin.

Change-Id: I6df8ad23a3077a8420340167a748ae23ad094962
2022-01-26 15:40:42 +01:00
Dr. Jens Harbott d6909e41af Use distro pip on Ubuntu
Running get-pip.py fails on Ubuntu when running twice, e.g. after a
unstack/stack cycle. Just use distro pip instead.

Closes-Bug: #1957048
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I87a8d53ed8860dd017a6c826dee6b6f4baef3c96
2022-01-22 17:02:29 +01:00
Pierre Riteau 0a31630323 Adapt compute node local.conf to OVN
The default Neutron configuration is now using OVN, but the multinode
lab was using an incompatible configuration:

    The q-agt/neutron-agt service must be disabled with OVN.

Change-Id: I518a739a3daac941880463cde6b47951331d0911
2022-01-21 10:07:07 +01:00
yatinkarel d5d0bed479 Workaround CentOS 8-stream bug until fixed
Recent iputils release in CentOS 8-stream causing
ping failures with non root user. This needs a fix
in systemd package as mentioned in the Related Bugs,
until it's fixed and is in 8-stream mirrors let's
workaround it by setting net.ipv4.ping_group_range
setting manually.

Related-Bug: #1957941
Related-Bug: rhbz#2037807
Change-Id: I0d8dac910647968b625020c2a94e626ba5255058
2022-01-17 08:43:52 +00:00
Zuul b6656b7b38 Merge "Clean up compile_ovn function's parameters" 2022-01-13 17:43:52 +00:00
Zuul 6d55b2a439 Merge "Allow skip the database server installation" 2022-01-12 15:40:57 +00:00
Zuul df551da6f5 Merge "Fix cloning requirements when GIT_DEPTH is set" 2022-01-11 18:51:34 +00:00
Zuul 3a373536f1 Merge "Deprecate lib/neutron" 2022-01-11 17:29:14 +00:00
elajkat c994dc4de2 Deprecate lib/neutron
lib/neutron-legacy was recently undeprecated (see [0]), Openstack CI
uses neutron-legacy and latest work was done in it also.
To avoid double maintenance lib/neutron can be deprecated.

For latest discussion see [1] and [2].

[0]: https://review.opendev.org/c/openstack/devstack/+/704829
[1]: https://meetings.opendev.org/meetings/networking/2022/networking.2022-01-04-14.04.log.html#l-52
[2]: https://meetings.opendev.org/irclogs/%23openstack-qa/%23openstack-qa.2022-01-05.log.html#t2022-01-05T15:57:37

Related-Bug: #1955765
Change-Id: I3fc328b7f47ccd7c1a97cceeea98fb2fbd609017
2022-01-11 14:14:20 +01:00
Zuul 35aa64e5f7 Merge "Added AlmaLinux to CentOS 8 family" 2022-01-11 01:53:55 +00:00
Carlos Camacho cc6e20b24d Allow skip the database server installation
This patch allows to skip the installation
of the database backend packages (MySQL or Postgres)
with the introduction of the INSTALL_DATABASE_SERVER_PACKAGES
variable (defaulted to True).
This is useful in such environments that do not require
to install the MySQL/Postgres server packages directly but using
a container serving that purpose, for those cases all the
remaining steps should be executed just skipping the
packages install.

Change-Id: I26628a31fdda3ce95ed04a2b7ae7b132c288581f
2022-01-10 09:26:56 +01:00
Zuul 6133c1c959 Merge "Only set chap algorithms if not openeuler" 2022-01-07 19:21:40 +00:00
Dr. Jens Harbott 807330ac37 Fix cloning requirements when GIT_DEPTH is set
We always need the master branch of requirements in order to be able to
install tempest with it, so override GIT_DEPTH when cloning that repo.

Closes-Bug: 1956616
Change-Id: Id0b409bfadd73f2c30314724178d6e199121050b
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
2022-01-07 11:42:26 +01:00
Ade Lee ac958698d0 Only set chap algorithms if not openeuler
For some reason, setting the CHAPAlgorithms as in c3b705138
breaks OpenEuler.  Making this conditional so that tests continue
to pass.

Change-Id: Iaa740ecfbb9173dd97e90485bad88225caedb523
2022-01-06 15:20:07 -05:00
Eduardo Santos 4448f243f3 Fix public subnet creation command
There was no space after the --project option in the command that
creates the public subnet, thus if any option follows, the option itself
will be parsed as part of the value passed to the --project option. This
change just adds the missing space.

Change-Id: I1e7375578342a82717222e902fcd65a4a62e33a7
2022-01-06 14:03:16 -03:00
Zuul 9154bf543d Merge "Install OVS from source when it was configured like that" 2022-01-06 00:39:16 +00:00
Zuul e091481341 Merge "Fix tempest upper-constraints" 2022-01-05 10:57:21 +00:00
Zuul 3c98c21fec Merge "Fix mysqladmin failure for Fedora 34 and mariadb" 2022-01-04 19:23:59 +00:00
Zuul 0486d4ccf3 Merge "init_cinder() shouldn't always create DEFAULT_VOLUME_GROUP_NAME" 2022-01-04 18:50:10 +00:00
Zuul 7b0251cf37 Merge "Fix stacking without preconfigured DATABASE_PASSWORD" 2022-01-04 18:33:26 +00:00
Dr. Jens Harbott 2ef4a4c851 Fix tempest upper-constraints
When deploying devstack in a stable branch, the master branch is
available locally only in a CI environment where Zuul prepares all
available branches. For a non-CI deployment we need to stick to using
the remote branch as was the case before [0].

While the situation on the master branch isn't really broken, we apply
the fix here anyway so that future stable branches are created in a
working state.

[0] I5d42ac6b54bf20804d7e5faa39d1289102318b64

Closes-Bug: #1956219
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Ib7719cb2d48b34db70f885e0afe77d904abba3b5
2022-01-03 19:27:22 +01:00
Zuul 858aca019c Merge "Don't enable the dstat service in CI jobs" 2022-01-03 18:00:28 +00:00
Miguel Lavalle c1a75c6a50 Fix mysqladmin failure for Fedora 34 and mariadb
mysqladmin is incorrectly installed in Fedora 34 with mariadb. This
causes the failure of Zuul Fedora based jobs. The issue is a conflict
between mariadb and community mysql that is described in [1] and [2].

The workaround is to explicitly install package "mariadb"

Also configure an increased swap size like for the other platform jobs
in order to avoid OOM issues.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2026933
[2] https://lists.launchpad.net/maria-discuss/msg06179.html

Closes-Bug: #1956116
Change-Id: Icf6d7e1af5130689ea10b29d37cc9b188b2c9754
2022-01-03 15:33:35 +01:00
Zuul 3155217fb6 Merge "openEuler 20.03 LTS SP2 support" 2021-12-30 12:04:44 +00:00
Zuul 1d7d8e6a17 Merge "Enable oslo.limit to be installed from git repo" 2021-12-30 10:54:09 +00:00
Zuul 71c215ac29 Merge "Revert "Generate deprecation warning for postgresql"" 2021-12-30 10:29:00 +00:00
Zuul 98df253eae Merge "Add option to set chap algorithms for iscsid for FIPS" 2021-12-30 10:28:57 +00:00
Zuul 559f8cc150 Merge "Use MDB backend in Ubuntu" 2021-12-30 10:28:54 +00:00
Zuul 13526abe84 Merge "cinder-backup: Ensure ca cert is defined when tls-proxy is enabled" 2021-12-30 09:32:21 +00:00
yatinkarel 05e622ead2 Use upper-constraints from in review changes
Currently upper-constraints.txt is not getting used
from in-review changes of requirements project and
leading to merge of broken requirements[1].

Use master branch to fetch constraints instead of
the remote branch.

[1] https://review.opendev.org/c/openstack/requirements/+/822575

Depends-On: https://review.opendev.org/c/openstack/requirements/+/823128
Change-Id: I5d42ac6b54bf20804d7e5faa39d1289102318b64
2021-12-29 09:48:39 +00:00
Dr. Jens Harbott 134205c138 Don't enable the dstat service in CI jobs
We still are seeing regular job failures because the pcp package fails
to install. Assume that we can still enable it on demand when someone
needs to debug specific job issues, let us just disable it by default.

Related-Bug: 1943184
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I32ef8038e21c818623db9389588b3c6d3f98dcad
2021-12-23 12:29:14 +01:00
Dr. Jens Harbott 353c3f9cb1 Fix stacking without preconfigured DATABASE_PASSWORD
When we need to read a DATABASE_PASSWORD from the user, make sure we
actually use it in our database URLs.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I5ebf6b0280e82f2c87a63cbee7a9957c6bd26898
2021-12-23 12:07:29 +01:00
Slawek Kaplonski 5888947539 Clean up compile_ovn function's parameters
That function was accepting 3 positional arguments and first
of them was boolean value "build_modules" which isn't used anywhere in
that function.
So this patch cleans it a bit by removing that not used parameter.

Change-Id: I5c57b9116338a63b7bfb170c02e33bb4eae725da
2021-12-22 16:00:29 +01:00
Kevin Zhao 7880ba665e openEuler 20.03 LTS SP2 support
openEuler is an open-source Linux based operating system. The current
openEuler kernel is based on Linux and supports multi arch, such as X86_64
and aarch64. It fully unleashes the potential of computing chips. As an
efficient, stable, and secure open-source OS built by global open-source
contributors, openEuler applies to database, big data, cloud computing,
and AI scenarios. openEuler is using RPM for package management.

Note:
Currently there is no available package for uwsgi-plugin-python3 and ovn, so that
openEuler needs manually install them from source.

Website: https://www.openeuler.org/en/

Change-Id: I169a0017998054604a63ac6c177d0f43f8a32ba6
Co-Authored-By: wangxiyuan <wangxiyuan1007@gmail.com>
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2021-12-22 14:47:27 +08:00
Slawek Kaplonski 24b65adc9c Deploy Neutron with enforced new RBAC rules
This patch adds new config option NEUTRON_ENFORCE_NEW_DEFAULTS which
if set to True will deploy Neutron with enforce new rbac defaults and
scopes.
It will also use SYSTEM_ADMIN user to interact with Neutron where it is
needed.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/798821

Change-Id: I14d934f0deced34d74003b92824cad3c44ec4f5e
2021-12-20 14:42:35 +01:00
Ade Lee c3b7051387 Add option to set chap algorithms for iscsid for FIPS
The default CHAP algorithm for iscsid is md5, which is disallowed
under fips.  We will set the chap algorithm to "SHA3-256,SHA256",
which should work under all configurations.

Change-Id: Ide186fb53b3f9826ff602cb7fb797f245a15033a
2021-12-08 19:20:40 -05:00
Slawek Kaplonski 4185358837 Install OVS from source when it was configured like that
Function _neutron_ovs_base_install_agent_packages always tried to
install openvswitch from packages and start it using systemd units.
That was failing when ovs was expected to be installed from source.
This patch fixes that.

Change-Id: Iae8625dd800d30061ea3dbed9eb0dfbe16f21572
2021-12-08 14:09:49 +00:00
Zuul 6c849e3713 Merge "Support CentOS Stream 9" 2021-12-04 18:18:06 +00:00
Zuul a77943f8aa Merge "Remove unnecessary member role assignments from alt_demo" 2021-12-04 18:18:03 +00:00
Zuul 39acde91f9 Merge "Only write out uwsgi configs when deploying API services" 2021-12-04 17:33:24 +00:00
Lee Yarwood fc8ef86fbe Only write out uwsgi configs when deploying API services
Previously this would always happen for Nova and Cinder even if n-api
and c-api were not enabled on the host respectively.

This change stops this by placing both calls write_uwsgi_config behind
is_service_enabled checks.

Change-Id: I997685da771736dbad79bcfe4b00dbc63bd6d6b6
2021-12-03 12:09:08 +00:00
Lee Yarwood 31334f9a9b nova: Use noVNC 1.3.0 when installing from source
Additionally make the repo name lowercase to match the project name in
our zuul config so that jobs can check the repo out.

Change-Id: Ic2d9c4fa837461bbc29e067a81912b5f72efd3ca
2021-12-03 12:09:01 +00:00
Alfredo Moralejo 5ea4c3c18c Support CentOS Stream 9
This patch includes changes required to run devstack on CentOS Stream 9
which has been already published in official repos by CentOS team [1]:

- Add RDO deps repository for CS9.
- remove xinetd package from installation for swift. Note that
  rsync-daemon is installed which should work fine.
- Replace genisoimage by xorriso in CS9.
- Use /etc/os-release to identify the distro in CS9 as it doesn't
  provide lsb_release command.
- Use pip from rpm package instead of from get-pip.py as done in Fedora.
- Add non-voting job devstack-platform-centos-9-stream to the check
  pipeline.

Change-Id: Ic67cddabd5069211dc0611994b8b8360bcd61bef
2021-12-02 09:10:48 +01:00
Zuul 1414bcfa22 Merge "Remove unnecessary unset for project-scoped token in glance" 2021-12-01 11:27:33 +00:00
Zuul 7020daf7fc Merge "Cleanup keystone library" 2021-11-30 17:59:03 +00:00
Roman Dobosz bd68251463 Change a way for creating data dir in case of OVN.
Calculate the sudo usage with local variable.

Change-Id: I39dff770ff296dc06395acdb430a9cfe1722a30f
2021-11-27 08:12:04 +01:00
yatinkarel b575af0cfe Do not use sudo with OVN_DATADIR when building from source
Jobs with OVN_BUILD_FROMS_SOURCE=True are broken
since [1] as ovn nortd not starting due to permission
issues. Fix it by not using sudo for creating OVN_DATADIR
when building from source.

[1] https://review.opendev.org/c/openstack/devstack/+/806858

Closes-Bug: #1952393
Change-Id: I00f0c8c8173b4d8270fbb3e6079d0d8b332e9de5
2021-11-26 13:44:10 +05:30
Lance Bragstad afd0f84eae Remove unnecessary unset for project-scoped token in glance
Before, we needed to unset a couple of parameters that would make the
client return a project-scoped token instead of a system-scoped token,
which we need when interacting with registered limits in keystone.

This commit removes those unsets since we no longer source those
variables by default. This commit also cleans up some of the redundant
parameters in the registered limit calls, like region.

Change-Id: I1af8a168a29e895d57504d41e30efea271ea232d
2021-11-26 07:26:56 +00:00
Zuul acc9bd6ab9 Merge "Fix OVN DBs cleanup on startup" 2021-11-25 10:38:27 +00:00
Takashi Kajinami c20cd8ed9d cinder-backup: Ensure ca cert is defined when tls-proxy is enabled
Change-Id: Id679eb7061d8e609ce76fbb5b720a041990e8e86
2021-11-24 01:35:46 +09:00
Gregory Thiemonge 6822ff3944 Fix OVN DBs cleanup on startup
When initializing OVN, clean up the correct database directory when
using OVN from packages (/var/lib/ovn/ instead of /opt/stack/data/ovn/).
The /opt/stack/data/ovn location is used only when building OVN from
sources, so a fresh devstack deployment with OVN packages may already
have hundreds of existing routers and ports, creating ARP collisions.

Closes-Bug: #1942201
Change-Id: Ic90d4f2f9d8aaef825ea3325c0ad8fef2a1c5e39
2021-11-23 16:17:24 +01:00
Takashi Kajinami 65a5db8e33 keystone: Dot not set the removed admin_endpoint parameter
The admin_endpoint parameter has been removed from keystone[1], and
setting the parameter is no longer effective.

[1] 192cde56e57a06750641b319da8a72cdcaa554d0

Change-Id: I6ae6a3122668551acc018972624e914fcbb79a22
2021-11-23 12:03:20 +01:00
Lance Bragstad 1d8888dc24 Remove unnecessary member role assignments from alt_demo
This user already has the admin role assignment on a project, which
implies the member role, making explicit calls to add the member role
redundant.

Change-Id: I398c5e2f098aeeb896de83872085cbce529a778a
2021-11-22 21:28:20 +00:00
Zuul 94facb0759 Merge "Add missing ml2, L2 and L3 agent functions to devstack" 2021-11-19 01:10:09 +00:00
Julia Kreger c96993d138 Make OS_CLOUD be able to be configured
OS_CLOUD is used to communiate to CLI tools what cloud
credentials to utilize.
The change I86ffa9cd52454f1c1c72d29b3a0e0caa3e44b829
unfortunately set an explicit OS_CLOUD account which breaks
any jobs which are expecting a previosuly set OS_CLOUD which
may be different to work. For example, OS_CLOUD being set
as devstack-system-admin to facilitate Secure RBAC testing.

Change-Id: Iee900e552584dda622f57eea3508df48dff2e071
2021-11-18 10:39:36 -08:00
Slawek Kaplonski faed11d2a1 Add missing ml2, L2 and L3 agent functions to devstack
Previously those functions were defined in the neutron's devstack plugin
but with [1] we moved qos related code into devstack and we missed about
moving them too.
This is follow up patch to fix that issue.

[1] https://review.opendev.org/c/openstack/devstack/+/815686

Change-Id: Icf459a2f8c6ae3c3cb29b16ba0b92766af41af30
2021-11-18 16:42:40 +01:00
Zuul 487057de80 Merge "Add additional project personas for secure RBAC" 2021-11-18 00:22:24 +00:00
Zuul 8d7ac90f00 Merge "Stop creating userrc_early" 2021-11-17 19:49:59 +00:00
Dr. Jens Harbott f56f7a557a Stop creating userrc_early
We can use the devstack-admin cloud configuration everywhere now
and don't need to set environment variables with cloud credentials
any longer.

Fix the swift setup, where some more options need to be explicitly
specified now and the default OS_CLOUD setting overridden.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I86ffa9cd52454f1c1c72d29b3a0e0caa3e44b829
2021-11-16 19:35:32 +01:00
Slawek Kaplonski f9a896c6e6 Rehome functions to enable Neutron's QoS service
Those functions were part of the neutron devstack plugin but we
discussed it during last PTG [1] and decided to move to the Devstack
repo plugins which are used by e.g. CI jobs which are defined outside
of the neutron repository.
QoS service is used e.g. in the tempest-slow job which is
defined in tempest and used by many different OpenStack projects.

[1] https://etherpad.opendev.org/p/neutron-yoga-ptg#L142

Change-Id: I48f65d530db53fe2c94cad57a8072e1158d738b0
2021-11-13 19:52:06 +00:00
Lance Bragstad 9c81321bfc Add additional project personas for secure RBAC
This commit formalizes some additional users to act as different project
users and updates clouds.yaml file so they're easy to use.

It creates:

  - a reader on the demo project
  - a reader on the alt_demo project
  - a member on the alt_demo project

With the adoption of secure RBAC personas, these are useful for using
OpenStack APIs as that work continues.

Change-Id: I3237a771275311377313b7d7d80ac059ac69d031
2021-11-13 20:41:43 +01:00
Zuul 483e7e243a Merge "Rehome functions to enable Neutron's placement integration" 2021-11-13 19:02:48 +00:00
Zuul 05e9cb1e19 Merge "Clarify error message for ERROR_ON_CLONE=True" 2021-11-12 22:18:44 +00:00
Dr. Jens Harbott 95555ba398 Cleanup keystone library
IDENTITY_API_VERSION is hardcoded to 3 in most locations already, drop
the remaining occurrences, but keep the variable definition since some
plugins still depend on it. Drop ENABLE_IDENTITY_V2 which no longer
has any effect.

Amend variable list for bootstrap_keystone().

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I06f476d2105bc6ec2b511fc5effcfcc3973eaf97
2021-11-10 06:24:15 +01:00
Zuul 55c7830b4b Merge "Update lib/keystone to add more system users" 2021-11-09 16:11:47 +00:00
Zuul 2000d0ccf3 Merge "neutron-legacy: Remove no longer necessary vpnaas conditional" 2021-11-09 13:59:10 +00:00
Lance Bragstad 021ae0bcc8 Update lib/keystone to add more system users
Keystone has supported system-scope since Queens and we already make
sure we create a cloud profile for system-admin in
/etc/openstack/clouds.yaml.

This commit ensures keystone creates a couple of new users to model
system-member and system-reader personas. Doing this by default in
devstack makes it easier for people to use.

We've already taken a similar approach in tempest by setting up the
various system personas for tempest clients to use.

Change-Id: Iceb7c5f517db20072e121dc7538abaa888423c67
2021-11-05 10:44:58 +01:00
Zuul d28865ba3d Merge "Run Bullseye with more swap" 2021-11-04 23:55:11 +00:00
Zuul a2d4d08b00 Merge "Allow cinder default quotas configuration" 2021-11-04 22:08:00 +00:00
Dr. Jens Harbott f8e00b86ae Run Bullseye with more swap
Since Bullseye like Centos 8 Stream needs more memory due to changed
default settings in newer qemu versions, set the swap size to 4G, which
is the same setting already being used for the CS8 jobs successfully.

Change-Id: I83ea34d6aa647d2ab9d4d78ed354904fce836e68
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
2021-11-04 15:28:50 +01:00
Zuul 9101fbf5c4 Merge "Switch off creating a keystone admin endpoint by default" 2021-11-04 14:20:50 +00:00
Ghanshyam Mann 325792d9b9 Clarify error message for ERROR_ON_CLONE=True
If ERROR_ON_CLONE is set to True which is case for
all the devstack based job, devstack does not clone the
repo instead raise error. From current error message, it
is difficult to know that ERROR_ON_CLONE is True until we
traceback the code or check devstack-base job set ERROR_ON_CLONE
to True.

Current error message is like:
-------
+ functions-common:git_clone:560           :   echo
'The /opt/stack/oslo.limit project was not found; if this is a gate job, add'
  The /opt/stack/oslo.limit project was not found; if this is a gate job, add
+ functions-common:git_clone:561           :   echo 'the project to the
 $PROJECTS variable in the job definition.'
the project to the $PROJECTS variable in the job definition.
+ functions-common:git_clone:562           :   die 562 'Cloning not
  allowed in this configuration'
--------

Adding ERROR_ON_CLONE info in error message will help to
know the reason of devstack not cloning the repo.

Change-Id: I9e9852f046fefb299b4ef4446323e9c86437212f
2021-11-03 19:34:19 +00:00
Zuul c053269fc3 Merge "Make creation of keystone admin endpoint optional" 2021-11-03 12:30:10 +00:00
Zuul fb2e741008 Merge "Stop creating a keystone admin site" 2021-11-03 12:30:07 +00:00
Zuul bca0448438 Merge "Create clouds.yaml early enough" 2021-11-02 17:54:37 +00:00
Slawek Kaplonski 7f6d9283b8 Rehome functions to enable Neutron's placement integration
Those functions were part of the neutron devstack plugin but we
discussed it during last PTG [1] and decided to move to the Devstack
repo as plugins which are used by e.g. CI jobs which are defined outside
of the neutron repository.
Placement integration is used e.g. in the tempest-slow job which is
defined in tempest and used by many different OpenStack projects.

[1] https://etherpad.opendev.org/p/neutron-yoga-ptg#L142

Change-Id: Ib86071881f16de1b69c0f9b1b19b6df8b7e66a07
2021-10-27 16:40:30 +02:00
Zuul c8134987c9 Merge "Use Nehalem CPU model by default" 2021-10-22 13:27:53 +00:00
Zuul af23507c34 Merge "Fix use of yaml.load()" 2021-10-22 12:00:35 +00:00
Clark Boylan e06d954229 Use Nehalem CPU model by default
CentOS/RHEL 9 are being compiled for the x86_64-v2 architecture which is
newer than the qemu default of qemu64. This means that for devstack to
boot these instances we need a newer CPU model. Nehalem is apparently
the oldest model that works for x86_64-v2 and is expected to work on
Intel and AMD cpus with kvm or qemu. Switch devstack to this model by
default.

Note that we cannot use host-passthrough or host-model because we want
to support live migration between devstack deployed nova-compute
instances and even within the CI instances that we get the host CPUs can
differ.

Also, we should run this change against as many clouds as possible to
ensure that the newer model works across all of our clouds. There is
some fear that the virtual CPUs presented to us in some clouds may not
be able to run these newer CPU models.

Change-Id: Ibd6e11b59f3c8655bc60ace7383a08458b2177f2
2021-10-21 08:15:12 -07:00
Zuul 6923f7b5e6 Merge "Enable running on Debian Bullseye" 2021-10-20 14:56:29 +00:00
Tristan Cacqueray 4aa27976eb [ci] Remove the implied-branches pragma
This change enables using devstack job with custom branche names.

Change-Id: I95c368f05042a6f8f208988af9a6d89a522a5526
2021-10-19 21:48:17 +00:00
Jens Harbott b538b3267c Switch off creating a keystone admin endpoint by default
With the depending patch, the endpoint will still be created for
heat tests, so we can turn it off for everyone else.

Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/777343
Change-Id: I0dc7d6cedd07e942b9f23b26a785b386aff41fbc
2021-10-17 17:44:13 +00:00
Jens Harbott eb37657d8e Make creation of keystone admin endpoint optional
The keystone admin endpoint technically isn't different any longer from
the other keystone endpoints in v3 of the API. However, some
applications like heat are still relying on it to exist.

So we make the creation of the admin endpoint during bootstrap optional
here, with the intention to change the default to False once all jobs
that still need this are modified to explicitly require it.

Change-Id: I7ab12141c558186e397c174c248a613d1810011b
2021-10-17 19:36:46 +02:00
Zuul 79356c41cd Merge "Don't fail if there is no nf_conntrack_proto_gre module available" 2021-10-17 16:33:33 +00:00
Jens Harbott c2491bac9d Stop creating a keystone admin site
Keystone no longer has any special functionality hidden behind the admin
site. KEYSTONE_AUTH_URI which used to point to the admin site has long
ago been changed to be a copy of KEYSTONE_SERVICE_URI, which points to
the public site.

Drop all KEYSTONE_AUTH_* variables except KEYSTONE_AUTH_URI which may
still be in use in some plugins.

This also allows to finally drop the fixup_keystone() function.

Change-Id: I549f3cadc27d137e014241cdd47e90267859c848
2021-10-17 17:11:03 +02:00
Jens Harbott ee1c614eda Fix use of yaml.load()
The use of this function has been deprecated for a long time[0]. With
PyYAML==6.0 the call is now failing, so replace it with the safe
version.

[0] https://msg.pyyaml.org/load

Signed-off-by: Jens Harbott <frickler@offenerstapel.de>
Change-Id: I7a170262b50a5c80a516095b872d52e1bea5479d
2021-10-16 17:33:12 +02:00
OpenStack Proposal Bot c027ddd3f8 Updated from generate-devstack-plugins-list
Change-Id: I1abc356970a7f2427bc9683a7e64e54ab52a7651
2021-10-16 06:26:49 +00:00
Dr. Jens Harbott 84901f563e Create clouds.yaml early enough
When using glance limits, the create_glance_accounts call needs access
to the devstack-system-admin cloud definition, so we need to create
the clouds.yaml file before that step.

Change-Id: Ie6d807c46b88b16b316aa166870a6a13f2bb346d
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
2021-10-15 15:07:15 +02:00
Slawek Kaplonski b4e683e6b9 Don't fail if there is no nf_conntrack_proto_gre module available
It may be that it is already compiled in the kernel so there is no
need to load kernel module in such case.

Change-Id: Ie1d32e3fd529e13958857cb3ced6710eebde1e4d
2021-10-14 13:50:30 +02:00
Zuul 82facd6edf Merge "Fix updating setuptools in Centos" 2021-10-12 20:43:00 +00:00
Zuul 10d20b14e7 Merge "Further fixup for Ubuntu cloud images" 2021-10-11 09:26:28 +00:00
Zuul d603c2a459 Merge "Remove cinder from service names" 2021-10-11 08:27:27 +00:00
Zuul 23cbf138b4 Merge "tools: Fix use of continue" 2021-10-11 08:10:36 +00:00
Zuul e2e88dc19a Merge "Fix displaying usage for make_cert.sh" 2021-10-11 00:53:22 +00:00
Zuul 2e336ee79f Merge "Rehome functions to enable Neutron's Trunk service plugin" 2021-10-11 00:51:51 +00:00
Dr. Jens Harbott 61a37bff9a Further fixup for Ubuntu cloud images
The official Ubuntu cloud images have some further python pkgs
preinstalled that conflict with our requirements. Allow to
overwrite them.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Closes-Bug: 1871485
Change-Id: I793c250cae5e7b9bc835b7016d790d1f9ae8a7f3
2021-10-08 11:04:03 +02:00
Slawek Kaplonski f758b60a4b Rehome functions to enable Neutron's Trunk service plugin
Those functions were part of the neutron devstack plugin but we
discussed on the neutron team meeting [1] to move it to the Devstack
repo as it's mature enough now.

[1] https://meetings.opendev.org/meetings/networking/2021/networking.2021-10-05-14.00.log.html#l-156

Change-Id: I35446adad1d8a7fed142d834de20c48b611015a5
2021-10-06 12:04:26 +02:00
Michal Berger bfc79dc98b tools: Fix use of continue
continue is not used in a proper context here (outside of loop). Use
null cmd instead to simply fall through the pip installation.

Signed-off-by: Michal Berger <michallinuxstuff@gmail.com>
Change-Id: Iaea2e5c0177b475edf19d08d71933a74debbb5d9
2021-10-05 15:44:45 +02:00
Lee Yarwood 714826d1a2 nova: Ensure each compute uses a unique iSCSI initiator
The current initiator name embedded in our CI images is not unique at
present and can often cause failures during live migrations with
attached volumes. This change ensures the name is unique by running
iscsi-iname again and overwriting the existing name.

We could potentially do this during the image build process itself but
given that devstack systems are not supposed to be multi-purpose this
should be safe to do during the devstack run.

Closes-Bug: #1945983
Change-Id: I9ed26a17858df96c04be9ae52bf2e33e023869a5
2021-10-05 11:36:24 +01:00
Jens Harbott 959a7c262a Enable running on Debian Bullseye
Some adaption in database handling is all that is missing. Also add a
platform job that tests this.

Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Change-Id: I6dd3e48444dd415d84df5e7f5c74540847cdd6db
2021-10-04 17:27:33 +02:00
melanie witt c7791301be Enable oslo.limit to be installed from git repo
oslo.limit isn't currently in the list of libraries that can be
installed from a git repo via LIBS_FROM_GIT.

This adds oslo.limit to enable integrated testing against unmerged
oslo.limit changes.

Change-Id: I26cc567fdf4c84014040ae586bbb029b8de7a236
2021-10-01 17:30:52 +00:00
Lee Yarwood 982b03c605 zuul: Remove dedicated devstack-async job
I83d56c9363d481bb6d5921f5e1f9b024f136044b switched the default of
DEVSTACK_PARALLEL over to True so this dedicated job is no longer
required as *all* jobs should now be using it.

Change-Id: I0f475ab177c2cd49eeb6be861cdd11581e8e0b97
2021-09-30 13:08:35 +01:00
Jens Harbott 56e75e4aef Fix uwsgi config for trailing slashes
The apache mod_proxy documentation[0] says that trailing slashes need to
match for the ProxyPass statement. Since adding a slash to the redirected
url would break things that need to access endpoints like /identity
without anything added, we need to drop the trailing slash for the
target URL. See [1] for the discussion of the CVE fix that changed the
previous behavior.

[0] https://httpd.apache.org/docs/trunk/mod/mod_proxy.html#proxypass
[1] https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1945274

Depends-On: https://review.opendev.org/c/openstack/devstack/+/811389
Change-Id: Ia6b1a41957833fba87a2e6f048d2483267632385
2021-09-28 20:05:08 +02:00
Rajat Dhasmana 65b46a503a Remove cinder from service names
In devstack job, cinder is not a valid service name and logs error
in gate[1] so remove it.

2021-09-28 05:44:47.791807 | controller | + functions-common:service_check:1603      :   for service in ${ENABLED_SERVICES//,/ }
2021-09-28 05:44:47.795506 | controller | + functions-common:service_check:1605      :   sudo systemctl is-enabled devstack@cinder.service
2021-09-28 05:44:47.809647 | controller | Failed to get unit file state for devstack@cinder.service: No such file or directory

[1] https://e978bdcfc0235dcd9417-6560bc3b6382c1d289b358872777ca09.ssl.cf1.rackcdn.com/801989/7/check/tempest-integrated-storage/779d1e7/job-output.txt

Change-Id: I7ca105201d82b72c7e56778425d3bce7c76047db
2021-09-28 03:13:28 -04:00
Ghanshyam Mann 8d1bfcacf8 Update DEVSTACK_SERIES to yoga
stable/xena branch has been created now and
current master is for yoga.

Change-Id: I0c7809bdac6482bb947f394b0c2535fabb4cf067
2021-09-24 18:01:09 -05:00
Brian Haley c9f3e5bdd7 Fix stackrc os-resource-classes typo
Attempting to use LIBS_FROM_GIT="ALL" results in a failure
due to a typo in stackrc for os-resource-classes repo.

  Cloning into '/opt/stack/os-resource-classes'...
  fatal: protocol ':-https' is not supported
  <snip>
  [ERROR] /opt/stack/devstack/functions-common:629 git call failed: [git clone :-https://opendev.org/openstack/os-resource-classes.git /opt/stack/os-resource-classes --branch master]

Remove the extraneous '='.

Change-Id: I21f86324dc15fe808b38e366f7af18c96fd3890c
2021-09-16 11:43:03 -04:00
Zuul 069b0bf4a9 Merge "Glance remote worker should use own cache directory" 2021-09-14 09:08:59 +00:00
OpenStack Proposal Bot 6c8bd96f72 Updated from generate-devstack-plugins-list
Change-Id: If2ea45a2cc7993a9a80187092f2750496e7c8ab7
2021-09-09 06:10:23 +00:00
Radosław Piliszek a38d41ed92 Drop dep on libmysqlclient-dev
It was required to build MySQL-python bindings but, for some time,
we test and rely solely on PyMySQL which is pure Python and hence
does not require this dep.

This package is going away as distros move towards MariaDB.

Change-Id: I6004ccf28a23009a0fc07bfc9458b59a927b969a
2021-09-08 07:51:47 +00:00
Zuul 591e15a3dc Merge "Configure access to physical network also with ML2/OVN backend" 2021-08-31 20:47:21 +00:00
Slawek Kaplonski b1a89eb80b Configure access to physical network also with ML2/OVN backend
Neutron L3 module in Devstack has way to conigure access to physical
network on the node. It can put physical interface to the physical
bridge or, in case when such physical device isn't set, it creates
NAT rule in iptables.

There was missing the same operation for ML2/OVN backend as L3 agent is
not used there at all.

This patch adds the same to be done in both L3 agent and ovn_agent
modules.

Closes-Bug: #1939627
Change-Id: I9e558d1d5d3edbce9e7a025ba3c11267f1579820
2021-08-31 12:41:47 +00:00
Zuul e102559f87 Merge "Set swap size to 4G for c8 jobs" 2021-08-25 16:28:43 +00:00
Zuul ab2a529714 Merge "swift: Fix the empty gid option in rsyncd.conf" 2021-08-24 20:38:27 +00:00
Zuul 48945c5968 Merge "Make Ironic job as voting" 2021-08-24 15:29:13 +00:00
Zuul e3682892a3 Merge "make swift-dsvm-functional job as voting" 2021-08-24 15:23:40 +00:00
Takashi Kajinami 25f84277ea swift: Fix the empty gid option in rsyncd.conf
This change fixes the empty value set to the gid option in rsyncd.conf,
which was caused by reference to the invalid USER_GROUP variable, and
ensures the option is set to the group which STACK_USER belongs to.

This also fixes duplicate declaration of the local user_group variable.

Closes-Bug: #1940742
Change-Id: Ifd0a5ef0bc5f3647f43b169df1f7176393971853
2021-08-21 21:58:11 +09:00
Zuul c807a8bbff Merge "nova: Enable apic removal workaround for bug #1939108 when using QEMU" 2021-08-21 02:51:24 +00:00
OpenStack Proposal Bot 14b7fc5003 Updated from generate-devstack-plugins-list
Change-Id: I924cdf727818b33d71fe71ac110f224164c6b453
2021-08-20 06:13:36 +00:00
Lee Yarwood 1e86a25cc2 nova: Enable apic removal workaround for bug #1939108 when using QEMU
This change enables [workarounds]libvirt_disable_apic when devstack is
deployed using the libvirt virt driver and qemu virt type in an effort
to avoid issues outlined in bug #1939108 caused by the older kernel
currently used in Cirros 0.5.2.

Depends-On: https://review.opendev.org/c/openstack/nova/+/766043
Closes-Bug: #1939108
Change-Id: Ibb6c34133bb1c95ef11cc59d9b12a0f65502c61b
2021-08-19 14:25:53 +01:00
Radosław Piliszek 8b8a4c75b7 Remove libvirt-python from upper-constraints
... when installed from distribution.

This is mostly to fix Ironic's gate as their ecosystem is too
broad and complex to quickly remove libvirt-python from all
possible requirements.txt

More details inline.

See also: https://review.opendev.org/c/openstack/devstack/+/798514
aka f0bf2bdff1

Change-Id: Ic44daf15e952bbe3c424984ffb2474261e68008f
2021-08-18 15:01:27 +00:00
Ghanshyam Mann 31f0418bad Make Ironic job as voting
ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa
job is voting on Ironic and neutron gate which mean it is
stable enough and make sense to make it voting on devstack gate too.

ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa is alias
job of ironic-tempest-bios-ipmi-direct-tinyipa so using the original
job instead of alias
- https://opendev.org/openstack/ironic/src/branch/master/zuul.d/ironic-jobs.yaml#L784

Change-Id: I95c67ad69e6eae6a72d25a851a71b7de85e56fd2
2021-08-17 08:49:28 -05:00
Ghanshyam Mann ed323805f2 make swift-dsvm-functional job as voting
swift-dsvm-functional job test swift under python3 and
voting on swift gate whihc means this is a stable job now,
let's make this voting to devstack gate too.

Removing swift-dsvm-functional-py3 job as it does not exist anymore
after- https://review.opendev.org/c/openstack/swift/+/731318

swift-dsvm-functional itself is py3 job now.

Change-Id: I58847f74306194eaad132680815101a134fb4022
2021-08-17 08:45:02 -05:00
Grzegorz Grasza 26f8149218 Use MDB backend in Ubuntu
The MDB backend is the default in Ubuntu and specifying
HDB in debconf doesn't change it to HDB.

Closes-Bug: #1939700
Change-Id: If98f7fc8395678365fb73f0c5cd926cef083e470
2021-08-17 09:41:33 +02:00
Zuul ebc7b0ed25 Merge "Simplify pip install" 2021-08-12 19:54:55 +00:00
Zuul 5585d84c92 Merge "Support optimized cinder backend for glance" 2021-08-12 18:54:55 +00:00
yatinkarel 60b5538c33 Set swap size to 4G for c8 jobs
Tempest is failing randomly with different reasons
as mentioned in the bug, updating swap size those
issues are not seen.

Before [1] default swap size used to be 8GB but was dropped
to 1G so need to configure it in required job itself.

Did couple of tests in [2] and with 4GB+ swap jobs are
running green. On investigation found that with qemu-5
both Ubuntu and CentOS jobs have memory crunch, currently
Ubuntu jobs are not impacted as they are running with
qemu-4.

[1] https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/750941
[2] https://review.opendev.org/c/openstack/devstack/+/803144

Closes-Bug: #1938914
Change-Id: I57910b5fde5ddf2bd37d93e06c1aff77c6e231e9
2021-08-12 21:27:13 +05:30
Zuul bdf454f411 Merge "Add devstack-enforce-scope job to enable the rbac scope checks" 2021-08-12 14:52:21 +00:00
Zuul 78a07d709c Merge "Add Fedora 34 support" 2021-08-12 14:29:59 +00:00
Zuul e7bb05d3f0 Merge "install_pip: Use packaged pip on Fedora" 2021-08-12 14:29:57 +00:00
Zuul ca3407cd88 Merge "install_pip: don't fail when not installed" 2021-08-12 14:29:54 +00:00
Zuul 57a868dd87 Merge "Revert "Workaround for new pip 20.3 behavior"" 2021-08-12 14:27:46 +00:00
Ghanshyam Mann 6fecfd4fff Add devstack-enforce-scope job to enable the rbac scope checks
keystone has system scope feature implemented since
queens release. Now Devstack also started moving towards the new RBAC.

This commit adds a new job 'devstack-enforce-scope' which enable the
scope checks on service side and see if devstack setting are fine or not.

This job will be expanded to enable the scope checks for the other service
also once they start supporting the system scope.

This will help us to test the scope check setting.

Change-Id: Ie9cd9c7e7cd8fdf8c8930e59ae9d297f86eb9a95
2021-08-11 10:32:42 -05:00
Ian Wienand 8dac135cb8 Simplify pip install
The uninstall here has been around since
Ibb4b42119dc2e51577c77bbbbffb110863e5324d.  At the time, there might
have been conflicts between packaged and installed pip.  We don't need
it today; get-pip.py keeps itself separate enough in /usr/local on all
platforms.  Thus we can also remove the suse/centos special-casing.

python3-pip is in the RPM list so we don't need to
re-install for Fedora.

Add a note on why we are over-installing pip.

Remove some old setuptools workarounds that are commented out.

Change-Id: Ie3cb81a8ff71cf4b81e23831c380f83b0381de71
2021-08-11 15:00:18 +10:00
Ian Wienand 156ccbad85 Add Fedora 34 support
* update the support distro filter

* don't install xinetd which doesn't exist in F34 any more.  I think
  there is probably a bit more to do with swift ring-server but that
  can be a problem for another time.

* remove old F31 workaround

Change-Id:If2f74f146a166b9721540aaf3f1f9fce3030525c
2021-08-11 14:07:21 +10:00
Ian Wienand a20971850a install_pip: Use packaged pip on Fedora
This uses the python3-pip package for Fedora but maintains the status
quo for existing distributions (i.e. for Suse we run get-pip.py but
don't uninstall, and for everything else we uninstall python3-pip and
run get-pip.py to be running the latest pip).

As noted inline, installing get-pip.py over Fedora 34's package no
longer works, and likely won't ever work again.  Unlike the LTS
distributions, the Fedora pip should be more up-to-date, so I think
it's best we just avoid any package overwrites.

Change-Id: I84129aadfcf585bb150a3daa39616246d3d84bbd
2021-08-11 14:07:17 +10:00
Abhishek Kekane 00ac547aca Glance remote worker should use own cache directory
Earlier glance remote worker was using same cache directory used by
glance worker. Ideally both should use their own cache directory.

This patch makes provision for the same by setting different path
for image_cache_dir config option.

Change-Id: If2627e9c212fd765b96d925046c04e9cb1001c3d
2021-08-10 16:26:35 +00:00
Ghanshyam 26bd94b45e Revert "Add enforce_scope setting support for keystone"
This reverts commit 9dc2b88eb4.

Reason for revert: Devstack creation/setup the things are not yet moved to scope tokens so we need to wait for that first and then do the scope check enable globally. 

Change-Id: If0368aca39c1325bf90abd23831118b89e746222
2021-08-10 09:54:01 -05:00
Zuul 971dfbf8a0 Merge "Allow to install os-resource-classes from git repo" 2021-08-10 06:57:20 +00:00
Ian Wienand 2df2aa0158 install_pip: don't fail when not installed
On some platforms, "python -m pip" isn't available.  Currently this is
run undconditionally from the "get_versions" function; remove the call.

Change-Id: I91d6c66d055f02fa7b4368593b629933f82d8117
2021-08-10 14:36:30 +10:00
Ian Wienand 6b9a564622 Revert "Workaround for new pip 20.3 behavior"
This reverts commit 7a3a7ce876 and
bcd0acf6c0 and part of
f1ed7c77c5 which all cap our pip
installs.

Given the pip ecosystem can often incorporate major changes, tracking
upstream at least generally gives us one problem at a time to solve
rather than trying to handle version jumps when LTS distros update.

The new dependency resolver included some changes that disallow
setting URL's like "file:///path/to/project#egg=project" in
constraints.  Apparently the fact it used to work was an accident of
the requires/constraints mechanism; it does make some sense as the URL
doesn't really have a version-number that the resolver can put in an
ordering graph.

The _setup_package_with_constraints_edit function comment highlights
what this is trying to do

 # Updates the constraints from REQUIREMENTS_DIR to reflect the
 # future installed state of this package. This ensures when we
 # install this package we get the from source version.

In other words; if constraints has "foo==1.2.3" and Zuul has checked
out "foo" for testing, we have to make sure pip doesn't choose version
1.2.3 from pypi.

It seems like removing the entry from upper-requirements.txt is the
important part; adding the URL path to the on-disk version was just
something that seemed to work at the time, but isn't really necessary.
We will install the package in question which will be the latest
version (from Zuul checkout) and without the package in
upper-requirements.txt nothing will try and downgrade it.

Therefore the solution proposed here is to remove the adding of the
URL parts.

This allows us to uncap pip and restore testing with the new
dependency resolver.

Closes-Bug: #1906322
Change-Id: Ib9ba52147199a9d6d0293182d5db50c4a567d677
2021-08-10 14:22:35 +10:00
Roman Dobosz ac1b723c20 Fix displaying usage for make_cert.sh
Now, if no arguments are passed to make_cert.sh script, it will fail on:

  tools/make_cert.sh: line 30: [: missing `]'

and might go on with generating certs depending on the bash settings.
It is fixed within this patch.

Change-Id: I62bf9c972ebd1644da622439e05114f245f20809
2021-08-06 12:55:39 +02:00
Zuul e937dcb743 Merge "Fix Usage of rdo-release rpm" 2021-08-05 01:36:47 +00:00
Brian Rosmaita f44aa0c55a Allow cinder default quotas configuration
The default cinder quotas for volumes, backups, or snapshots may
be too low for highly concurrent testing, so make these configurable
in devstack.

Change-Id: Ie3cf3239b48f9905f5760ad0166eea954ecf5eed
2021-08-04 18:27:48 -04:00
OpenStack Proposal Bot ba68a49598 Updated from generate-devstack-plugins-list
Change-Id: I062b9a121c79650973c8d8d975e1c723d5798777
2021-07-31 06:13:46 +00:00
yatinkarel 0456baaee5 Fix Usage of rdo-release rpm
rdo-release.el8.rpm rpm points to latest RDO release,
so use it for master, for stable releases use corresponding
release rpm.

Change-Id: I508eceb00d7501ffcfac73d7bc2272badb241494
2021-07-30 19:32:51 +05:30
Zuul 3e58254d38 Merge "Switch fedora-latest to use fedora-34" 2021-07-29 23:49:31 +00:00
Marek Tamaskovic 524487728e Fix opening shell as user 'stack'
The usage of sudo with su is not recommended. It results in incosnistent
environment variables. Instead use just sudo with appropriate arguments.
The argument '-u stack' specifies that the sudo will execute as user 'stack'.
The last argument '-i' will launch an interactive shell.

Closes-Bug: #1938148

Change-Id: I42387660480377cdf9a0b04f190e7e1f21fb354f
2021-07-28 17:03:52 +02:00
Zuul 13f02e8b76 Merge "Enable tempest tests for hostname sanitization" 2021-07-27 10:33:00 +00:00
Zuul 5d380b6f7f Merge "zuul: Add /etc/libvirt to log collection" 2021-07-26 20:34:10 +00:00
Pavan Kesava Rao 71bd10e451 Enable tempest tests for hostname sanitization
Starting Wallaby release, nova sanitizes instance hostnames having
freeform characters with dashes. It should be tested in Devstack.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/795699
Change-Id: I54794e58b67620c36e8f2966ec3b62dd24da745b
2021-07-22 12:15:16 -04:00
Zuul a5ed116814 Merge "Add enforce_scope setting support for Glance" 2021-07-20 16:42:45 +00:00
Zuul 015622115e Merge "Add enforce_scope setting support for Cinder" 2021-07-20 16:42:43 +00:00
Zuul 5162d0fd07 Merge "Add configuration notes about glance limits" 2021-07-19 20:29:18 +00:00
Zuul 373d1f3879 Merge "Provide override for glance image size limit" 2021-07-19 20:29:15 +00:00
Zuul 92cb77b93e Merge "libvirt: Stop installing python bindings from pip" 2021-07-19 18:27:41 +00:00
Dan Smith c8b66ff33e Add configuration notes about glance limits
Change-Id: I21a43584116f4b719cf99d3942044cbf13fefb9a
2021-07-19 11:25:09 -07:00
Julia Kreger 5a642450d6 Provide override for glance image size limit
The glance image size limitation was added and unfortuantely
does prevent larger images from being uploaded to glance. In the
case of all baremetal testing, this value is realistically smaller
than stock "cloud" images which support booting to baremetal with
often requisite firmware blobs, which forces some images over 1GB
in size.

Adds GLANCE_LIMIT_IMAGE_SIZE_TOTAL which allows users who need
larger images to be able to override the default while still
enabling limits enforcement in their deployment. The default
value is 1000.

Change-Id: Id425aa546f1a5973bae8be9c017782d18f0b4a47
2021-07-19 10:13:42 -07:00
Zuul 4465472270 Merge "Configure glance unified limit quotas" 2021-07-17 09:09:49 +00:00
Zuul 7f5e4ed4f3 Merge "Add enforce_scope setting support for keystone" 2021-07-16 16:17:31 +00:00
zenkuro 6f4eafb823 Added AlmaLinux to CentOS 8 family
Change-Id: I9fb6f010842a495c838d468b47dc5081596f41a2
2021-07-15 21:47:23 +03:00
Zuul 0d5ba5b250 Merge "Make explicit the network backend used in the CI jobs" 2021-07-11 19:00:41 +00:00
Zuul 6c46859f7e Merge "Use specific credentials for tempest plugin setup" 2021-07-07 22:31:48 +00:00
Przemyslaw Szczerbik 1ab63132df Allow to install os-resource-classes from git repo
Example local.conf config snippet:

LIBS_FROM_GIT="os-resource-classes"
OS_RESOURCE_CLASSES_REPO="${LOCAL_GIT_BASE}/os-resource-classes"
OS_RESOURCE_CLASSES_BRANCH="dev_branch"

Closes-Bug: #1934784
Change-Id: I972a2a49aa816433152e5cfac4f672c0465d083f
2021-07-06 14:48:21 +02:00
Lee Yarwood f0bf2bdff1 libvirt: Stop installing python bindings from pip
As set out in bug #1933096 these bindings are dynamically built against
the version of libvirt present in the environment at build time.

As a result using a pre-built wheel can cause AttributeError's when the
bindings have previously been built elsewhere against an older version
of libvirt installed on the host. This is currently the case in CentOS 8
stream based CI jobs where we try to use 7.4.0 bindings that appear to
be built against libvirt <= 6.10 leading to bug #1933096.

This change seeks to avoid this by installing the bindings from packages
that will always be built against the correct corresponding version of
libvirt.

Change-Id: I76184c17a776c4e1ecaab9549d9d36c8c07c60fa
Closes-Bug: #1933096
2021-06-29 11:53:22 +01:00
Zuul 94d7cacfe2 Merge "Revert edk2 workaround" 2021-06-25 10:16:44 +00:00
Lee Yarwood 2175ff3108 zuul: Add /etc/libvirt to log collection
Useful when debugging libvirtd issues such as bug #1912310.

Related-Bug: #1912310
Change-Id: Ic8504bd61316e44215672cc44436a3b9a19e114d
2021-06-25 10:59:52 +01:00
Rodolfo Alonso Hernandez bf13075632 Make explicit the network backend used in the CI jobs
All Neutron CI jobs (except for unit, functional and fullstack jobs),
have explicitly defined the network backend used:
- linuxbridge
- ovs
- ovn

That was discussed and approved during the Neutron CI meetings [1].

[1]https://meetings.opendev.org/meetings/neutron_ci/2021/neutron_ci.2021-06-15-15.00.log.html

Depends-On: https://review.opendev.org/c/openstack/neutron/+/797051
Change-Id: Ib14542311e9b1d49829bef54f433b8a04709a9fd
2021-06-23 13:03:52 +00:00
Zuul 2e559c7dfb Merge "os_vif: Add support for configuring os_vif_ovs plugin" 2021-06-22 19:03:33 +00:00
Julia Kreger 5c9affdd9a Use specific credentials for tempest plugin setup
The tempest plugin expects the classic environment variables
to be present for credentials to access the cloud, but this is
wrong in cases where we're trying to setup system
scoped services and need to remove the environment variables
that was being used.

Instead, change the plugin to use the os-cloud entry definitions,
and specifically in this case devstack-admin which makes sense
until we begin to start to make tempest itself scope aware.

We likely will want to change the environment variables from being
registered in devstack at some point and completely shift towards
passing an-os-cloud parameter, but that is outside the scope of
this change as doing so will likely break all plugins.

Change-Id: I8d4ec68f116eea07bc7346f939e134fa2e655eac
2021-06-22 14:49:12 +00:00
Gregory Thiemonge a5d52831dc Fix updating setuptools in Centos
In RHEL-based distributions, updating setuptools using pip removes the
files from the python3-setuptools RPM. It breaks some tools such as
semanage (which is used by diskimage-builder) that use the -s flag of
the python interpreter (don't import modules from /usr/local).
This commit reinstalls python3-setuptools to fix those applications.

Change-Id: Ib44857e83f75acf37823fae912960a801c83cf7f
2021-06-21 09:58:47 +02:00
Gregory Thiemonge 7befae663c Delay horizon startup
Move the 'Starting Horizon' task after the end of the wait for
create_flavors.
The start_horizon function restarts the httpd server, the openstack
services are unavailable during a short period of time, so the
"openstack flavor create" calls might fail randomly.

Closes-Bug: #1932580
Change-Id: I32ee7457586e3de8ba4dfce3b1a12025f9776542
2021-06-19 14:19:26 +02:00
Sean Mooney 5344885a61 os_vif: Add support for configuring os_vif_ovs plugin
This change add an os-vif lib that declares two new variables
OS_VIF_OVS_OVSDB_INTERFACE and OS_VIF_OVS_ISOLATE_VIF

The former is introduced to workaround bug #1929446 which cause the nova
and neutron agents to periodically block waiting for ovs to respond.

OS_VIF_OVS_ISOLATE_VIF is added to address bug #1734320 when using
ml2/ovs vif isolation should always be used to prevent cross tenant
traffic during a live migration.  This makes devstack more closely
mirror reality by enabling it when ml2/ovs is used and disabling it
otherwise.

Related-Bug: #1734320
Related-Bug: #1929446
Related-Bug: #1912310
Change-Id: I88254c6e22b52585506ee4907c1c03b8d4f2dac7
2021-06-18 14:05:39 +00:00
Radosław Piliszek 808331488d Revert edk2 workaround
It is not needed anymore.

Change-Id: I706a33b0a7c737a23b9a7270af1e53e5de83c66f
2021-06-18 12:06:02 +00:00
Julia Kreger 6af3cb9eb2 nova ironic-hypevisor - support scoped auth config
The Secure RBAC effort has updated Ironic such that it
can support a mode where it is scope enforcing for all
interactions with the API. Due to the design, and operating
nature of Ironic's API, services speaking with it must
authenticate with a system scope to have a full picture
of the universe.

In this case, we need to update the nova configuration
accordingly such that the compute service understands
how to talk to ironic so that it can see the nodes under
management.

Ironic will likely update this again at a later point in
time to enable a "hybrid" mixed-mode as the operating model
and related permissions *should* allow nova to use a project
scoped "owner" account with Ironic, in order to access
and command nodes to deploy. But at this time, we're
focusing on the exclusive operating mode.

Change-Id: I1946725ce08c495178c419eaf38829f921c91bbe
Needed-By: https://review.opendev.org/c/openstack/ironic/+/778957
2021-06-15 11:32:45 -07:00
Zuul 74bcc0b4ef Merge "Drop broute from ebtables_dump" 2021-06-15 07:13:31 +00:00
Artem Goncharov 89baa314c1 Temporary add feature pragma
OpenStackSDK has a feature branch "feature/r1" as a preparation for the
R1.0 release. Due to different branch naming functional tests with
devstack are not running. Add temporarily (for the duration of the
feature branch) pragma to the zuul.yaml to allow Zuul run functional
tests. It will be dropped once SDK gets next major release.
Previous attemp didn't work well for other projects, therefore
explicitly include master as well.

Change-Id: I3a5722873f395bc52cc55a0fd6bcea0ebe3b74fc
2021-06-11 17:06:16 +02:00
Zuul 416902ee4b Merge "[OVN] Set up routing on public bridge like OVS did" 2021-06-11 01:16:03 +00:00
Mohammed Naser 20d6a21e8a Switch fedora-latest to use fedora-34
Fedora 32 is now EOL, we should test against the newly released
version of Fedora which is 34.

Depends-On: https://review.opendev.org/c/openstack/project-config/+/795604
Change-Id: I10d868aca20d1a10d3e7fcfeb78f6fda4c896ee8
2021-06-09 14:20:11 -04:00
Zuul a6fca2b742 Merge "Move verify-ipv6-only-deployments" 2021-06-09 17:22:39 +00:00
Jens Harbott 5a684eb51b Drop broute from ebtables_dump
This table is no longer present on most installations, drop it
from the list to avoid error messages during log collection
that people mistake to be the real error why devstack is failing.

This may lose some debugging information in edge cases, but I
think the improvement of the general user experience is more
important.

Change-Id: Ibb9b247a018a788c8c4b40487762319fe470bf0f
Closes-Bug: 1885198
2021-06-09 09:37:34 +02:00
Radosław Piliszek 9529878808 [OVN] Set up routing on public bridge like OVS did
This fixes various reported and unreported issues with the new
behaviour.

Removes code repetition as well to pay off some technical debt.

Closes-Bug: #1930360
Change-Id: I726c532e96ca434520838ae8a35d5b88b6dd337b
2021-06-08 16:19:40 +00:00
Radosław Piliszek 2fb8c7a5ee Move verify-ipv6-only-deployments
from Tempest to DevStack as it tests DevStack side of things and
is useful for projects not using Tempest.

Verbatim copy except for the devstack- prefix and the /devstack/
path.

Change-Id: Ie166730843f874b9c99e37244e460d7ad33b7eeb
2021-06-07 17:44:54 +00:00
Radosław Piliszek 81937a230a [CI] Drop CentOS Linux 8 job and nodeset
CentOS Stream 8 (aka CentOS 8 Stream) is the currently
supported runtime platform. [0]

DevStack works with CentOS Stream only now. [1]

The only usage of the nodeset being dropped is handled by the
Depends-On.

[0] https://governance.openstack.org/tc/reference/runtimes/xena.html
[1] https://review.opendev.org/c/openstack/devstack/+/759122

Depends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/795159
Change-Id: Ic0f696b46dce3dba529b53a8f9de8cda6b913c7b
2021-06-07 17:28:38 +00:00
Radosław Piliszek 96509ea025 Check centos-8-stream
CentOS Stream 8 (aka CentOS 8 Stream) is the currently
supported runtime platform. [0]

Some background history:
The Manila team has asked QA to test centos-8-stream
in the common gate.
A bit later it turned out the point releases of CentOS 8 (aka
CentOS Linux 8) will stop happening entirely by the end of 2021.
[1]

Includes a workaround to the edk2-ovmf issue on CentOS Stream 8
x86_64.

[0] https://governance.openstack.org/tc/reference/runtimes/xena.html
[1] https://lists.centos.org/pipermail/centos-devel/2020-December/075451.html

Change-Id: Iee5a262af757f27f79ba1d6f790e949427dca190
2021-06-07 06:54:20 +00:00
Zuul 4c4b9bc9ef Merge "Revert "Temporary add feature pragma"" 2021-06-05 15:05:53 +00:00
Ghanshyam 3ad1661384 Revert "Temporary add feature pragma"
This reverts commit 6843bc798c.

Reason for revert: not sure why but this end up disabling the integration job on check pipeline,

Change-Id: Icfaf8ea17b3ce2e405414c23f8075b18d297bf8b
example: latest recheck on PS12 check pipeline job for neutron - https://review.opendev.org/c/openstack/neutron/+/790060
2021-06-04 21:32:17 +00:00
Zuul 1cefb089ba Merge "setup.cfg: Replace dashes with underscores" 2021-06-04 20:38:29 +00:00
Zuul f42347285a Merge "Temporary add feature pragma" 2021-06-04 17:52:46 +00:00
Zuul 3662e10ef6 Merge "Updated from generate-devstack-plugins-list" 2021-06-04 17:16:34 +00:00
Monty Taylor 6843bc798c Temporary add feature pragma
OpenStackSDK has a feature branch "feature/r1" as a preparation for the
R1.0 release. Due to different branch naming functional tests with
devstack are not running. Add temporarily (for the duration of the
feature branch) pragma to the zuul.yaml to allow Zuul run functional
tests. It will be dropped once SDK gets next major release.

Change-Id: I671b589150fe731125e16316a994a5942219920b
2021-06-04 15:28:30 +00:00
Dan Smith 4e916aeb06 Configure glance unified limit quotas
This makes us configure limits for glance and enable enforcement.

Depends-On: https://review.opendev.org/c/openstack/glance/+/794247
Change-Id: If58d8474cae95b1be3044bd52010b8288a7f5fcc
2021-06-03 06:50:17 -07:00
OpenStack Proposal Bot cbc0b64a34 Updated from generate-devstack-plugins-list
Change-Id: I2d5b0c59d5dd33f639ec685b16768325d67e9dbf
2021-06-03 06:14:05 +00:00
Gregory Thiemonge 949f5ada60 Add route to IPv6 private subnets in ML2/OVN
Enable IPv6 private subnet routing in ML2/OVN, it uses the behavior that
already exists in ML2/OVS: add a route from the devstack node to the
CIDRs of the default IPv6 subnet pool. Any IPv6 subnet created using the
default subnet pool and plugged into the default router is reachable
from the host (ex: ipv6-private-subnet).

Change-Id: I02ca1d94e9f4d5ad4a06182f5ac9a2434941cf08
2021-06-02 12:40:46 +00:00
Zuul aa25b741fe Merge "OVN : include source compliation functions" 2021-06-01 22:24:53 +00:00
Ghanshyam Mann 8ea11c2947 Update IRC network to OFTC
Change-Id: I260d9e65782add011f00d9087e0a5ac71e2be324
2021-05-31 15:04:29 -05:00
Anand Bhat 58f6048dd4 setup.cfg: Replace dashes with underscores
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:

  UserWarning: Usage of dash-separated 'description-file' will not be
  supported in future versions. Please use the underscore name
  'description_file' instead

[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb

Change-Id: I6b8e791c06319fa5fa0935337520c36800b1abd6
2021-05-28 11:36:23 +05:30
Ian Wienand 77835633c5 OVN : include source compliation functions
This patch moves the OVS compilation module from Neutron into DevStack.
It also renamed it to "ovs_source" to highlight its function, and the
include has been moved to where the rest of the includes are located.

Although this module is not required since by default DevStack installs
OVS/OVN from the host OS packages instead of compiling from source,
this is a nice to have as it avoids having bits and pieces of the code
scattered around multiple repositories.

Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Change-Id: I39ec9ce0a91bea05cf8c446a9767ab879ac8e8f3
2021-05-27 17:10:53 +01:00
Lucas Alvares Gomes 22038a9a8c [OVN] Configure public bridge enabled by default
This patch makes the OVN_L3_CREATE_PUBLIC_NETWORK configuration True by
default. This option makes the OVN lib in DevStack create & configure
the external bridge, matching the same behavior from the OVS driver
in DevStack.

Change-Id: Icda53b95fdc3c169ac48a6ec4343c87ba404baa4
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-05-27 16:17:06 +01:00
Zuul a634c7f91c Merge "[CI] Add no-tls-proxy job" 2021-05-26 19:23:31 +00:00
Ghanshyam Mann 7604e085b4 Pin nodeset for unit test job
devstack unit test job does not set any nodeset
and so does use default nodeset defined in base jobs
in opendev. When opendev switches the default nodeset to
the latest distro version, devstack unit test job can start
failing. Example:

- https://review.opendev.org/q/I01408f2f2959b0788fe712ac268a526502226ee9
- https://review.opendev.org/q/Ib1ea47bc7384e1f579cb08c779a32151fccd6845

To avoid such a situation in future, let's set the working nodeset
for this job also so that when we cut the stable branch we can
run it on the working distro version. 

Change-Id: I302140778fedf08bc8ba72c453837fa7b8f8f9ae
2021-05-25 18:10:44 +00:00
Zuul e4b0685b6b Merge "docs: recommend Ubuntu 20.04 instead of Bionic" 2021-05-25 16:23:16 +00:00
Zuul 6a4e7b0413 Merge "[TrivialFix] Delete symlink apts-debs" 2021-05-25 15:26:48 +00:00
Zuul 249ded23ad Merge "Change default network backend driver to ML2/OVN" 2021-05-25 02:45:36 +00:00
Radosław Piliszek ddb66f2344 [CI] Add no-tls-proxy job
Some gates run devstack like this and it follows different code
paths.
Let's ensure we don't break it now and then.

Change-Id: I6ee1bfc30bced53f6d7fb841e01714069919fd88
Reference: http://lists.openstack.org/pipermail/openstack-discuss/2020-July/015997.html
Reference: http://eavesdrop.openstack.org/meetings/qa/2021/qa.2021-05-11-14.00.log.html
2021-05-24 17:45:06 +00:00
Lucas Alvares Gomes e38a39ad40 Change default network backend driver to ML2/OVN
This patch is changing the default network backend driver in DevStack to
OVN.

This is a long effort from the Neutron community that has been
discussed on previous PTGs and agreed upon.

A similar patch to this one [0] have been merged in the past but got
reverted [1] because it did break some zuul jobs. This one also include
fixes for such jobs and was verified at [2]

[0] https://review.opendev.org/c/openstack/devstack/+/735097
[1] https://review.opendev.org/c/openstack/neutron/+/775632
[2] https://review.opendev.org/c/zuul/zuul-jobs/+/791117

Change-Id: I8c2be82f33ed9f6c36f5509b3b210ee1a38e87ca
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-05-24 09:48:35 +01:00
Zuul fcdc8aff6a Merge "Add support for ceph_iscsi cinder driver" 2021-05-20 23:25:33 +00:00
Zuul 0e31ce488f Merge "Remove Block Storage API v2 support" 2021-05-20 22:26:26 +00:00
Ghanshyam Mann f0736406f5 Fix unit test to use python3 command
unit test jobs staretd to run on ubuntu-focal now
and failing for using 'python' command.

Change-Id: Ie002faf4c96ac7f207207a481c057b8df0289e6c
2021-05-19 11:20:06 -05:00
Ihar Hrachyshka 2a9673f027 docs: recommend Ubuntu 20.04 instead of Bionic
Bionic support was dropped in I39e38e4a6c2e52dd3822c9fdea354258359a9f53.

Change-Id: I765aac352590fd2f74d3fd90676d6d098548e6b8
2021-05-19 10:23:05 -04:00
Brian Rosmaita 35cec0d7c0 Remove Block Storage API v2 support
The Block Storage API v2 was deprecated in Pike by change
I913c44799cddc37c3342729ec0ef34068db5b2d4 and is (finally)
being removed in Xena [0].  So remove v2 support from devstack.

[0] https://wiki.openstack.org/wiki/CinderXenaPTGSummary#Removing_the_Block_Storage_API_v2

Depends-on: https://review.opendev.org/c/openstack/devstack/+/792048
Change-Id: I856d78648d28ac4cad0fb212bef1ae6ad32fca90
2021-05-19 08:43:44 -04:00
Zuul 9ee7821e80 Merge "Replace dstat with pcp-dstat" 2021-05-18 08:06:39 +00:00
Zuul c9abd1d6ba Merge "Drop Bionic support" 2021-05-18 07:54:47 +00:00
Brian Rosmaita 6e9f7c2570 Support optimized cinder backend for glance
When Glance is configured with a cinder glance_store, Cinder can be
configured to allow cloning of image data directly in the backend
instead of transferring data through Glance.  Expose these
configuration options in devstack to facilitate testing this feature.

Adds:
- CINDER_ALLOWED_DIRECT_URL_SCHEMES
- GLANCE_SHOW_DIRECT_URL
- GLANCE_SHOW_MULTIPLE_LOCATIONS

Change-Id: Iee619b443088fd77cf7b1a48563203bdf4a93a39
2021-05-17 19:29:19 -04:00
Lucas Alvares Gomes c19c1262c8 Replace dstat with pcp-dstat
The dstat project is no longer maintained.

The pcp-dstat package installs a dstat command so no further updates to
the scripts should be needed.

Change-Id: Ied8c9d29bed4f887c364db7080a0f2a0c02328af
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-05-17 16:11:34 +01:00
Zuul b04a62beff Merge "Revert "Change Neutron's default ML2 driver to OVN"" 2021-05-14 04:33:52 +00:00
Ghanshyam ff073a5643 Revert "Change Neutron's default ML2 driver to OVN"
This reverts commit 5c304d8176.

Reason for revert: There are more things to fix/move like done in 791085 and 791282 Also let's change all required default in devstack scripts instead of devstack's zuul job side. Basically do this change without any change in .zuul.yaml

Change-Id: Ie0f59d1b9a4b97ad9fd8131819054dfb616f31fd
2021-05-13 16:25:17 +00:00
Zuul 1769eebed0 Merge "Change Neutron's default ML2 driver to OVN" 2021-05-12 17:58:29 +00:00
Zuul 082f4786f0 Merge "Changed minversion in tox to 3.18.0" 2021-05-12 17:46:23 +00:00
Zuul 1259b7ecbc Merge "Cinder: only set volume_clear for LVM" 2021-05-12 16:26:21 +00:00
Anand Bhat 230f5c434c Changed minversion in tox to 3.18.0
The patch bumps min version of tox to 3.18.0 python in order to
replace tox's whitelist_externals by allowlist_externals option:
https://github.com/tox-dev/tox/blob/master/docs/changelog.rst#v3180-2020-07-23

Change-Id: Id8bdda703afc39d352e3a53877318dc30d91a5f7
2021-05-12 17:01:05 +05:30
Lucas Alvares Gomes 69a66fb62b Fix docs job
Sphinx 4.0.0 added a new dependency [0] which is causing the job to fail
at the moment.

This patch fix the problem by adding UC to the docs jobs.

[0] https://www.sphinx-doc.org/en/master/changes.html (LaTeX: add
tex-gyre font dependency)

Change-Id: I28019331017405c06577ada88f8e9f6d9a2afc23
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-05-11 14:05:22 +01:00
Lucas Alvares Gomes 5c304d8176 Change Neutron's default ML2 driver to OVN
As part of the Victoria PTG the Neutron community [0] agreed on changing
the default backend driver from ML2/OVS to ML2/OVN in DevStack. A lot of
changes have been submitted towards this goal including but not limted
to:

* Moving the OVN module to DevStack:
  https://review.opendev.org/c/openstack/devstack/+/734621

* Updating the OVN module to use distro packages instead of compiling
  OVN from source: https://review.opendev.org/c/openstack/devstack/+/763402o

And now this patch is changing the the actual Q_AGENT,
Q_ML2_TENANT_NETWORK_TYPE and Q_ML2_PLUGIN_MECHANISM_DRIVERS values in
devstack to what is expected by OVN as well as updating the Zuul
templates to enable the OVN services.

[0] https://etherpad.opendev.org/p/neutron-victoria-ptg

Change-Id: I92054ce9d2ab7a42746ed5dececef583b0f8a833
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-05-10 14:43:28 +01:00
Zuul 166c88b610 Merge "Handle disappearing pids in mlock_report.py" 2021-05-02 15:03:07 +00:00
Clark Boylan 06b7352478 Fix async race updating nova configs
The configure_neutron_nova function updates nova configs. While that is
still running we separately update nova configs in stack.sh. This can
result in unexpected configs (that don't work). Fix this by waiting for
configure_neutron_nova to complete its work before we do nova config
updates directly in stack.sh.

For specifics we say that:

  [neutron]
  project_domain_name = Default

was missing from both nova.conf and nova-cpu.conf and instances could
not be created because keystone complained about not finding domain in
project. The strong suspicion here is that on some systems
configure_neutron_nova would write out project_domain_name while the
stack.sh inisets were running resulting in stack.sh overwriting the
project_domain_name content.

One theory is that disabling swift makes this problem more likely as
there is swift work in the middle of the async period. This is supported
by the fact that our job that hits this problem does indeed disable
swift.

Change-Id: I0961d882d555a21233c6b4fbfc077cfe33b88499
2021-04-29 11:54:50 -07:00
Zuul bab78dede2 Merge "cinder: Increase VOLUME_BACKING_FILE_SIZE" 2021-04-29 16:26:21 +00:00
Ghanshyam Mann 7ad4cd07c8 Drop Bionic support
Since victoria cycle, we have moved upstream testing to
Ubuntu Focal (20.04) and so does no Bionic distro in
Xena cycle testing runtime[1]. Grenade jobs also started
running on Focal since victoria was released.

Only thing left was legacy jobs which were not migrated to
Ubuntu Focal in Victoria and as per another community-wide
goal[2], all the lgeacy jobs were suppsoed to be migrated
to zuulv3 native jobs in victoria cycle itself. One of the
pending job was in nova (nova-grenade-multinode) which is also
migrated to zuulv3 native now
- https://review.opendev.org/c/openstack/nova/+/778885

If there is any job running on bionic, we strongly recommend
to migrate it to Ubuntu Focal.

[1] https://governance.openstack.org/tc/reference/runtimes/xena.html
[2] https://governance.openstack.org/tc/goals/selected/victoria/native-zuulv3-jobs.html

Change-Id: I39e38e4a6c2e52dd3822c9fdea354258359a9f53
2021-04-29 09:33:59 -05:00
Ian Wienand b02a43291c Handle disappearing pids in mlock_report.py
If a pid disappears on us while we're reading, we should just continue
on.

EnvironmentError is just an alias for OSError since Python 3.3, so use
the latter name. [0]

[0] https://docs.python.org/3/library/exceptions.html#OSError

Change-Id: I3a25cca328e1469f72c84a118a9691c1c0258bc4
Closes-Bug: #1926434
2021-04-28 16:31:17 +00:00
Lee Yarwood 0386c1cda6 cinder: Default CINDER_ISCSI_HELPER to tgtadm on Bionic
If5c860d1e69aaef9a9236303c370479a7714ad43 attempted to move this default
to lioadm while pinning certain Bionic based jobs to tgtadm.

Unfortunately it missed the legacy dsvm based jobs within various
projects that do not inherit from the devstack-platform-bionic base job
and that are also not covered by devstack's gate.

This change simply forces CINDER_ISCSI_HELPER to tgtadm on Bionic based
hosts to ensure it is always used.

Closes-Bug: #1926411
Change-Id: Ib4b38b45f25575c92fb09b8e97fa1b24af0cc06a
2021-04-28 09:32:39 +01:00
Lee Yarwood c062792709 cinder: Default CINDER_ISCSI_HELPER to lioadm
As outlined in bug #1917750 the use of tgtadm in multinode environments
with multiple c-vol services can cause volumes to use duplicate WWNs.

This has been shown to cause some encrypted volume test failures as
os-brick returns a /dev/disk/by-id path to n-cpu that can point to the
wrong underlying volume when multiple volumes with the same WWN are
connected to a host.

There is also some speculation that the duplicate WWNs are also causing
libvirt to fail to detach volumes from instances but as yet this has not
been proven.

This change aims to avoid all of the above by switching the default of
CINDER_ISCSI_HELPER to lioadm for all deployments instead of just EL and
SUSE based deployments.

The Bionic platform job however is pinned to tgtadm as there issues
installing python3-rtslib-fb.

Closes-Bug: #1917750
Change-Id: If5c860d1e69aaef9a9236303c370479a7714ad43
2021-04-23 10:53:10 +01:00
Zuul e59b945a7d Merge "[OVN] Fix Fedora/CentOS OVN configuration" 2021-04-19 12:34:43 +00:00
Radosław Piliszek d04e795b31 [TrivialFix] Delete symlink apts-debs
Follow up on old I0416180db5b6add996ce5b48c6966c1b68adbcb0

Change-Id: If2f6166cf7c585bf303d0f6c28a2745d85eabbed
2021-04-19 06:52:30 +00:00
Zuul 6a5dd3fd9d Merge "Add some debug to async_wait failures" 2021-04-16 21:18:06 +00:00
Zuul 9bc8f8e627 Merge "Move gawk into general for post-config" 2021-04-15 23:08:23 +00:00
Zuul 84a2d4d35a Merge "Work around CHILD_MAX bash limitation for async" 2021-04-15 13:27:35 +00:00
Dan Smith 51e384554b Add some debug to async_wait failures
This dumps some data in the case where we fail to wait for a child
pid to help debug what is going on. This also cleans up a few review
comments from the actual fix.

Change-Id: I7b58ce0cf2b41bdffa448973edb4c992fe5f730c
Related-Bug: #1923728
2021-04-15 06:16:42 -07:00
Zuul a37704691c Merge "Rely on ceph.conf settings when cinder backup pool is created" 2021-04-15 09:43:26 +00:00
Dan Smith aa5c38727b Work around CHILD_MAX bash limitation for async
Apparently bash (via POSIX) only guarantees a small (32ish) number of
children can be started and their statuses retrieved at any given
point. On larger jobs with lots of plugins and additional work, we
may go over that limit, especially for long-lived children, such
as the install_tempest task.

This works around that issue by creating a fifo for each child at
spawn time. When the child is complete, it will block on a read
against that fifo (and thus not exit). When the parent goes to wait
on the child, it first writes to that fifo, unblocking the child so
that it can exit near the time we go to wait.

Closes-Bug: #1923728
Change-Id: Id755bdb1e7f1664ec08742d034c174e87a3d2902
2021-04-14 14:33:07 -07:00
Zuul ef1e9ada9b Merge "Make stackviz tasks not to fail jobs" 2021-04-10 13:41:29 +00:00
Ghanshyam Mann 580fec54c3 Make stackviz tasks not to fail jobs
Due to issue on stckviz side, job start
failing with POST_FAILURE. If we fix the
issue still we need to wait for periodic job
periodic-package-stackviz-element to publish
the latest tarball on https://tarballs.openstack.org/stackviz/dist/.

Let's not fail the job for any issue occur during
stackviz processing.

Closes-Bug: 1863161

Change-Id: Ifee04f28ecee52e74803f1623aba5cfe5ee5ec90
2021-04-08 22:17:56 +00:00
Zuul e53142ed0d Merge "Default to parallel execution" 2021-04-08 18:10:36 +00:00
Zuul cd0147194d Merge "Configure Cinder backup driver" 2021-04-08 15:33:49 +00:00
Zuul 5a12a7fc4b Merge "Update DEVSTACK_SERIES to xena" 2021-04-08 01:03:01 +00:00
Francesco Pantano 448db9ec41 Rely on ceph.conf settings when cinder backup pool is created
Ceph adds the osd pool default size option on ceph.conf via [1];
this means we don't need to specify the size of this pool if
the same value (same variable) is used (CEPH_REPLICAS).
This change is an attempt of removing the size setting, relying
on the implicit declaration of the value provided by ceph.conf.

[1] https://github.com/openstack/devstack-plugin-ceph/blob/master/devstack/lib/ceph#L425

Change-Id: I5fa2105ceb3b97a4e38926d76c1e4028f1108d4a
2021-04-07 22:57:29 +02:00
Zuul 2c275ab7db Merge "gzip, not xz" 2021-04-07 13:12:25 +00:00
Radosław Piliszek 6f2c807bfa gzip, not xz
xz may cause POST_FAILUREs due to memory pressure [1].

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-April/021609.html

Change-Id: I2ea3175ecf2508b62640bfffdd798d7072e55550
2021-04-06 18:43:32 +00:00
Ghanshyam Mann 25d37efb91 Update DEVSTACK_SERIES to xena
stable/wallaby branch has been created now and
current master is for xena.

Change-Id: I42f67361fe50795d929752434342effddf123486
2021-04-06 10:35:19 -05:00
Lee Yarwood 362641b1b8 cinder: Increase VOLUME_BACKING_FILE_SIZE
As reported in bug #1920136 the tempest-integrated-compute job has
started to see insufficient free virtual space errors being reported by
c-sch and c-vol when creating volumes. This change simply increases the
default size of the underlying LVM PV used to host these volumes within
the default LVM/iSCSI c-vol backend deployed by devstack.

Change-Id: I965d4a485215ac482403f1e83609452550dfd860
Closes-Bug: #1920136
2021-04-06 11:35:44 +01:00
Nobuhiro MIKI 110b9a9b1b Fix typo in multinode-lab document
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
Change-Id: I1b6100d6b8231f1f96a7768e26ab83f010f1e4dc
2021-04-01 11:14:27 +09:00
Hironori Shiina 01a84d2d03 Configure Cinder backup driver
This patch adds a new environment variable, CINDER_BACKUP_DRIVER for
configuring cinder backup driver used when c-bak service is enabled.
This gets cinder backup driver configurable with a similar pattern to
cinder backends. Although the current configurable backup drivers don't
need cleanup functions, the interface for cleanup is prepared for the
future.

The following backup drivers can be configured:
  swift:
  This is the default backup driver.
  ceph:
  This already can be configured if ceph backend driver is enabled. For
  backward compatibility, ceph backup driver is used if ceph backend
  driver is enabled and no backup driver is specified.
  s3_swift:
  The s3 backup driver gets configurable with this patch. By specifying
  's3_swift', the driver is configured for swift s3api.

In the future, lib/cinder_backups/s3 should be created separatedly for
external S3 compatible storage. This file will just set given parameters
such as a URL and credentials.

Change-Id: I356c224d938e1aa59c8589387a03682b3ec6e23d
2021-03-31 15:12:25 -04:00
Toshiaki Takahashi d207ba9015 Move gawk into general for post-config
Devstack script for setting post-config needs gawk.
So this patch moves gawk from files/*/nova into files/*/general.

Closes-Bug: #1909041
Change-Id: I06a1a5524f146a8d7337963e846b5a6b7561be13
2021-03-30 09:44:06 +00:00
Dan Smith 84b328c814 Default to parallel execution
Several jobs have been running in parallel since the late Wallaby
cycle, and other developers have had it enabled locally. I have heard
no async-related stability or debug-ability complaints thus far.
I think that we should convert the default to parallel early in the
Xena cycle in an attempt to spread the speed improvements across the
board, while also collecting data on a wider set of configurations.

Change-Id: I83d56c9363d481bb6d5921f5e1f9b024f136044b
2021-03-26 07:17:42 -07:00
Zuul a64c843052 Merge "Set default OVS_SYSCONFDIR value depending on OVS_PREFIX" 2021-03-24 19:23:22 +00:00
Zuul 83821a11ac Merge "Address feedback from glance-remote patch" 2021-03-23 16:56:21 +00:00
Zuul 64efd9862c Merge "nova: Default NOVA_USE_SERVICE_TOKEN to True" 2021-03-23 14:44:24 +00:00
Rodolfo Alonso Hernandez 30819e66dd Set default OVS_SYSCONFDIR value depending on OVS_PREFIX
When OVN is built from source, the value of OVS_PREFIX is set to
"/usr/local". All other paths referring to OVS should be prefixed
with this value.

Closes-Bug: #1920634
Related-Bug: #1918656

Change-Id: I9a45a5379d1c47cdf67b9c6d3d0409a88501e61e
2021-03-22 07:18:44 +00:00
Zuul 8ef0d73cba Merge "Use (or set properly) system-id generated by openvswitch" 2021-03-20 02:58:55 +00:00
Zuul 195c885cb3 Merge "Allow to install os-ken from git repo" 2021-03-18 12:45:10 +00:00
Zuul e049a31970 Merge "[OVN] Support for network-logging config" 2021-03-17 18:05:59 +00:00
Slawek Kaplonski 1ed276c177 Use (or set properly) system-id generated by openvswitch
In case when OVN_UUID isn't set by user, and it isn't stored
in /etc/openvswith/system-id.conf file, Devstack will reuse it.
If it's not, it will generate and store it in the
/etc/openvswitch/system-id.conf file so it can be set to same value
after openvswitch will be e.g. restarted.

In case when OVN_UUID is set by user, it will be also saved in
/etc/openvswitch/system-id.conf file to make it persistent when e.g
openvswitch will be restarted.

Closes-Bug: #1918656
Change-Id: I8e3b05f3ab83e204bc1ce895baec0e1ba515895b
2021-03-17 14:04:06 +00:00
Brian Haley af79a934ef Use 'ip addr replace' in OVN code
Instead of doing a flush/add, use replace like the ML2/OVS
code does. Should have the same behavior of not failing if
the address is already present.

Change-Id: If9d8a848b079ccb8c0c9b8e6fb708107aa0d46c7
2021-03-15 12:20:42 -04:00
Zuul f3e9399d38 Merge "Update Cirros to 0.5.2" 2021-03-12 13:31:13 +00:00
Zuul ff895cc787 Merge "Add a variable to configure the Tempest venv upper constraints" 2021-03-09 21:50:25 +00:00
Zuul d5a97c1787 Merge "Simulate a remote/standalone g-api worker" 2021-03-09 20:24:56 +00:00
Dan Smith 61b4fbf143 Address feedback from glance-remote patch
This cleans up some of the quote and variable handling that was
pointed out in review of the previous patch. This is non-critical,
so I'm putting it in a subsequent patch to avoid disturbing the
careful alignment of patches across three projects that are mostly
approved.

Change-Id: I9b281efd74ba5cd78f97b84e5704b41fd040e481
2021-03-09 09:28:16 -08:00
Dan Smith 802259a496 Simulate a remote/standalone g-api worker
In order to be able to test glance's distributed import function,
we need to have multiple workers in an arrangement like they
would be if one was on another host (potentially at another site).
This extra worker must be separate from the default image service
in order to repeatedly hit one and then the other to test cross-
service interactions.

This allows you to enable_service g-api-r, which will clone the main
g-api service, modify it to run on a different port, and start it.
The service will be registered in the catalog as image_remote.

Depends-On: https://review.opendev.org/c/openstack/glance/+/769976
Change-Id: I0e2bb5412701d515153c023873addb9d7abdb8a4
2021-03-08 18:25:32 -08:00
Lee Yarwood 38fed19acc Update Cirros to 0.5.2
This release [1] includes a single fix [2] pulling in the ahci module
which is required by Iad1adbc23b31dd54a96299e7a8a4b622c15eed8d, a
nova-next change introducing q35 testing to the job.

This depends on the following change caching the image within the CI
host image:

Depends-On: https://review.opendev.org/c/openstack/project-config/+/779178/

[1] https://github.com/cirros-dev/cirros/releases/tag/0.5.2
[2] https://github.com/cirros-dev/cirros/pull/65

Change-Id: I12e0bdb3699e5343592ab834468ba6b2fcdcaaf4
2021-03-08 08:50:53 +00:00
Ghanshyam Mann bd0d0fde24 Add enforce_scope setting support for Cinder
Conder started moving to new RBAC and cinder-tempest-plugin
and Tempest need to set few configuration to enable the
scope checks on cinder side and on Temepst side to tell
cinder is all configured with scope checks and test can be run with
scoped token.

Change-Id: Ic7cd919c000c4e7b9a3a06638a5bd87b1617e749
2021-03-06 17:23:39 -06:00
Ghanshyam Mann 8c93049220 Add enforce_scope setting support for Glance
Glance started moving to new RBAC and glance-tempest-plugin
and Tempest need to set few configuration to enable the
scope checks on glance side and so does on Temepst side to tell
glance is ready with scope checks so that test can be run with
scoped token.

Change-Id: I09f513d08212bc80a3a86a750b29b1c6625d2f89
2021-03-05 09:40:39 -06:00
Ghanshyam Mann 9dc2b88eb4 Add enforce_scope setting support for keystone
Keystone-tempest-plugin has implemented the secure RBAC
tests and enabling the enforce_scope via keystone devstack
plugin. Doing those setting in devstack will help to manage
easily and in central place also avoid restarting the api
service.

Change-Id: I30da189474476d3397152a0a15c2e30a62d712ad
2021-03-05 09:32:19 -06:00
Stephen Finucane 3948fcb03c Remove MAINTAINERS.rst
This file is mega out-of-date and no longer helpful. Remove it.

Change-Id: Ic7e215c3e48a9c453d19355ad7d683494811d2af
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-05 15:10:19 +00:00
Stephen Finucane 970891a4ef Remove references to XenAPI driver
The XenAPI driver was removed during the Victoria release [1], while the
libvirt+xen driver has been removed in the Wallaby release [2]. Remove
references to Xen from DevStack since its all a no-op now.

[1] I42b302afbb1cfede7a0f7b16485a596cd70baf17
[2] I73305e82da5d8da548961b801a8e75fb0e8c4cf1

Change-Id: If7055feb88391f496a5e5e4c72008bf0050c5356
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-05 15:10:19 +00:00
Stephen Finucane 3c6d105929 nova: Remove nova-xvpvncproxy
This was removed this service from nova in Ussuri [1]. There's no need
to keep this around.

[1] I2f7f2379d0cd54e4d0a91008ddb44858cfc5a4cf

Change-Id: Idc95c6467a8c6e0c0ed07a6458425ff0a10ff995
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-05 15:10:11 +00:00
Akihiro Motoki f548ce4816 Allow to install os-ken from git repo
os-ken is used by neutron ML2/OVS agent.
We need to install os-ken from source to test os-ken changes
against neutron. We already have tempest-integrated-networking job
in os-ken repo but it turns out it consumes os-ken from PyPI :-(

Change-Id: Ibcff212591e9fed25f1316403627269d81455b09
2021-03-04 10:31:30 +09:00
Stephen Finucane 8f3e51d79f nova: Die if console TLS enabled with tls-proxy
We require the 'tls-proxy' service to set up certificates for us. Hard
fail if 'NOVA_CONSOLE_PROXY_COMPUTE_TLS' is enabled but the 'tls-proxy'
service is not.

Change-Id: I52fec12b78ecd8f76f835551ccb84dfb1d5b3d8a
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-03-02 16:18:48 +00:00
Lucas Alvares Gomes 8903d8c1e2 [OVN] Fix Fedora/CentOS OVN configuration
When installing OVN from packages, the rpm for Fedora / CentOS pre set
some configurations that conflicts with the post configuration done by
DevStack.

This patch fixes this problem by erasing the pre-set configuration from
the packages and leaving it to DevStack to configure OVN for its use
(just like we would do when compiling it from source).

Change-Id: I9c18023c9aa79c0633748a6169f4f283e9d74ef0
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2021-02-24 13:52:33 +00:00
Zuul 0de8a5534f Merge "Stop configure 'member' role in tempest_roles" 2021-02-23 19:43:06 +00:00
Ghanshyam Mann 3bdc8f66ad Add a variable to configure the Tempest venv upper constraints
We use Tempest master for testing the supported stable
branches so using master upper constraints works fine but
when we need to use old Tempest in the below cases then master
upper constraints do not work and devstack will not be
able to install Tempest in vnenv:

- Testing Extended Maintenance branch
- Testing py2.7 jobs until stable/train with in-tree tempest plugins

This commit adds a variable to set the compatible upper constraint
to use for Tempest's old version.

Few of the current failure which can be fixed by this new configurable var:
- networking-generic-switch-tempest-dlm-python2
  - https://zuul.opendev.org/t/openstack/build/ebcf3d68d62c4af3a43a222aa9ce5556
- devstack-platform-xenial on stable/steinand stable/train
  - https://zuul.opendev.org/t/openstack/build/37ffc1af6f3f4b44b5ca8cbfa27068ac

Change-Id: I5b2217d85e6871ca3f7a3f6f859fdce9a50d3946
2021-02-20 14:05:36 -06:00
Zuul 49cd2252f0 Merge "Fix DevStack setup on CentOS 8.3" 2021-02-20 18:23:04 +00:00
Zuul bacaf0c4aa Merge "Fix nova db dependency" 2021-02-18 12:22:17 +00:00
Pierre Riteau f361122798 Fix DevStack setup on CentOS 8.3
CentOS 8.3 changed the name of the PowerTools repository to powertools:
https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.2011#Yum_repo_file_and_repoid_changes

With this repository disabled, DevStack fails to install libyaml-devel,
which causes a failure to install many packages. In my environment
DevStack stopped with an error caused by a missing wget.

Keep the command using the old repository name, for compatibility with
older CentOS releases.

Change-Id: I5541a8aee8467abf10ce8a10d770618bdd693f02
2021-02-17 17:43:13 +01:00
Dan Smith 48b7633ae8 Fix nova db dependency
When I reordered the nova database creation for better performance
and cleaner arrangement, I broke the non-standard arrangement where
the super and cell conductors are squashed together. In devstack,
this is implemented by pointing the controllers at cell1 in the
config, which makes it hard to create and sync the databases in the
natural order. This manifested in a failure when running in this
mode (which apparently Trove is).

As a quick fix, this special-cases the setup for cell0 if that mode
is enabled. I will follow this up with a cleaner refactor of all that
stuff so this hack isn't required, but that will take a bit longer.

Change-Id: I5385157c281beb041bf67cba546be20cf9497cbe
2021-02-16 16:02:00 -08:00
Zuul 18bf75e52f Merge "Always verify os_glance reserved namespace" 2021-02-16 21:16:48 +00:00
Ghanshyam Mann 57b092dbce Stop configure 'member' role in tempest_roles
Config option auth.tempest_roles is used to set the
extra roles to all dynamic cred tests users.
- https://opendev.org/openstack/tempest/src/commit/9b6f441fdc2a970410ea631dc1318896349e010f/tempest/common/credentials_factory.py#L82

Devstack set the 'member' role in CONF.auth.tempest_roles
- https://opendev.org/openstack/devstack/src/commit/556f84aea90c572873fc9834292635b41e590224/lib/tempest#L628

This cause issue if any tests testing for speciifc rols and want
to exclude the 'member' role, basically this bug
- https://bugs.launchpad.net/devstack/+bug/1915740

Also with 'member' role assigned by default, Tempest will not be
able to test the secure RBAC new default 'reader' role.

Let's remove  this role assignment now and let test congfigure what
they want.

Closes-Bug: #1915740

Change-Id: I0b6ab9fb943c7b0925a0a0d2490a8bcdfa76cedc
2021-02-15 17:34:17 +00:00
Lee Yarwood b516efedf9 nova: Default NOVA_USE_SERVICE_TOKEN to True
Introduced in devstack by I2d7348c4a72af96c0ed2ef6c0ab75d16e9aec8fc and
long tested by nova-next this enabled by most deployment tools by
default now and should be enabled by default in devstack.

Change-Id: Ia76b96fe87d99560db947a59cd0660aab9b05335
2021-02-15 10:32:03 +00:00
Zuul 556f84aea9 Merge "Async task support" 2021-02-11 22:33:01 +00:00
Zuul f9047f3151 Merge "Increase volumes quota for service project" 2021-02-11 20:55:48 +00:00
Zuul 357698d4cb Merge "orchestrate-devstack: Copy controller ceph.conf and keyrings to subnode" 2021-02-11 03:23:23 +00:00
Lee Yarwood e11d367d8e orchestrate-devstack: Copy controller ceph.conf and keyrings to subnode
This change introduces a basic role to copy the contents of /etc/ceph
between the controller and subnodes during orchestrate-devstack allowing
a multinode ceph job to be introduced by
I9ffdff44a3ad42ebdf26ab72e24dfe3b12b1ef8b.

Note that this role is only used when devstack-plugin-ceph is enabled.

Change-Id: I324c0f35db34f8540ca164bf8c6e3dea67c5b1b4
2021-02-10 16:01:04 +00:00
Dan Smith 30d9bf9a6d Async task support
We have a *ton* of stuff in devstack that is very linear, specifically
the ten-ish minutes we spend loading osc to run a single API command
against something. We also generate configs, sync databases, and other
things that use one core of our worker and make our runtime longer
than it really needs to be.

The idea in this patch is to make it super simple to run some things
in the background and then wait for them to finish before proceeding
to something that will require them to be done. This avoids the
interleaving you would expect by redirecting the async tasks to a log
file, and then cat'ing that log file synchronously during the wait
operation. The per-task log file remains so it's easier to examine
it in isolation.

Multiple people have reported between 22-30% improvement in the
time it takes to stack with this. More can be done, but what is here
already makes a significant difference.

Change-Id: I270a910b531641b023c13f75dfedca057a1f1031
2021-02-09 15:57:04 -08:00
Flavio Fernandes a2273cc4c8 [OVN] Support for network-logging config
This patchset adds configuration support for network logging
when the OVN driver is enabled.

Depends-On: https://review.opendev.org/768129
Change-Id: I6fc0973bedfd1dcc72b01981cd64f9283662d37c
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
2021-02-08 10:56:38 -05:00
Dan Smith b4bba2f2c8 Increase volumes quota for service project
If we are backing glance with cinder, we will use more volumes and
if timing is right, we will clash with other tests and be unable
to create what we need. If we are backing glance with cinder, we
should increase the volumes quota, which this patch does (to 50 from
a default of 10).

Closes-Bug: #1914665
Change-Id: I2ad1c4d21f996ee1a9ce29ba4f1a4b8f5720f8fb
2021-02-05 15:36:01 +00:00
Zuul aa2821eb89 Merge "Drop opensuse platform job" 2021-02-02 18:18:36 +00:00
Vanou Ishii eef2a0d751 Fix Early Use of die function in stack.sh
This commit fixes use of die function before it's defined.
die function can be used after sourcing $TOP_DIR/functions chain-
sources $TOP_DIR/functions-common.
Because fixed portion of stack.sh checks existence of $TOP_DIR/inc
and sourcing $TOP_DIR/function chain source $TOP_DIR/inc, this commit
uses echo & exit command instead of die function.

Closes-Bug: #1913021
Change-Id: I5ec174cf7b02269525b1bfd0bfa94ea889d16fce
2021-01-25 16:51:19 +09:00
Zuul 84ead5aacf Merge "Also cap pip in tempest tox venv" 2021-01-23 01:19:20 +00:00
Dan Smith ed164289a5 Always verify os_glance reserved namespace
On master, we should always enable tempest's verification of Glance's
os_glance namespace enforcement.

Change-Id: Ia71878e6c53ee683a868112959876798e946e2ce
Depends-On: https://review.opendev.org/c/openstack/glance/+/771070
2021-01-18 09:57:00 -08:00
Dan Smith bcd0acf6c0 Also cap pip in tempest tox venv
I am still unable to stack because of pip 20.3, but this time
because of the tempest venv build. This forces it to the same
capped pip, which further works around the problem.

Change-Id: Icfaaefe1aa576733764b393cba96d276c9b1cf68
Related-Bug: #1906367
2021-01-13 12:28:18 -08:00
Dan Smith edee6dc341 Add debug helper script
I'm not sure if others will find this useful, but I use this
script to run pieces of devstack while trying to write/debug
things. It saves me a lot of time being able to get to some
project-lib function without a full clean/re-stack.

Figured I'd share in case it's worth putting into the tree.

Change-Id: I9a92fa71d34f50c2f5ba7d11c1a45301bd4478bf
2021-01-12 17:41:19 -08:00
Zuul e2f574fb90 Merge "cinder: Double [DEFAULT]/rpc_response_timeout to 120" 2021-01-08 10:35:39 +00:00
Zuul 643ee3d51e Merge "Clean up create_disk() a little" 2021-01-08 10:19:27 +00:00
Jens Harbott b37240382d Drop opensuse platform job
It has been broken for over a month. Feel free to revert in combination
with a fix, better with a commitment to keep the job in working shape
permanently.

Change-Id: I2604374c23716d56de29e16a459b7c7f45b84891
2021-01-08 09:41:56 +01:00
Dan Smith 36a575b036 Clean up create_disk() a little
The create_disk() helper had some redundant checks and dead code. This
refactors it to put all the stale cleanup at the top, and groups the
new actions together with more relevant comments to make it easier
to understand.

Change-Id: I1f6218a1994e66786ed9a8065e30bcceec7b8956
2021-01-07 11:29:01 -08:00
Zuul 5867ff9b75 Merge "Install systemd-python from distribution package" 2021-01-07 11:02:00 +00:00
Zuul aef50ed18c Merge "[OVN] Use OVN from packages" 2020-12-30 16:29:29 +00:00
Federico Ressi 7e3428b987 Install systemd-python from distribution package
CentOS 8 support start to fail because of an issue [1]
compiling systemd python binding modules.
Let install it from distribution packages as documented by
python-systemd project Web page [2]

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1862714
[2] https://github.com/systemd/python-systemd

Closes-Bug: #1908386
Change-Id: Ic7cfd72ce1b875e75b1cdbdd44a902b25d51abb8
2020-12-23 14:22:27 +00:00
Lee Yarwood fc41717222 cinder: Double [DEFAULT]/rpc_response_timeout to 120
Bug #1873234 documents a number of CI failures caused by RPC requests
from c-api to c-vol timing out due to `lvchange` taking longer than the
default rpc_response_timeout of 60 seconds to complete.

While the underlying reason for the slowness should be investigated by
the cinder team a trivial workaround to the fallout created by these
timeouts is to simply double the client RPC timeout used by c-api,
allowing c-vol to return and overall the request to succeed.

Change-Id: I53dc0ae10af6aa13f1349b58373932eb6a15ab02
Related-Bug: #1873234
2020-12-23 10:58:26 +00:00
Ghanshyam Mann 04b0b61557 Install swift keystone extras requirements
Since the introduction of I8f24b839bf42e2fb9803dc7df3a30ae20cf264
s-proxy is no longer able to launch as keystonemiddleware (listed under
test-requirements.txt) has not been installed.

keystonemiddleware is listed as extras requirements in swift
- https://github.com/openstack/swift/blob/e0d46d77fa740768f1dd5b989a63be85ff1fec20/setup.cfg#L79

Let's install swift keystone extra requirements also.

Closes-Bug: #1909018
Change-Id: I02c692e95d70017eea03d82d75ae6c5e87bde8b1
2020-12-23 09:51:24 +00:00
Lucas Alvares Gomes e651d9ef88 [OVN] Use OVN from packages
This patch changes the OVN module from DevStack to allow for using the
OSapackaged version of OVN instead of compiling it from source.

A new variable called OVN_BUILD_FROM_SOURCE has been introduced and when
set to False (the default value) OVN will then use the packaged version
for setting up DevStack.

Note, in the stop_ovn() function, the OVN metadata agent service name
was wrong and the service wasn't being stopped as part of ./unstack.sh.
This patch also fixed it as well.

Change-Id: Ib41e3b486550200572afd6b3ba783d7644d70d44
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Co-Authored-By: Slawek Kaplonski <skaplons@redhat.com>
2020-12-19 18:50:48 +01:00
Zuul a9afdb18b4 Merge "fix is_fedora for centos 8 stream" 2020-12-18 02:32:54 +00:00
Masayuki Igawa 89acae9779 Use python3-guestfs in Ubuntu
This commit makes to use python3-guestfs instead of python-guestfs in
Ubuntu because python-guestfs package is not provided in focal[1][2].
This causes errors in some gate job if `ENABLE_FILE_INJECTION` is true
like the following.

```
...
Package python-guestfs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python3-guestfs

E: Package 'python-guestfs' has no installation candidate
...
```
http://paste.openstack.org/show/801073/

[1] https://packages.ubuntu.com/search?lang=en&keywords=python3-guestfs
[2] https://packages.ubuntu.com/search?lang=en&suite=default&arch=any&searchon=names&keywords=python-guestfs

Change-Id: Iffe60aa0351b732d543927afa1f1e846ba2a89fd
2020-12-16 09:17:08 +09:00
Sean Mooney e7c017bd89 fix is_fedora for centos 8 stream
When deploying on the centos 8 stream variant
the output of "lsb_release -i -s" is
CentOSStream instead of CentOS

This breaks the is_fedora function in devstack
preventing package installation and removal.

Change-Id: I39ccefbd06f46adf5077f8d8001f37d3b190f040
2020-12-15 19:58:37 +00:00
Zuul 97f3100c4f Merge "zuul: Remove nova-live-migration from check queue" 2020-12-06 21:44:11 +00:00
Zuul 5dff818602 Merge "Decrease MTU to account for IPv6 header" 2020-12-04 05:28:02 +00:00
Elod Illes 7a3a7ce876 Workaround for new pip 20.3 behavior
This patch caps pip version during bootstrap to avoid the issue:

"ERROR: Links are not allowed as constraints"

A proper fix would be to adapt to new pip behavior.

Depends-On: https://review.opendev.org/764811
Change-Id: I1feed4573820436f91f8f654cc189fa3a21956fd
2020-11-30 17:01:20 -06:00
Zuul 907b9042b8 Merge "tempest: Enable shelve_migrate tests with Libvirt" 2020-11-29 12:43:55 +00:00
Zuul 6d735429da Merge "Make create_disk() persistent" 2020-11-23 23:15:36 +00:00
Zuul 788b6a97f8 Merge "Remove deprecated tail_log function" 2020-11-23 10:24:34 +00:00
Lee Yarwood cdc2e9f656 zuul: Remove nova-live-migration from check queue
As documented in the associated TODO this job can be removed now that it
has been migrated to zuulv3 by Ib342e2d3c395830b4667a60de7e492d3b9de2f0a.

Change-Id: Id7c0fd8eec09386cd638956a46c1f75844194b9d
2020-11-19 09:19:11 +00:00
Zuul 3a96dd10c6 Merge "[CI] Copy /etc/ceph output to logs" 2020-11-16 06:50:49 +00:00
Victoria Martinez de la Cruz 7a5fda8326 [CI] Copy /etc/ceph output to logs
Change-Id: I91317c7d4972f07f741cdde2f406e290bb65467b
2020-11-13 12:58:41 -03:00
Zuul b958edd3f9 Merge "enable ussuri cloud archive on ubuntu bionic" 2020-11-13 02:44:57 +00:00
Zuul 0d2d6f93f6 Merge "Look for ipv6 routes so ipv6-only jobs will not fail" 2020-11-11 18:07:28 +00:00
Zuul 4e86376c0b Merge "Configure os-vif ovsdb_connection" 2020-11-11 18:00:04 +00:00
Sean Mooney 6c03a85d8b enable ussuri cloud archive on ubuntu bionic
This change updates bionic installs to use the
ussuri cloud archive to enable the use of libvirt 6.0.0.
This is required to prevent a libvirt bug that causes intermittent
failures for the tempest test_live_block_migration_paused testcase.

Change-Id: I9c395c2b5fdfe6ad9a43477280e88e9a9b34f057
Related-Bug: 1901739
2020-11-11 04:59:21 +00:00
Weronika Sikora d7d87b0202 Set image_alt_ssh_user during stack
At this moment, only image_ssh_user is present in the config
of Tempest. It's set to cirros by default and used for
SSH connections in tests. However, several tests build
instances with image_ref_alt, but still use image_ssh_user to
connect, which results in failure if image_ref_alt is set to
a non-cirros image. They should use image_alt_ssh_user instead,
which can be set to whichever user the image_ref_alt needs in
either local.conf or during plugin installation.

Change-Id: I899909fb71a9862c891e94ba54c6a8fa137f9769
Partial-Bug: #1844535
2020-11-10 12:43:47 +01:00
Dan Smith 6766f71d62 Make create_disk() persistent
Right now a system configured with the ceph plugin will not survive
a reboot because the backing disk we create and mount isn't mounted
at startup, preventing ceph from starting and the rest of nova/glance
from working.

This makes create_disk() idempotently write an fstab rule for the
disk we make, and adds a destroy_disk() handler for cleanup.

Change-Id: I50cd4234f51a335af25be756bd2459dca5aa343c
2020-11-09 14:59:23 -08:00
Nate Johnston efc04eec00 Look for ipv6 routes so ipv6-only jobs will not fail
For change 739139 [1] PS 12, the
neutron-tempest-plugin-scenario-linuxbridge died in devstack with
"/opt/stack/devstack/functions-common:237 Failure retrieving default
route device", which comes from
"/opt/stack/devstack/lib/neutron-legacy:237:die_if_not_set".

Looking at the worlddump.txt for that job [2] I see that there is a
default ipv6 route; the vm was not configured with ipv4 networking.

    ip route
    --------

    ip -6 route
    -----------

    ::1 dev lo proto kernel metric 256 pref medium
    2607:ff68:100:54::/64 dev ens3 proto kernel metric 256 expires 86380sec pref medium
    fe80::/64 dev ens3 proto kernel metric 256 pref medium
    default via fe80::f816:3eff:fe77:b05c dev ens3 proto ra metric 1024 expires 280sec hoplimit 64 pref medium

Looking at the devstack code that throws the error [3] it looks like
it only looks for a default route in the output of `ip route`, which
does not include ipv6 information.  This change should look in both
the ipv4 and ipv6 route table.  A similar check in the L3 setup code
is also updated.

[1] https://review.opendev.org/#/c/739139/
[2] https://d4eb7e3efe98cba79a4b-f4d168cdb20f40841821e4b213645c0f.ssl.cf2.rackcdn.com/739139/12/gate/neutron-tempest-plugin-scenario-linuxbridge/9a6b4f7/controller/logs/worlddump-latest.txt
[3] https://opendev.org/openstack/devstack/src/branch/master/lib/neutron-legacy#L236

Closes-Bug: #1902002
Change-Id: I839e8c222368df98fec308cf41248a9dd0a8c187
2020-11-09 17:05:38 -05:00
Brian Haley 2bb62b43bf Decrease MTU to account for IPv6 header
(MTU - 50) only supports VxLAN over IPv4, decrease it
to support IPv6 as well, which is 20 bytes larger.

Change-Id: I0cf258770f628c1b4fb590bd274b5433fbcc1450
2020-11-06 17:34:53 -05:00
Jens Harbott 47f76acbba Determine default IPv4 route device only when needed
Sometimes instances don't have an IPv4 default route, so only check for
it when we actually need it. In a followup patch we could extend the
code to check for an IPv6 default route instead or in addition.

Related-Bug: 1902002
Change-Id: Ie6cd241721f6b1f8e030960921a696939b2dab10
2020-10-30 09:43:55 +01:00
Jens Harbott 3f28c272d0 Remove deprecated tail_log function
This function has been deprecated for a long time, let's finally
remove it. It is only generating a warning anyway.

Change-Id: I7bd440adf2ce8283e3ad3d5d09e6b2b877e2b42e
2020-10-28 13:06:52 +00:00
Lucas Alvares Gomes 6ecfe67d8e Configure os-vif ovsdb_connection
This patch set the os-vif "ovsdb_connection" configuration option so it
can connect to the local OVSDB. By default, this option points to
tcp:127.0.0.1:6640 and would fail if SERVICE_IP_VERSION == 6.

Also, if SERVICE_IP_VERSION is an IPv6 address, it should be wraped with
square brackets for it to work.

Change-Id: Ie6eec4e140c7464936cf0b0c6307026a94c9f4ee
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-10-26 13:55:33 +00:00
Sean Mooney 7de6e0b2ec fix ipv6 flag order in worlddump
this change corrects the flag order from 'route -6'
to '-6 route' as the -6 flag is an option when used with
ip is an argument to the the ip command and not the route
subcommand.

-6 is accpeted as an argument to the standalone 'route'
commannd but not 'ip route' subcommand.

Change-Id: Ic2ae472e42b7b455693d0aade48dc5109e1f21ba
2020-10-21 14:05:17 +01:00
Walter A. Boring IV b107f9cf18 Add support for ceph_iscsi cinder driver
This patch adds support to configure the new ceph iscsi driver

Depends-On: https://review.opendev.org/#/c/662829/
Depends-On:https://review.opendev.org/668667
Change-Id: Ica180e00dedb8e7ed60e27e3f4841faa8fef938c
2020-10-15 22:04:46 +00:00
Jens Harbott 0545b48f3b Add IPv6 route information to worlddump
The "ip route" command only outputs IPv4 routes, add a command to also
show IPv6 route information.

Drop output from "ip link" as that information is contained within the
"ip addr" output already.

Change-Id: Iae87f43c4b1c57f07de041e823da9d350c670389
2020-10-13 16:06:44 +02:00
Zuul 6e68add275 Merge "Fix: do not lose the tox_environment value in func tests" 2020-10-13 10:22:08 +00:00
Luigi Toscano 906d824a19 Fix: do not lose the tox_environment value in func tests
The current code always overrides tox_environment when running
functional tests, but the correct behavior is to add
the discovered environment variables to tox_environments,
while keeping the user-specified value for it.

The current behavior breaks the devstack-tox-functional children
jobs, like openstacksdk-functional-devstack-ironic, which set
tox_environment.

Change-Id: I5dc9054a1495ca0ef7745c08316441ab153956f4
2020-10-11 21:59:07 +02:00
Zuul 48bc0924cf Merge "Removing fixup for f32 + dnsmasq 2.81" 2020-10-10 15:01:18 +00:00
Dan Radez 3ebb95f9b5 Removing fixup for f32 + dnsmasq 2.81
workaround reported https://bugs.launchpad.net/neutron/+bug/1896945
fixed by https://review.opendev.org/#/c/755356/

Change-Id: I86a0be548e344ed4e95eab7212ba432bf570d2ae
2020-10-10 10:34:12 +00:00
Riccardo Pittau 8e74a617df Move supported distros to variable
Improve redability of the distro check using a variable to
store supported distributions.

Change-Id: Iffa1619065358d459bd04523b7eeae9049f8f2f0
2020-10-06 11:01:12 +02:00
Ghanshyam Mann 29efb72822 Update DEVSTACK_SERIES to wallaby
stable/victoria branch has been created now and
current master is for wallaby.

Change-Id: I5f5b233127d6ef24452fcd05db990f9ddc244dc4
2020-09-30 11:06:49 -05:00
Zuul 4727c5c946 Merge "Change glance default back to WSGI mode" 2020-09-29 18:49:20 +00:00
Zuul 680298e7c6 Merge "Add possibility to not compile ovs and ovn if that's disabled" 2020-09-29 00:33:58 +00:00
Zuul 07bda155e9 Merge "Update opensuse version" 2020-09-28 19:29:34 +00:00
Zuul 0d14595b02 Merge "Remove Fedora 30 support" 2020-09-28 17:26:48 +00:00
Dan Smith 155109df89 Change glance default back to WSGI mode
The situation around glance under WSGI has changed a lot in a week.
We can now run tasks and imports under WSGI, so let's switch the
default back so that glance is consistent (by default) with the
other projects.

Change-Id: I3ae285b2ac4972c0b8abaccfc7c0ede0e1c49bf1
2020-09-28 08:28:57 -07:00
Zuul 2c07049b40 Merge "Add Fedora 32 to supported list and use as fedora-latest" 2020-09-28 12:15:11 +00:00
Clark Boylan 471f1625bb Update opensuse version
Nova has newer qemu requirements which needs opensuse 15.2 to meet. The
infra opensuse 15 images are 15.2 now to accomodate that. Update
opensuse's supported version to match.

Change-Id: I6f3c5234920b185b2b0cd9c358371402f7a7b922
2020-09-28 09:45:39 +00:00
Zuul 09430e43c4 Merge "Enable access rules tempest tests" 2020-09-27 10:00:45 +00:00
Lee Yarwood f966e28739 Remove Fedora 30 support
Fedora 30 hit EOL earlier in the year and can be removed from devstack.

https://en.wikipedia.org/wiki/Fedora_version_history#Version_history

Change-Id: I47452700d520a544c93c0c187143ec763f026612
2020-09-25 11:34:03 +01:00
Lee Yarwood fa5742f8e1 Add Fedora 32 to supported list and use as fedora-latest
This includes a workaround to a known dnsmasq >= 2.81 issue that
results in unanswered DHCP requests from instances as documented in the
following Neutron bug:

dnsmasq >= 2.81 not responding to DHCP requests with current q-dhcp configs
https://bugs.launchpad.net/neutron/+bug/1896945

For the time being we will attempt to downgrade to 2.80 to avoid this.

Related-Bug: #1896945
Change-Id: I3a760c43956221424926bd9dad0ebe9b28ae2b52
2020-09-25 11:33:57 +01:00
Alexandre Arents 4a1186aa90 tempest: Enable shelve_migrate tests with Libvirt
Enable the compute feature for shelve_migrate on all but LXC and
Xen virt_types.

Related-Bug: #1732428
Depends-On: https://review.opendev.org/#/c/696084/
Change-Id: I31cd00c9117607682213cfa0399709e560f4ad0d
2020-09-25 07:12:42 +00:00
Zuul 77dd657fe7 Merge "Configure cinder store for glance" 2020-09-24 18:37:26 +00:00
Zuul 0e45edd3bf Merge "Switch devstack base job to Ubuntu Focal" 2020-09-24 02:22:16 +00:00
Abhishek Kekane 057aaa6ec9 Configure cinder store for glance
This patch will enable user to configure single cinder store as well as
multiple cinder stores for glance. Below are the parameters needs to be
added in local.conf.

A. For single store
USE_CINDER_FOR_GLANCE=True

B. For Multiple stores
USE_CINDER_FOR_GLANCE=True
GLANCE_ENABLE_MULTIPLE_STORES=True
CINDER_ENABLED_BACKENDS=${CINDER_ENABLED_BACKENDS:-lvm:lvmdriver-1,lvm:lvmdriver-2,nfs:nfsdriver-1,ceph:cephdriver-1}
GLANCE_CINDER_DEFAULT_BACKEND=lvmdriver-1

enable_plugin devstack-plugin-nfs https://opendev.org/openstack/devstack-plugin-nfs
enable_plugin devstack-plugin-ceph https://opendev.org/openstack/devstack-plugin-ceph

NOTE:
GLANCE_CINDER_DEFAULT_BACKEND should be one of the value from CINDER_ENABLED_BACKENDS.
If you need to configure nfs and ceph backend for cinder then you need to add respective plugins in
local.conf file.
If GLANCE_ENABLE_MULTIPLE_STORES is True then it will not configure
swift store for glance even if it is enabled in local.conf file.

Needed-by: https://review.opendev.org/#/c/750018
Change-Id: Id0d63c4ea41cce389eee8dc9a96913a7d427f186
2020-09-23 15:23:15 +00:00
Ghanshyam Mann 848aaf83ed Add nova-ceph-multistore job in devstack gate
nova-ceph-multistore is defined in nova side to test the
glance multistore on ceph and it is voting on nova gate.

There are other multistore testing enhancement going on for
example- https://review.opendev.org/#/c/743800/. so to avoid
any regression, let's run exiting mutistore job on devstack
gate too.

Change-Id: Ie82b4057463df4b6138c53b14a582bd84866aebd
2020-09-23 15:10:36 +00:00
Zuul eac2b0789c Merge "Bionic: Enable Train UCA for updated QEMU and libvirt" 2020-09-21 23:52:43 +00:00
Slawek Kaplonski 7ba26f5cf9 Add possibility to not compile ovs and ovn if that's disabled
There is flag Q_BUILD_OVS_FROM_GIT which can be used to not compile
ovs from source.
But this wasn't respected in the ovn_agent's module in install_ovn
function which was always installing from source ovn and ovs.
We need to disable that e.g. on grenade jobs when new version is
installed.

Change-Id: I7d3f92365e880191dcfe7c618a6f79d5f741144f
2020-09-21 12:59:16 +02:00
Zuul 1f8109ac29 Merge "Further py2 cleanup for Fedora" 2020-09-19 11:36:12 +00:00
Lee Yarwood 7f7f488bc3 Bionic: Enable Train UCA for updated QEMU and libvirt
This is will allow the openstack/nova project to facilitate a minimum
required version bump of QEMU and libvirt within the libvirt virt driver
in I8e349849db0b1a540d295c903f1470917b82fd97 ahead of the planned switch
to focal later in Victoria.

Change-Id: I85eb45632ff229676f7c29708f4a7cc64b3d90e3
2020-09-17 17:47:21 +01:00
Zuul a7252cc0f4 Merge "Make grenade jobs voting again" 2020-09-16 07:27:42 +00:00
Zuul f533ce5408 Merge "Update HACKING doc" 2020-09-16 06:24:39 +00:00
Zuul 68d639f4d6 Merge "Fix propose-updates job" 2020-09-16 06:24:38 +00:00
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
Jens Harbott cb8a4a6882 Make grenade jobs voting again
This reverts the changes made to the zuul config in [0]. Since the
backports to the stable branches have been merged, the jobs can be
voting again.

[0] I5d8aa0e58e0409c54451b51de5eb70ba9a68d849

Change-Id: I3f5972e05faea8f11d7e87f3f8b05e4979e6c328
2020-09-01 14:04:00 +02:00
Ian Wienand 18b4251bf4 Use SETUPTOOLS_USE_DISTUTILS=stdlib for global pip installs
A new setuptools release has changed the way pip installs are done,
see [0]. With this change we switch back to using the distro
method for global pip installs.

Temporarily make grenade jobs non-voting in order to allow this
patch to be backported.

[0] http://lists.openstack.org/pipermail/openstack-discuss/2020-August/016905.html

Change-Id: I5d8aa0e58e0409c54451b51de5eb70ba9a68d849
2020-08-31 15:01:20 +02:00
Lucas Alvares Gomes e7625fc72c [OVN] Follow up of OVN module migration to DevStack
This patch is a follow-up of Ib4194329474e8d68a90886d2a04f027eecd741df.

This patch removes the configure_port_forwarding call from the
neutron-legacy module because port forwarding (just like other
extensions such as DNS, QOS, etc...) are already enabled in the
plugin.sh file in the neutron repository [0]. The
configure_port_forwarding method itself is also defined in the neutron
repository so calling it here may result in a failure in case the plugin
is not enabled.

We are also removing the "dns" extensions from the default
Q_ML2_PLUGIN_EXT_DRIVERS variable because this extension conflicts with
the default DNS extensions that is enabled by Neutron when
q-dns/neutron-dns service is enabled (also in [0]). The LP for this
conflict problem is: https://bugs.launchpad.net/neutron/+bug/1887163.

[0]
https://github.com/openstack/neutron/blob/945a244588b81064e4301b6f055a3c90f472bd7e/devstack/plugin.sh#L101-L103

Change-Id: Iafb9e45520798b2a612192cfc6cca28501465862
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-08-26 09:46:35 +01:00
Zuul 5aa38f51b3 Merge "[OVN] Move OVN module from Neutron to DevStack" 2020-08-25 15:51:48 +00:00
Jens Harbott f0c12bd4b5 Further py2 cleanup for Fedora
Change-Id: I2433e2ed067f866751bf49983c0a7efce4be8900
2020-08-22 14:06:14 +02:00
Carlos Goncalves b9fe9c74f6 Make PyYAML overridable on Red Hat family distros
This patch fixes an early stack issue where the following error message
would be presented:

ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project
and thus we cannot accurately determine which files belong to it which
would lead to only a partial uninstall.

We also drop references to removal of Python 2 library egg infos now
that Python 2 is EOL.

Closes-Bug: #1892363
Change-Id: I2876ee58ab6b73682869d6b4e684e10ac5e56ad9
2020-08-20 15:15:10 +02:00
Zuul 5b1d5a99fa Merge "New get-devstack-os-environment role" 2020-08-19 09:01:10 +00:00
Luigi Toscano 6fba3fdfa1 New get-devstack-os-environment role
The role reads the OS_* variables set by devstack through openrc
for the specified user and project and exports them as
the os_env_vars fact. It is meant to be used as a porting aid
for the jobs of the non-unified *clients only.

This is useful to run functional tests against the generated
environment. A slightly less generic version of this role
is currently used by python-cinderclient and python-novaclient
(get-os-environment).

In order to make this more useful, call it from
devstack-tox-functional and derived jobs. The role
execution is disabled by default and it can be enabled
by setting openrc_enable_export: true.

Change-Id: I15f5a187dbc54c82e8f4a08b4bb58d56e0d66961
2020-08-18 22:29:50 +02: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
Lucas Alvares Gomes 1d468d45db [OVN] Move OVN module from Neutron to DevStack
As part of the Victoria PTG the Neutron team entertained the idea of
having the OVN driver as the default backend in DevStack (this hasn't
yet being decided by the community, this will be discussed within this
cycle).

For this to happen, we also would need to move the module that configures
OVN to the DevStack repository. This is what this patch is doing.

Note that we are updating the lib/neutron-legacy module instead of
lib/neutron in this patch, this is because as part of the PTG the
Neutron team has decided to un-deprecate the neutron-legacy module since
the "new" lib/neutron module is broken and nobody is current working on
it (also all services uses neutron-legacy).

Also, the ovsdbapp has been added to the ALL_LIBS list because a gate
job in the ovsdbapp project repository relies on installing the library
from source instead of pip to run.

Depends-On: https://review.opendev.org/#/c/740663/
Change-Id: Ib4194329474e8d68a90886d2a04f027eecd741df
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-08-11 15:47:01 +01:00
Jens Harbott 04fdd8c9eb Fix propose-updates job
We need to use python3, our deps are no longer installed in python.

Includes the current set of updates to the plugin registry.

Change-Id: I4753ddf60ed066cc11fa74dbbd63210dbad733a8
2020-08-02 13:13:00 +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
Zuul 647fef0b40 Merge "Install bindep packages when installing lib from src" 2020-07-30 09:27:55 +00:00
Zuul 9208a371f3 Merge "Remove standalone requirement for glance import" 2020-07-28 14:25:47 +00: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
Ghanshyam Mann 32d5b1ea2f Enable image import test
If glance is in standalone mode, image import works
fine so enable the tempest tests. Once we will have image
import or other async tasks working with glance under uwsgi
then we can remove this flag and run import tests by default.

Depends-On: https://review.opendev.org/#/c/741425/
Change-Id: I853e8a3815187f0aa8f05c70488ec948a97e55a6
2020-07-24 17:57:50 +00:00
Dan Smith 33f8f6e684 Remove standalone requirement for glance import
As of the referenced patch in glance, we can do import in wsgi mode.
Also remove the enforcement that import methods are disabled.

Change-Id: I8da4b4ad6105bb64c4045ca80db9742591d01564
Depends-On: https://review.opendev.org/#/c/742065
2020-07-22 07:03:57 -07:00
Zuul e799770f59 Merge "Fix setting enabled_import_methods if glance is standalone" 2020-07-22 02:46:07 +00:00
Zuul 376f3ebb50 Merge "zuul: clean up some legacy jobs" 2020-07-21 16:30:30 +00:00
Dan Smith 7700d5a825 Fix setting enabled_import_methods if glance is standalone
I forgot to update devstack with the section name when I did Grenade.

Change-Id: I928072e935e7a7ec24609cdc4522c96f65d3ba3b
2020-07-20 17:01:41 -07:00
Zuul 56a38c47e2 Merge "Disable all import methods if glance is not standalone" 2020-07-20 21:12:46 +00:00
Zuul 46953439c2 Merge "Fix glance standalone when tls-proxy is disabled" 2020-07-18 18:57:52 +00:00
Dan Smith fcbf3e976c Fix glance standalone when tls-proxy is disabled
We always want to start glance on the internal port now,
regardless of whether or not tls-proxy is in use, because we
write_local_proxy_http_config() for the standalone case.

Change-Id: I47dea645d4a852e02e25af0e1df9c28fec92c42a
Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2020-07-18 11:16:10 +00:00
Zuul 369f2cc571 Merge "Add missing glance multi-store configurations" 2020-07-17 21:56:07 +00:00
Zuul eee60c7671 Merge "Only set hw_rng_model by default if we're on libvirt" 2020-07-17 14:53:32 +00:00
Zuul fa75c5dd8a Merge "Default Glance to standalone mode" 2020-07-17 14:10:33 +00:00
Abhishek Kekane f2577fc574 Add missing glance multi-store configurations
While removing registry [1] we by mistake removed some code related to
multiple store configuration for glance. This must be happened during
resolving merged conflicts.

Adding it back.

[1] https://review.opendev.org/708062

Change-Id: I2b84f7b7c51b7b20765a06b48c75006fd2e8ab71
2020-07-17 08:19:55 +00:00
Dan Smith 442c57e168 Disable all import methods if glance is not standalone
Glance should not be exposing import methods that cannot work via its
API, but it does today. In order for tempest (et al) to be able to
properly detect whether import is possible, we must configure the
import methods in standalone mode, or disable them in wsgi mode. The
referenced Glance patch will make this a requirement.

Change-Id: I3bf3498d83607c5e98b70877c061dc54fc3c0a6e
Needed-By: https://review.opendev.org/#/c/741497/
2020-07-16 10:41:13 -07:00
Dan Smith cc0821a586 Default Glance to standalone mode
A whole set of Glance functionality is not usable under uwsgi, including any
of the more powerful async import, customization, and copying functions.
In order to facilitate writing and running tempest tests for these features
in all environments covered by the various jobs across all the projects that
include Glance, we should default to this deployment method.

It is still possible to deploy glance in uwsgi mode by setting the flag to
False, and we can do that for some jobs to make sure that it continues to
work. However, the default should be what we expect deployers will use,
which is standalone mode.

Depends-On: https://review.opendev.org/741479
Change-Id: I141acab2a07a4eebd8d850f900058bc8cbf9c7bf
2020-07-16 08:16:19 -07:00
Dan Smith 49ad4850c8 Only set hw_rng_model by default if we're on libvirt
This makes no sense to set on _every_ devstack deployment, only
if we are using libvirt qemu or kvm. Make it conditional.

Change-Id: I860e899274646ff73b8f084a0583325239aee9cc
2020-07-16 06:30:54 -07:00
Zuul 302ce78aef Merge "Fix ami/aki image create use of $img_property" 2020-07-16 04:54:29 +00:00
Zuul 489645f79e Merge "Use python3-mod-wsgi instead of mod_wsgi on CentOS8" 2020-07-16 04:54:23 +00:00
Dan Smith 2614c1bba1 Fix ami/aki image create use of $img_property
This abstracts out the conversion of key=value,... property lists to a function
and makes both _upload_image() and the two ami/aki image create calls use it. The
move to bare key=value properties introduced a regression for ami/aki where
the --property flag stopped being passed to osc in that case.

Change-Id: Idf7fdfe3f5800f79f6c48f9d9606a7b53436a730
2020-07-16 00:26:42 +00:00
Zuul 12a88cfb76 Merge "Make Glance standalone-ness a separate flag" 2020-07-15 15:02:30 +00:00
Zuul 7376939755 Merge "Use glance import workflow for creating image" 2020-07-15 15:02:28 +00:00
Dan Smith 09eea0b20b Make Glance standalone-ness a separate flag
Full Glance functionality requires Glance being run in a configuration
where it can spawn long-running task threads. The default uwsgi mode
does not allow this, and the current workaround is to set WSGI_MODE
to something other than uwsgi to get the devstack code to deploy
Glance as a standalone service. Since this affects the entire rest of
the deployment, this patch separates out a flag to control this behavior
specifically for Glance. When WSGI_MODE=uwsgi, control of the Glance
deployment mechanism is allowed via GLANCE_STANDALONE=True|False. If
WSGI_MODE!= uwsgi then we deploy standalone Glance anyway.

Change-Id: I79068ce0bd7414bc48ff534ee22f0de5d7b091cb
2020-07-14 08:07:07 -07:00
Zuul 2906645d76 Merge "Re-enable memory_tracker" 2020-07-14 08:52:10 +00:00
Abhishek Kekane 73ad9760a3 Use glance import workflow for creating image
Added new boolean option 'GLANCE_USE_IMPORT_WORKFLOW' default to False.
If this parameter set in local.conf as True then devstack will use the
new import workflow to create the image.

In order to use new import workflow of glance;
user need to set below options in local.conf

GLANCE_USE_IMPORT_WORKFLOW=True

Note that the import workflow does not work in uwsgi because of
some fundamental restrictions it has. Thus, devstack must be configured
with WSGI_MODE=mod_wsgi, otherwise glance will not be able to process
the imports. The new helper function will abort to avoid in that case
to avoid the image never being moved to "active" state by an import
task that will never be executed.

Co-Authored-By: Abhishek Kekane <akekane@redhat.com>
Co-Authored-By: Dan Smith <dansmith@redhat.com>
Needed-By: https://review.opendev.org/#/c/734184
Change-Id: I1306fe816b7a3eca1e2312c0c454be3d81118eca
2020-07-13 13:59:36 -07:00
Luigi Toscano 0cbbefc0cb zuul: clean up some legacy jobs
Replace legacy-tempest-dsvm-lvm-multibackend with its native version,
cinder-tempest-lvm-multibackend.

Remove legacy-tempest-dsvm-neutron-dvr-multinode-full, which was defined
as an experimental job in neutron and removed during the ussuri lifecycle.
See https://review.opendev.org/#/c/693630/

Change-Id: I76d1efaa3a6c1fe9825e8457438f514114b2ecad
2020-07-10 13:21:45 +02:00
Zuul 3b37b95684 Merge "Allow plugins to override initial network creation" 2020-07-09 15:11:25 +00:00
Jens Harbott 95634d9905 Re-enable memory_tracker
The old peakmem_tracker service has been disabled in [0], now enable
the replacement memory_tracker.

Also fail when the old service is still configured, otherwise
consumers might never notice.

Depends-On: https://review.opendev.org/739995
Change-Id: I583caf3f36a8ff41d7d4106dabc6c5f24243085e
2020-07-08 14:11:18 +00:00
Zuul 6fd4daf8dc Merge "Remove n-api-metadata service from compute nodes" 2020-07-08 10:57:04 +00:00
Rui Zang 6184dea966 Remove n-api-metadata service from compute nodes
Starting up n-api-metadata service on every compute nodes does
not solve the problem of isolated networks (no route to metadata
service). It all depends on how 'enable_isolated_metadata' and
related options (e.g. force_metadata) are set in dhcp agent and
what is configured for the 'nova_metadata_host' option of q-meta
service. Having a global n-api-metadata service in the control
node is sufficient for a mult-node lab setup.
Besides, the n-api-metadata services on compute nodes are not
really working due to https://bugs.launchpad.net/nova/+bug/1815082

Change-Id: Ib8691c3eeee59758fbd98989d9460f1458ea422f
Related-Bug: 1815082
2020-07-07 19:43:52 -07:00
Zuul 2ecd182385 Merge "Remove GLANCE_V1_ENABLED option" 2020-07-07 19:16:32 +00:00
Zuul d3b41b528d Merge "Allow IP-based subject alt names" 2020-07-07 08:43:50 +00:00
Zuul 3e0960d78f Merge "Revert "Drop keystone dedicated ports"" 2020-07-06 22:21:42 +00:00
Zuul edd867daef Merge "Remove tempest deprecated img_dir option" 2020-07-06 20:07:29 +00:00
Abhishek Kekane f8dbfd394a Revert "Drop keystone dedicated ports"
This reverts commit f6286cb586.

This patch is blocking glance as it needs mod_wsgi to perform new import workflow.

Change-Id: I4475247dfe986114d37678b3d3d552c0c7d02ddc
2020-07-06 14:01:08 -05:00
Zuul 105b2f4ee5 Merge "Fix string comparison" 2020-07-06 15:10:00 +00:00
Zuul 79722c78d5 Merge "Move process-stackviz role from Tempest to Devstack" 2020-07-06 15:09:57 +00:00
Zuul 153de584d0 Merge "Add neutron-ovn-tempest-ovs-release job to the check queue" 2020-07-06 15:09:55 +00:00
Zuul e3e8063380 Merge "Cleanup VM instances during unstack" 2020-07-02 11:27:25 +00:00
Xinliang Liu 8956006e51 Fix string comparison
String comparison should be included with square brackets.

Change-Id: I9a4fab7848e5dba8a5b3b09a75e7aac213368706
2020-07-02 08:34:01 +00:00
Hirotaka Wakabayashi 1e26508983 Use python3-mod-wsgi instead of mod_wsgi on CentOS8
This fixes a stack.sh execution error on CentOS8. We should use
python3-mod_wsgi instead of mod_wsgi since mod_wsgi is replaced by
python3-mod_wsgi. The following change may affect this issue.
https://git.centos.org/rpms/mod_wsgi/c/4a746b53e9e3fef74b227e016e785449160871b8?branch=c8s

Change-Id: I5344ecf519e1a79091b6158c2d711d09b21fae0c
Closes-Bug: #1885645
2020-07-02 06:27:06 +00:00
Radosław Piliszek 3cbb33e5c6 Fix python3_enable to return true
Recent regression spotted by Dmitry Tantsur.
DevStack dropped Py2 support but the now-unused-in-devstack
python3_enable got its result nastily inversed.

Change-Id: I4b37cc847a24705c4955cec2e6e45f0514705f1b
2020-06-30 17:52:10 +02:00
Zuul 48c0d38502 Merge "Add "OVN" debs and rpms package files" 2020-06-30 11:37:29 +00:00
Zuul 6d9591fe41 Merge "Make opensuse platform job non-voting again" 2020-06-30 11:01:35 +00:00
Zuul e0d06adffc Merge "Drop support for python2" 2020-06-30 08:53:44 +00:00
Zuul 1041007e89 Merge "Drop keystone dedicated ports" 2020-06-29 18:24:40 +00:00
Jens Harbott 59519ca5cc Make opensuse platform job non-voting again
The non-voting flag was accidentally dropped in [0].

[0] Ib4416dc2f5e003fd770f5240a8f78213c56af8e6

Change-Id: If9519f1ac9afd66553e1c1410fdc16369f166b98
2020-06-29 10:24:21 +02:00
Xinliang Liu b066707d64 Fix targetcli install error on ubuntu focal
No targetcli package on Ubuntu Focal, it should use targetcli-fb also
when "$CINDER_ISCSI_HELPER" == "lioadm".

Although Xenial only has targetcli, but Xenial is dropped from CI. And
starting from bionic, Ubuntu uses targetcli-fb to replace targetcli. So
here we can use is_ubuntu to make ubuntu use targetcli-fb.

Change-Id: I6d35b6651d486e716980dcd9f4d693bed560463a
2020-06-28 09:59:02 +00:00
Ghanshyam Mann bde1804ee9 Switch devstack base job to Ubuntu Focal
As per Victoria cycle testing runtime[1], we need
to test upstream CI/CD on Ubuntu 20.04(Focal). TC is
in the process of defining this as a community goal[2]

By moving the devstack base job to Ubuntu focal, all project side job
or devstack-tempest job will automatically migrate to the new distro
until they override the nodeset.

As devstack is branched, all the stable jobs derived from devstack jobs will
keep working on Bionic.

[1] https://governance.openstack.org/tc/reference/runtimes/victoria.html
[2] https://governance.openstack.org/tc/goals/proposed/migrate-ci-cd-jobs-to-ubuntu-focal.html

Depends-On: https://review.opendev.org/#/c/738328/

Story: #2007865
Task: #40212

Change-Id: I63e69e898376e728eaf6d857426276fc93a1a0e3
2020-06-28 00:40:20 +00:00
Zuul 46e74f339d Merge "Prepare for dropping keystone admin endpoint" 2020-06-27 12:25:29 +00:00
Zuul 85825f1c2c Merge "Provide integer number to arping "-w" parameter" 2020-06-27 12:25:26 +00:00
Brian Rosmaita ee5cf747d8 Remove GLANCE_V1_ENABLED option
This option sets enable_v1_api in glance-api.conf, a setting that
was removed by change Ia086230cc8c92f7b7dfd5b001923110d5bc55d4d
in July 2018, so remove the devstack option from lib/glance.

It occurs in two other places:

This option is used in lib/cinder to set an option that was removed
from Cinder by change Ice379db9ae83420bacf9e96e242c7515930eae86 in
Queens, so remove the related code.

When this option is False, it is used in lib/tempest to set
[image-feature-enabled]/api_v1 to False in the tempest config file.
However, the default value of ths setting has been False since
change Iab3a209c744375bf2618afc00a3f7731b62f557e in Sept 2018,
so remove the related code.

Change-Id: I4b18a0a388ed7e7a392fabeac613778e0d23dee7
2020-06-27 10:47:53 +02:00
Jens Harbott d7a82f41e4 Drop support for python2
python2 is EOL, let's move on and only support python3.

Change-Id: Ieffda4edea9cc19484c04420ed703f7141ef9f15
2020-06-26 15:27:32 +02:00
Jens Harbott f6286cb586 Drop keystone dedicated ports
Those historic references to port 5000 and 35357 aren't being used
anymore for some time, so let us drop them.

Clean up some python2/3 wording along the way.

No longer mention Identity API v2, which is also a thing of the past.

Change-Id: Iafff097eee082f24ea2ae27ad038ad115aa36c61
2020-06-26 15:26:22 +02: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
Ghanshyam Mann 02da0c40f9 Add focal nodeset
This commit adds the focal nodeset for
multinode so that those can be used for
projects side jobs or testing.

We need to define these as first step to avoid
any conflict on nodeset name if project started
defining these.
Example: three node focal nodeset is already
defined in x/tobiko, fixing the same in depends on.
-I30a6bb63269f031a74f9bff6c765d59d91088797

Depends-On: https://review.opendev.org/#/c/738128/

Change-Id: I5ce49f7a7d52d00555c14b08864bc8975956b20c
Story: #2007865
Task: #40212
2020-06-26 01:17:20 +00:00
Rodolfo Alonso Hernandez ca486c5259 Provide integer number to arping "-w" parameter
Some arping versions only accept an integer number for the
"deadline" (-w) parameter.

Change-Id: Ie21c9b5820262d049c0fcd8147d85cc110d88272
Closes-Bug: #1885169
2020-06-25 18:22:28 +00:00
Zuul 572815884c Merge "Remove dragonflow reference" 2020-06-24 08:18:36 +00:00
Zuul 966665a85a Merge "Update distros on the docs start page" 2020-06-24 06:00:51 +00:00
Zuul 48c2f9de74 Merge "Stop claiming to support Debian distros" 2020-06-24 02:19:04 +00:00
Zuul 9b0364f20e Merge "Make devstack run on focal (Ubuntu LTS 20.04)" 2020-06-24 01:59:51 +00:00
Zuul f395253c48 Merge "Use python3 pip module instead of pip binary" 2020-06-23 21:33:20 +00:00
Zuul 76d1729f94 Merge "Enable certificate check for glance_store+swift" 2020-06-23 16:47:11 +00:00
Sean McGinnis 8b099c408b Remove dragonflow reference
Dragonflow was retired in 2018 and is now being retired. This removes a
documentation reference to it.

Change-Id: I24ab79482306a7c816b5242a981f1b508ff8f6ec
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-06-23 10:30:20 -05:00
Zuul 3db45118b6 Merge "Remove neutron-fwaas from the jobs' required project" 2020-06-23 08:38:25 +00:00
Jens Harbott cd57449c9f Stop claiming to support Debian distros
We haven't had a working job for stretch or jessie in years, attempts
to get things fixed have been dropped, set let's be honest and drop
those from our support list.

Change-Id: Ia6152be79f8044f7ff039ec0911ad4938d6271f4
2020-06-23 08:08:13 +02:00
Dr. Jens Harbott 3480093b93 Make devstack run on focal (Ubuntu LTS 20.04)
- Add a nodeset and a platform job
- Drop uwsgi-py2 pkg that no longer exists
- Blacklist tests that are currently failing

Change-Id: Ib4416dc2f5e003fd770f5240a8f78213c56af8e6
2020-06-23 08:04:18 +02:00
Jens Harbott f1ed7c77c5 Use python3 pip module instead of pip binary
Focal only provides a pip3 binary, no pip3.8. Instead of working around
that with a symlink, use the module instead.

Add version information output for this variant.

Change-Id: I7af194ecc40e4d43c10ce067a661bb6ab4ca37d4
2020-06-23 08:02:52 +02:00
Ghanshyam Mann 264d2a2e5f Move process-stackviz role from Tempest to Devstack
process-stackviz role currently defined in Tempest repo[1] and used
in tempest jobs. Issue with having it in branchless Tempest is that any
fix in that role cannot be backported to older Tempest. Also stackviz is
not Tempest things it is only used by Tempest jobs.

Stackviz can be considered as a service similar to Tempest so inatlling it in
Devstack side make sense. Also that will give us advantage to handle the
branch specific fixes or backpoting the fixes.

This can solve the current issues we are facing on rocky branch
- https://zuul.opendev.org/t/openstack/build/c1e2da80537448bfb24331fb4198a931/console#4/0/29/controller

[1] https://opendev.org/openstack/tempest/src/branch/master/roles/process-stackviz

Change-Id: I0ba1fd05c6391cd8bb978119ecfbb891def2d497
2020-06-19 20:32:09 +00:00
Federico Ressi c2c2b6b415 Handle uwsgi install for CentOS/RHEL
Change-Id: Ifa876b3e5f89258f40055fa7ce03f5e9c601771c
2020-06-18 10:18:06 +00:00
Zuul a13ab8db2d Merge "Revert "Work around uwsgi breakage"" 2020-06-17 19:09:28 +00:00
Slawek Kaplonski 744f50b970 Add neutron-ovn-tempest-ovs-release job to the check queue
During the Victoria cycle we plan to switch default Neutron backend in
Devstack from OVS to OVN.
As first step before we will start discussion about this change with
whole community, we want to add tempest ovn based neutron job to
the devstack check queue so that we can keep verifying that with
devstack changes.

Change-Id: I8484baa7398b28ed5ef62f86b55022c7d8703f56
2020-06-16 22:28:28 +02:00
Abhishek Kekane 0ae5787611 Remove glance registry configuration
Glance has deprecated registry serivce for long and now efforts are placed to
remove the registry code from the glance repo.

To avoid regression on other projects, gate jobs etc. removing
configuring registry service from the devstack.

Change-Id: I6a7be6bdc97acc43c8e985060aeea05d92642e80
2020-06-16 17:31:49 +00:00
Slawek Kaplonski 66c812d392 Remove neutron-fwaas from the jobs' required project
Neutron-fwaas is going to be deprecated in master branch with [1].

[1] https://review.opendev.org/#/c/735828/

Change-Id: I513ef36e681fc3f9e5aa9f81c9aedba716366729
2020-06-16 12:13:45 +02:00
Zuul 038ea9ab92 Merge "Undeprecate neutron-legacy scripts" 2020-06-15 17:15:45 +00:00
Andreas Jaeger 10c3ffd265 Handle uwsgi install for openSUSE
Add packages for openSUSE distribution for installation of uwsgi.

Change-Id: I2ce8959460a79b6472bd9dd59edd7d94eccbacf5
2020-06-15 10:03:42 +02:00
Jens Harbott a267c5f477 Revert "Work around uwsgi breakage"
This reverts commit 84737ebd96.

Change-Id: I1544c1ad9cfe3ff199153736acadba0761b51fc4
2020-06-15 09:54:47 +02:00
Ian Wienand 2d903568ed Use packaged uwsgi on Fedora and Ubuntu
Building uwsgi from source was a workaround that was introduced a long
time ago, it doesn't seem like it is needed anymore and will actually
fail for Ubuntu 20.04.

Also it doesn't match what will happen for most real-world
installations, so let's try to get back to using distro packages. We'll
still use the source install for RHEL/Centos, it remains to be tested
whether we can get back to using distro versions there, too.

Change-Id: I82f539bfa533349293dd5a8ce309c9cc0ffb0393
2020-06-15 09:53:04 +02:00
Jens Harbott 84737ebd96 Work around uwsgi breakage
uwsgi broke installation from source with their latest release [0].
Since we want to move away from source installation anyway, make
grenade based jobs non-voting for the moment so that we can backport
[1] properly.

[0] https://bugs.launchpad.net/bugs/1883468
[1] https://review.opendev.org/577955

Related-Bug: 1883468
Change-Id: I8e47bb7c70031a4df7f1af6b811df4c6cc784b2a
2020-06-15 09:52:40 +02:00
Zuul 40879683cc Merge "Don't install uwsgi for keystone" 2020-06-12 18:14:03 +00:00
Zuul 44e7f58aa2 Merge "Use uwsgi binary from path" 2020-06-12 18:14:01 +00:00
Martin Kopec 729546a1ad Remove tempest deprecated img_dir option
Tempest option scenario.img_dir has been deprecated more than 4 years, it's
time to remove it from devstack.
img_file option should contain the full path to the image.
This patch removes setting of img_dir option and makes img_file
one contain the full path of an image.

Change-Id: I71102095f3603915f0bc7d21f2e18c4eac4e95ec
Depends-On: https://review.opendev.org/#/c/710996/
Related-Bug: #1393881
2020-06-11 19:59:51 +00:00
Jens Harbott c3b58f5335 Fix typos in networking document
The FLOATING_RANGE variable should specify the network address of the
used prefix for clarity.

Change-Id: I547bd42d8bdc5f0f2001d47f2d5b43729773b1bc
Closes-Bug: 1870204
2020-06-08 11:58:29 +02:00
Zuul 0d6234b4b1 Merge "Doc: g-reg is no longer required" 2020-06-04 21:43:07 +00:00
Zuul c0bb22d36e Merge "swift: Configure s3token appropriately" 2020-06-04 21:43:05 +00:00
Zuul 3f2fafc83a Merge "swift: Fix s3api/keystone interaction" 2020-06-04 21:26:28 +00:00
Takashi Kajinami c3db92b9d7 Doc: g-reg is no longer required
The glance-registry service was deprecated in Queeens release, and
no longer required.

Change-Id: I0d2b4604cd39d5131410b8038f92057128ca7b75
2020-06-04 23:57:18 +09:00
Zuul 4c0a8f2eef Merge "Stop to use the __future__ module." 2020-06-04 11:45:04 +00:00
Zuul e0f051ced7 Merge "Clean up remainders of USE_SYSTEMD and logging setup" 2020-06-04 10:36:47 +00:00
Zuul ff479d03ee Merge "Fix devstack default settings in aarch64" 2020-06-04 10:13:00 +00:00
Hervé Beraud 4f2a617105 Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]

[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328

Change-Id: Icf8bd00b271f44b6bb0c932d6d49fe6de8a22537
2020-06-02 20:10:56 +02:00
Zuul d6a8784041 Merge "nova: Remove configuration of '[scheduler] driver'" 2020-06-02 12:37:54 +00:00
Ian Wienand 076c9f1b4b Don't install uwsgi for keystone
This is already unconditionally installed via install_apache_uwsgi in
stack.sh; we don't need to install it again in keystone.  Since we
need workarounds on some platforms (see
I3bc5260e77cebe852cc8d70d9eddf84ef71d74bb) we only want to do this in
one place.

Change-Id: I40d84cbdf68cf6bb5cba143b6c0c126cdb8a84d4
2020-06-01 15:50:31 +00:00
Ian Wienand 312517d510 Use uwsgi binary from path
All these uwsgi invocations assume that the uwsgi binary is in the
same directory as their project binaries are installed into (probably
/usr/bin).  That may not be correct -- for example if using a packaged
uwsgi on Fedora the binary will live in /usr/sbin/uwsgi (not /usr/bin
where the project files from pip are).

Switch invocations to just find it in the path.

Change-Id: I298e3374e9c84e209ffcabbaaacda17f8df19f4f
2020-06-01 15:48:16 +00:00
Dr. Jens Harbott de41a18909 Update distros on the docs start page
Centos 7 is no longer supported, replace with Centos 8. Also Debian
hasn't been working for some time and progress in fixing it has stalled,
so drop it for now.

Change-Id: Ic1513b20f296978bca095c7aa79f022d7d9ab7ac
Closes-Bug: 1881183
2020-05-29 07:23:48 +00:00
OpenStack Proposal Bot 90c6c65987 Updated from generate-devstack-plugins-list
Change-Id: I77d03c088a6b5019ac69048becfff3f24573a0b3
2020-05-29 06:06:08 +00:00
Zuul 3d13e82f0c Merge "Remove sgabios.bin workaround" 2020-05-28 15:08:27 +00:00
Stephen Finucane 65102e772e nova: Remove configuration of '[scheduler] driver'
This option was deprecated in Ussuri [1] as nova no longer provided any
schedulers aside from the filter scheduler and the existence of
third-party schedulers was very unlikely. Stop configuring this and
simply use the default.

[1] https://review.opendev.org/#/c/707225/

Change-Id: Iabdd1d00e00ee269334f0fe0db265a97207e2dc6
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-05-27 14:24:09 +01:00
Zuul 9a6ae3419c Merge "Switch to newer openstackdocstheme version" 2020-05-27 06:43:24 +00:00
Tim Burke 6681a1f126 swift: Configure s3token appropriately
We need an appropriate auth_uri for s3token to be able to contact
Keystone.

Since tempauth is always enabled, we want to delay the auth decision
until after tempauth has had a chance to try.

Change-Id: Ie4ff33a617b9dc74d51d037ec8ebd0d9787dd76d
2020-05-26 20:11:30 -07:00
Tim Burke 5b48e362af swift: Fix s3api/keystone interaction
For a long time, swift3 recommended a pipeline like

   ... swift3 s3token authtoken keystoneauth ...

This led to inefficiencies where the proxy would first contact Keystone
to validate the S3 signature and issue a token, then contact Keystone
*again* to validate the token ID that was just issued.

After s3token moved into the swift3 repo, it was improved to be able
to put all of the headers into the WSGI environment that Swift's
keystoneauth middleware expected and the recommended pipeline was
changed to something like

   ... authtoken s3api s3token keystoneauth ...

At the time, the old order would still work, it would just be less
efficient. When support was added for Keystone v3, however, the new
order became mandatory.

All of that happened before swift3 moved back into Swift as s3api, but
the pipeline placement problems are the same: Keystone users won't be
able to use the S3 api with the current order.

Change-Id: Id0659f109cc2fc12ddb371df0b26812ba8c442d9
Related-Change: I21e38884a2aefbb94b76c76deccd815f01db7362
Related-Change: Ic9af387b9192f285f0f486e7171eefb23968007e
2020-05-26 16:21:49 -07: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] https://github.com/cirros-dev/cirros/pull/11/commits/e40bcd2964aa496a9d03e1aaf95cf7a86938f129

Change-Id: I6ccd646f1c22a99bed0bebf6e363d2190241b667
Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2020-05-26 16:08:19 +00:00
Riccardo Pittau e726ecb537 Remove sgabios.bin workaround
The bug has been fixed since a while, also in recent distributions,
for example Ubuntu 20.04, the sgabios.bin ROM is provided directly
by qemu-system-data as an actual file under /usr/share/qemu and
it conflicts with the one provided by sgabios, so removing the
workaround is actually needed to prevent failures.

Change-Id: Ib5f23dbd8839a0927418692054f4ed4abd76babc
2020-05-25 11:50:59 +02:00
Andreas Jaeger 7f1a8c1c3e Switch to newer openstackdocstheme version
Switch to openstackdocstheme 2.2.1 version. Using
this version will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems

Update Sphinx version as well.

Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.

Set openstackdocs_auto_version to not auto-version the documents.

Set openstackdocs_auto_name to use 'project' as name.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: I26887b175b9c1ced7347289b7d5d4f57a20ec36a
2020-05-22 17:26:24 +00:00
Lee Yarwood 54edc7aeef tempest: Increase m1.nano and m1.micro RAM by 64MB to avoid tmpfs exhaustion
tmpfs exhaustion has long been suspected as the root issue behind
failures to load ssh keys and other metadata from local config drives as
documented in bug #1808010. This can also lead to failures fetching
metadata from n-metadata-api leaving Tempest unable to SSH into
instances.

This change increases the RAM of the m1.nano and m1.micro flavors by
64MB to hopefully avoid these errors going forward. This is also ahead
of our eventual upgrade to Cirros 0.5.0 where 128MB becomes a
requirement.

Related-Bug: #1808010
Change-Id: I4b597579cf89939955d3c110c0bd58ca05de61f0
2020-05-22 15:40:03 +01:00
Vladislav Kuzmin 9cbd02d8c8 Enable certificate check for glance_store+swift
Disable insecure option for glance_store with
swift backend when tls is enabled.
Specify swift_store_cacert option.

Change-Id: Ia1e8f596c95dd7b6e63cb21a94c8316dc71bf945
2020-05-20 12:14:04 +04:00
Zuul 43c172acd0 Merge "New TEMPEST_VOLUME_REVERT_TO_SNAPSHOT setting" 2020-05-15 23:32:01 +00:00
Luigi Toscano 8fd45dec50 New TEMPEST_VOLUME_REVERT_TO_SNAPSHOT setting
Follow the pattern of the other configuration keys. The new variables
allows tests to enable/disable volume revert tests provided
by cinder-tempest-plugin.

Revert-to-snapshot was introduced in pike, and so the tests.

Change-Id: If137f201c2f646703f5a1ff96e71e48caed63b67
2020-05-12 12:00:20 +02:00
Colleen Murphy 782efb0f8a Fix pip distro package removal for focal
Ubuntu Focal doesn't have python-pip, only python3-pip. Trying to
uninstall a package that apt doesn't know about (installed or
uninstalled) results in a nonzero exit code so devstack fails. This
patch makes the package removal safer for both python2 and python3 cases
by checking first if the package exists.

Change-Id: I3b1118888cb0617ffb99b72c7e9a32308033783e
2020-05-11 18:28:32 -07:00
Kevin Zhao 551848dd69 Fix devstack default settings in aarch64
1. Lack qemu-efi in ubuntu
2. Lack edk2.git-aarch64 in Fedora/Centos
3. Remove NOVNC disable.

Change-Id: Ifbd0c386df6b28bc64cef20cab8e08f99a85c782
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2020-05-11 08:24:54 +00:00
Andreas Jaeger 53c2f6fe23 Cleanup py27 support
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove obsolete section from setup.cfg
- Use newer openstackdocstheme and Sphinx version for python 3
- Remove install_command from tox.ini, the default is fine
- Move basepython into testenv
- Update bashate version

Change-Id: I3d78b3787af2efce831d223dbcab6cf84c358028
2020-05-09 13:35:01 +02:00
Andreas Jaeger c104afec7d Switch to new grenade job name
The integrated gate template (integrated-gate-py3) has been switched
to the new grenade name (grenade-py3 -> grenade). This repo uses the
template but also has for irrelevant files an extra entry.

Rename the job following the template change to avoid duplicate
grenade runs.

Details:
- http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014602.html

Depends-On: https://review.opendev.org/725148
Change-Id: I73e67c0e01ca231678903b2460dab672f17251e3
2020-05-04 08:21:02 +02: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 36705b5233 CentOS 8 support
This adds support for CentOS 8

Change-Id: If7ddbd6655086657db03074a27a2d47053fd88e0
2020-04-30 12:53:52 +10:00
Ian Wienand 1147300b9c Remove bridge-utils/brctl usage
This package isn't available on some distributions hasn't been
required in Neutron for several years
If679e79fa3242ee1cd8610b5525deca35b41c87e.  Remove it.

Change-Id: I7308a885c1d084efe2f0b9f542443d35966140ed
2020-04-30 10:09:47 +10:00
Zuul 773fd20dd9 Merge "setup-devstack-source-dirs: add var for paths" 2020-04-28 22:00:26 +00:00
Zuul f4a629b4b0 Merge "Bump noVNC to 1.1.0" 2020-04-28 04:16:11 +00:00
Ghanshyam Mann bc86e82a61 Update DEVSTACK_SERIES to victoria
stable/ussuri branch has been created now and
current master is for victoria.

Change-Id: I10bd20adf6ce43c6c73acaa646d425c6df6da199
2020-04-27 12:03:38 -05:00
OpenStack Proposal Bot ccc5826725 Updated from generate-devstack-plugins-list
Change-Id: I04b13cb0114233afca9aa7987144bd69d6d0f185
2020-04-27 06:13:34 +00:00
Mohammed Naser 332992ace2 setup-devstack-source-dirs: add var for paths
The paths for the devstack source directories are currently hardcoded,
this patch allows overriding that list.

Change-Id: I2b673b0d110d84658b89bb14663584330deaf3aa
2020-04-26 12:39:05 -04:00
Zuul 1b01f23b74 Merge "Support upload of qcow2.xz image format" 2020-04-23 09:01:44 +00:00
Zuul 31189db8bb Merge "[ussuri][goal] Update contributor documentation" 2020-04-23 07:30:06 +00:00
Ghanshyam Mann 4578f98944 [ussuri][goal] Update contributor documentation
This patch updates/adds the contributor documentation to follow
the guidelines of the Ussuri cycle community goal[1].

[1] https://governance.openstack.org/tc/goals/selected/ussuri/project-ptl-and-contrib-docs.html
Story: #2007236
Task: #38554

Change-Id: I870955fda7ee6e0d7809faa309bbc31c2ddd653a
2020-04-23 02:56:13 +00:00
Bharat Kunwar f70cb70acb Support upload of qcow2.xz image format
Some images come in *.xz format [1] and this needs to be
uncompressed before being uploaded.

[1] https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/31.20200323.3.2/x86_64/fedora-coreos-31.20200323.3.2-openstack.x86_64.qcow2.xz

Change-Id: I11f8484ba939c4b2c0a98aa08ef7db730baf71e8
2020-04-22 15:54:58 +00:00
Zuul 13dac66885 Merge "libs/rpms : update for CentOS 7 removal" 2020-04-22 11:06:02 +00:00
Zuul 125ed50794 Merge "Cleanup rpm-distro mariadb install" 2020-04-22 11:06:00 +00:00
Zuul 95d3d7a5fc Merge "lib/tls: use python3 to run inline script" 2020-04-22 10:39:29 +00:00
Ian Wienand 39bc71cedd libs/rpms : update for CentOS 7 removal
With the removal of CentOS 7, we can re-evaluate the rpm
installations.

We should not need virtualenv after https://review.opendev.org/712609

There should be no need for python-devel as we're python3

pyOpenSSL was added to workaround memory issues in
9e98f9435e (2015) ... I think we've
moved on.

pyxattr is not a package; remove it.

I don't see we need packaged m2crypto, which isn't a package on CentOS
8.  nor libxml2-python; these days it has wheels which should work
with the normal installation process.

centos8 has:

 * targetcli
 * pcp-system-tools (and no dstat)
 * iptables-services
 * java-1.8.0-openjdk-headless
 * kernel-modules
 * rsync-daemon

just as all supported fedora's do, so we can remove any matching here.

Change-Id: I542c426a67a98f331d2a29bacd220af81fab8cc4
2020-04-22 14:02:10 +10:00
Ian Wienand 812e7846c9 Cleanup rpm-distro mariadb install
We have lib/databases/mysql which is installing databases, remove it
from the bulk package lists.

Split is_fedora (fedora & centos8 -- soon) to install mariadb-server
and mariadb-devel to retain status-quo.

On suse this seems to be a meta-package

 'mariadb-server' not found in package names. Trying capabilities.

so split that out.  It seems it has never been installing the -devel
package, and things work (presumably clients are coming from wheels so
don't need to build against it).

Change-Id: I86433318e8f76c40c5c792b795411a5c9d8351d3
2020-04-22 14:02:10 +10:00
Ian Wienand 3cd41019b0 lib/tls: use python3 to run inline script
We only need to run this fixup for the active python now we are 3 only.

Change-Id: I7616e5ee5693b2890fb7f6bd9052890a82904c22
2020-04-22 14:01:53 +10:00
Lee Yarwood ad1635147c Bump noVNC to 1.1.0
v1.1.0 was released over a year ago now so move to it ahead of 1.2.0.

Change-Id: I13c5638f320b18c4f6f945528352471d2bb31313
2020-04-19 20:58:37 +01:00
Zuul 5b5aefb089 Merge "tempest: Enable stable_rescue tests with Libvirt" 2020-04-18 22:40:03 +00:00
Zuul ef4e75137d Merge "Fedora: install python3-libguestfs" 2020-04-16 17:11:44 +00:00
Zuul 9e7a454d23 Merge "Remove CentOS 7 as supported environment" 2020-04-16 17:11:41 +00:00
Zuul 18f0d67706 Merge "Fedora: Mark Fedora 31 as supported and use within fedora-latest" 2020-04-16 17:11:39 +00:00
Zuul fb40a23713 Merge "Fedora: Update required RPMs for Fedora 31" 2020-04-16 17:11:37 +00:00
Zuul fd68534a68 Merge "Updated from generate-devstack-plugins-list" 2020-04-16 17:10:05 +00:00
Ian Wienand 9b8b7021d0 Fedora: install python3-libguestfs
All platforms are python3 now

Change-Id: Ie9f4c7e52f23a45bb8cf70a5fddf1b21a40d7000
2020-04-16 13:03:56 +10:00
Ian Wienand c287e7ec3c Remove CentOS 7 as supported environment
We do not support CentOS 7 on master branch due to no Python 3 or
ongoing eco-system (i.e. RDO) support; see
Id9ef507dd6f4226d65c6ed3043666b0aa6a3bd1c.

Change-Id: If98581708568e7a8d15e6edc588a008df0cac0fb
2020-04-16 12:47:38 +10:00
Zuul 07be557472 Merge "Use venv for VIRTUALENV_CMD" 2020-04-15 16:16:30 +00:00
Lee Yarwood c36e51b0ae Fedora: Mark Fedora 31 as supported and use within fedora-latest
Change-Id: I06235eb5bf722e6f3ab05da577fa0f00638c87b1
2020-04-14 10:12:02 +01:00
Lee Yarwood f9e81d3438 Fedora: Update required RPMs for Fedora 31
This includes the addition of the python3-virtualenv package required to
provide the virtualenv binary that is no longer present in the image.

Change-Id: Ie8e66d8b9f93063b97f88f41a626daddf235339b
2020-04-14 10:11:33 +01:00
OpenStack Proposal Bot e0da11cec5 Updated from generate-devstack-plugins-list
Change-Id: I0c3950729380646e1a98a90ee82e8562cc8c33c1
2020-04-14 06:10:51 +00:00
Ian Wienand e6852eadb1 Use venv for VIRTUALENV_CMD
Using venv, which is part of python3, we avoid an extra dependency on
the virtualenv package.  For Debuntu, which splits this out into a
separate package, add this to debs/general.

This is part of the infra efforts to ship "plain" nodes without any
dependencies installed.  While devstack can re-install virtualenv, we
don't need any features it provides and it means one less dependency.

Change-Id: I3c323640f288e57581a4eb8adba2a08d0b0cbd8f
2020-04-14 15:32:42 +10:00
Lee Yarwood e16e925e12 Fedora: Do not start the lvmetad service after Fedora 30
This deprecated service has been removed from lvm2 in Fedora 31:

https://src.fedoraproject.org/rpms/lvm2/c/0469456b352530d9f507f2515e674bfb03671f48

Change-Id: I06d572a72969c5e5e8e038caef19e358e4f97b2b
2020-04-12 11:19:12 +01:00
Zuul 01826e1c5b Merge "Remove fixup_virtualenv" 2020-04-09 16:00:35 +00:00
Zuul fdceb69319 Merge "Add python3-dev package for Debian based distros" 2020-04-06 08:41:22 +00:00
Colleen Murphy 497caf0157 Fix opensuse trusted certificates
There's a bug[1] with the combination of the p11-kit and
ca-certificates-mozilla packages available on the latest built
opensuse-15 node in nodepool (which has not been rebuilt for weeks due
to a separate issue[2]) which causes the standard CA bundle to not be
installed correctly and causes jobs that call to external HTTPS services
to fail. Upgrading both packages in sync fixes the issue.

[1] https://bugzilla.suse.com/show_bug.cgi?id=1154871
[2] http://bugzilla.suse.com/show_bug.cgi?id=1166139

Change-Id: Ia8fdfe12fd9089e178adcb2b5eec997eebada262
Needed-by: https://review.opendev.org/713566
2020-04-03 10:14:07 -07:00
Witek Bedyk 7a2c1c2b1b Add python3-dev package for Debian based distros
When stacking outside of Zuul CI the wheels have to be built locally and
python3-dev package is required.

Story: 2007491
Task: 39213

Change-Id: I0960269d5cf193c9ececc5490485522c74646382
2020-04-03 10:42:21 +00:00
Zuul f4ab2ce564 Merge "Update docs about python-systemd pkg" 2020-04-03 05:21:40 +00:00
Zuul 3f72ef7872 Merge "Test also swift-dsvm-functional-py3" 2020-04-03 05:21:39 +00:00
Ian Wienand 1587ba1bd5 Remove fixup_virtualenv
This first came in with Id749c37ab7fefa96b35f11816b56b9def5ef4b08.  It
talks about ancient versions of pip; can't see we need it any more.

Change-Id: I9d4831955070990a81a809d988612d9d5b1aa672
2020-04-03 09:36:01 +11:00
Radosław Piliszek be26306b4a Support extras in Glance Store install
Recent change to devstack dropped installing test-requirements [1]
However, this caused gate failures due to lack of glance-store
deps for cinder and swift support.

This patch makes devstack install relevant extras depending on
enabled features.

Additionally, relevant functions are added/fixed to make this
possible.

glance-store = glance_store (for gerrit search match)

[1] https://review.opendev.org/715469

Change-Id: I0bf5792a6058b52936115b515ea8360f6264a7c9
2020-03-30 19:53:32 +02:00
Radosław Piliszek aa71ebf92c Test also swift-dsvm-functional-py3
Swift keeps testing py2 but we should keep both in shape.

To fix stestr on py2:
Depends-on: https://review.opendev.org/715942

Change-Id: I616e39c64e22d467d7186dba98226cc5beef23ea
2020-03-30 13:45:34 +00:00
Monty Taylor 09b5b05c47 Stop installing test-requirements with projects
This is a test of installing openstack and then seeing if it works.
OpenStack components do not need test-requirements to operate,
that's why they are test-requirements.

Additionally, as we look forward to depsolver pip, this is going
to screw us because we don't apply constraints to linters, which
are expressed in - you guessed it, test-requirements.

Change-Id: I8f24b839bf42e2fb9803dc7df3a30ae20cf264eb
2020-03-27 11:22:39 -05:00
Monty Taylor c2830fb267 Revert "Run pip check at end of devstack"
This reverts commit 79b8e79488.

This is breaking things in various jobs, most notably because
we do not put constraints on linters - but we install
test-requirements which then can conflict with each other.

Change-Id: Ibc5603c61b38ce44db58fb27a27352f59123ad09
2020-03-27 11:12:31 -05:00
Monty Taylor c26dfb0d6f Run pip check at end of devstack
The new pip depsolver is coming this summer. Until it's ready,
run pip check at the end of devstack to make sure we're not
somehow installing conflicting package versions. We shouldn't
be, because of constraints, but if we are, better to know and
start figuring it out.

Change-Id: Id98f0848ff5a252d93e5f8029df2d069924d603f
2020-03-26 09:44:23 +00:00
OpenStack Proposal Bot 3765992792 Updated from generate-devstack-plugins-list
Change-Id: Ide7724ed3b4b5bb709b7dd79a367a5d2420bcda2
2020-03-21 06:15:49 +00:00
Zuul c0447b53f7 Merge "Make database code work with mysql8" 2020-03-20 14:26:50 +00:00
OpenStack Proposal Bot 4af912d889 Updated from generate-devstack-plugins-list
Change-Id: I86601bc3bf114583ccad7a301af4e5b71e3ba2bf
2020-03-20 08:33:13 +00:00
Zuul d89eb74437 Merge "Amend python pkgs for debian-based distros" 2020-03-19 21:09:51 +00:00
Mohammed Naser 7db34f6cae Use MEMCACHE_SERVERS in configure_keystone_authtoken_middleware
The function was using a hard coded value of localhost:11211 when
we have an option MEMCACHE_SERVERS that can be defined and used
inside DevStack.

Change-Id: I4947928fe406a9844d5bdaa3c826d273952fa097
2020-03-18 15:35:27 -04:00
Zuul 3bbad9d150 Merge "Glance: Add support to configure multiple file stores" 2020-03-18 19:03:33 +00:00
Zuul a766d68a2e Merge "Bring back load balance v2 guide" 2020-03-18 19:03:32 +00:00
ushen 90f0baf3cb Bring back load balance v2 guide
Previous commit forgets to add an entry for load
balancer version 2. This ps brings them back.

Change-Id: Idac09e8259d58ed130b79b40528f733708000da7
2020-03-18 20:26:53 +08:00
Mohammed Naser 5ae8a3504c Drop DEVSTACK_GATE_FEATURE_MATRIX
DEVSTACK_GATE_FEATURE_MATRIX seems to be an old legacy thing that
is no longer being used.  It currently prevents using the jobs in
openstack/devstack without adding openstack/devstack-gate for the
role.

Change-Id: Iab9b4862c01043d2c158398bac4b3b289a0adba0
2020-03-17 20:54:07 -04:00
Zuul db51518178 Merge "Use py3 version of Tempest Multinode job" 2020-03-17 10:14:42 +00:00
Ghanshyam Mann d22a8bcb1f Use py3 version of Tempest Multinode job
tempest-multinode-full is py2 job and not needed to
run on ussuri onwards. Chaning this to its py3
version tempest-multinode-full-py3

Change-Id: Iff271eabcf1a39d6bf6c1fcd55ff2749cab2373f
2020-03-15 18:22:45 -05:00
Zuul 2c0bb5ad62 Merge "remove duplicate entries under title guides in table of contents" 2020-03-15 20:11:23 +00:00
Lucas Alvares Gomes e87428908a Add "OVN" debs and rpms package files
The networking-ovn code is being moved into the neutron repository as
part of the effort [0].

This change is needed so we are able to install OVN from packages
when running the networking-ovn functional tests along with
the Neutron ones (see [1]). In the old networking-ovn repository we did
compile OVN from source instead of installing it from packages but
that took time. We want to do better in the Neutron repository.

[0] https://blueprints.launchpad.net/neutron/+spec/neutron-ovn-merge
[1] https://review.opendev.org/#/c/697440/

Change-Id: I92ab727d9954eb729c41b9a67ecb60b56883097b
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-03-13 16:42:54 +00:00
OpenStack Proposal Bot d0886f1ee9 Updated from generate-devstack-plugins-list
Change-Id: I92025c92bae7a673aae16192cfe892f3bdee269f
2020-03-05 06:13:02 +00:00
Lee Yarwood 4361ef1eb8 tempest: Enable stable_rescue tests with Libvirt
Enable the compute feature for stable device rescue on all but LXC and
Xen virt_types.

Depends-On: https://review.opendev.org/#/c/700812/
Depends-On: https://review.opendev.org/#/c/700813/
Change-Id: Icfc717b4932be050a169fc00dae720d29a6497f7
2020-03-03 15:25:58 +00:00
Zuul f5fd629ae3 Merge "Updated from generate-devstack-plugins-list" 2020-02-28 16:09:46 +00:00
Lee Yarwood 5837ce504b zuul: Remove devstack-plugin-ceph-tempest job
This job is now failing 100% of the time on master since the EOL of py2:

https://zuul.opendev.org/t/openstack/builds?job_name=devstack-plugin-ceph-tempest&branch=master

Change-Id: I0bb03190f39b5ae5494b2d10a0e819013d60bddf
2020-02-28 10:47:42 +00:00
OpenStack Proposal Bot 2b6c2b41a0 Updated from generate-devstack-plugins-list
Change-Id: I03cd12d5b2de5c2ff4ee92d66a631da34d4255c5
2020-02-28 06:11:43 +00:00
Abhishek Kekane 6f91da9a2d Glance: Add support to configure multiple file stores
From Train release Glance has added support [0][1] to configure multiple stores
of same or different types. This patch enables developers to configure
multiple file stores for glance. In order to configure multiple file stores
user need to set below options in local.conf

GLANCE_ENABLE_MULTIPLE_STORES=True/False
To enable multiple stores of glance.

GLANCE_MULTIPLE_FILE_STORES=veryfast,fast,cheap,verycheap,slow,veryslow
Comma separated list of store identifiers.

GLANCE_DEFAULT_BACKEND=fast
Default glance store in which image should be stored if store identifier not
specified explicilty. Should be one of the store identifier from
GLANCE_MULTIPLE_FILE_STORES config option.

NOTE: This support is added so that we can start adding tempest/CI tests for
glance multiple stores.

[0] 515412b59f5b3af07a1787b9f8e85a4d656d3e1c
[1] https://docs.openstack.org/glance/train/admin/multistores.html

Change-Id: I494f77555cfe9115356ce0ee75c7d7f192141447
2020-02-26 10:34:47 +00:00
Zuul b6bd467f74 Merge "zuul: Add the fedora-latest-virt-preview job to the experimental queue" 2020-02-24 17:27:09 +00:00
OpenStack Proposal Bot 1e6b06ede0 Updated from generate-devstack-plugins-list
Change-Id: I543faced83a685d48706d004ae49800abfb89dc5
2020-02-21 06:12:07 +00:00
Zuul 635b0b6052 Merge "bug-fix: 'bytes' type in python3 cause command fail" 2020-02-20 11:25:15 +00:00
Lee Yarwood 96ddc69a2e zuul: Add the fedora-latest-virt-preview job to the experimental queue
Allowing the job to be tested outside of openstack/nova's own
experimental queue.

Change-Id: Ib07d9522d1cb6e288edb7f78ee1960ab48d89d76
2020-02-20 09:24:44 +00:00
Lee Yarwood b4375af841 zuul: Add a devstack-platform-fedora-latest-virt-preview job
Building on I5c3e1b7b632fd73310c462530990cdb0e0c0ceea we can now add a
Fedora job using the virt-preview repo that will be used by Nova's
experimental queue.

Change-Id: Iad9d64912bb07f307e4897ece1621f275f1d5211
2020-02-19 20:46:03 +00:00
LuyaoZhong 8d4ae4ffc4 bug-fix: 'bytes' type in python3 cause command fail
'str' type in python2 is 'bytes' type in python3,
when use python3, we will get a prefix 'b':

sudo ip netns exec b'qrouter-39cc2b45-a27c-49c5-94a6-26443a49ac63' ip
neigh
--------------------------------------------------------------------------
*** Failed to run 'sudo ip netns exec
b'qrouter-39cc2b45-a27c-49c5-94a6-26443a49ac63' ip neigh': Command 'sudo
ip netns exec b'qrouter-39cc2b45-a27c-49c5-94a6-26443a49ac63' ip neigh'
returned non-zero exit status 1.

The message above is raised by running tools/worlddump.py with python3.

Change-Id: Ic254af86fa27729839f00c0ad4a5bbbc9e545a09
2020-02-19 08:37:45 +00:00
Lee Yarwood 347abd41ce Drop Fedora 29 support
With fedora-latest now using Fedora 30 images and Fedora 29 itself EOL
we can now remove support for it from devstack. This change also cleans
up references to earlier Fedora releases under files/rpms/.

Change-Id: I24332f7016ebb549ea678acf677c477b55ec4d4b
2020-02-18 11:38:34 +00:00
Lee Yarwood 1d1f53ddc1 Use fedora-30 as the fedora-latest image
With the open-iscsi rebase we should now be able to move the
fedora-latest job to fedora 30 ahead of the removal of support for 29.

Change-Id: Ia80f03f275e595d3b26b52b3478f303036d59438
2020-02-18 11:38:34 +00:00
Lee Yarwood c6f53dacd2 nova: Use iscsi-initiator-utils 2.1.0 on Fedora 30 and 31
I2f16658c5a3e22cac70912a0f3ad65cdd7071a1e worked around an open-iscsi
bug that remains unpatched in Fedora 30 and 31 by using a private copr
repo with the patch applied. Rawhide has finally been rebased to 2.1.0
where this issue and many others have been resolved.

We can now use a new repo that has been built for Fedora 30 and 31 that
provides this rebased package that we can either use until the rebase is
backported to 31 and 30 or 32 is supported.

Change-Id: I5ba5885bd9c784949602aeb4ddff9d75fecc6b3d
2020-02-18 11:38:34 +00:00
Lee Yarwood f1966d7763 Add Fedora 30 as a supported distro
With Fedora 29 now officially EOL [1] we need to start the move to 30. A
later change will remove f29 support from devstack entirely once
fedora-latest moves to the based f30 image.

[1] https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/VUK3CJ5LO4ROUH3JTCDVHYAVVYAOCU62/

Change-Id: If87fe93757129f931a3417fc6275ffad280cdf46
2020-02-18 11:38:33 +00:00
Lee Yarwood 79ffa1f04f Fedora: Always install python3-devel
With the recent switch to py3 we need to ensure python3-devel is
installed on Fedora >= 29 before pip installing any dependencies.

Change-Id: I21417687db5b3827c5272ed22f6dc95db13f2870
2020-02-18 11:38:33 +00:00
Zuul 60a2a89232 Merge "Use python3 as default python command" 2020-02-18 03:25:53 +00:00
Zuul bef5e6ab7c Merge "Remove networking-calico from plugin-registry.rst" 2020-02-17 18:53:32 +00:00
Dr. Jens Harbott 08d84bc47f Make database code work with mysql8
The GRANT command in mysql8 can no longer create a user implicitly.
Split that part into a dedicated CREATE USER command.

Also drop disabling the query_cache, it is off by default for some time
and the option got removed in mysql8.

Change-Id: I31bcc285ff8e373abbacb303c1269857c9cfa9ed
2020-02-17 17:15:13 +00:00
Dr. Jens Harbott 64ae08383a Amend python pkgs for debian-based distros
Drop python2 packages that are no longer needed. Replace other py2 pkgs
with their py3 variant.

Change-Id: Id5fc11d1ae0a7daf439c7d72f831f298f5d0ce31
2020-02-17 17:14:50 +00:00
Federico Ressi 21a10d3499 Use python3 as default python command
After Python 2 is getting unsupported, new distros
like CentOS 8 and RHEL8 have stopped providing 'python'
package forcing user to decide which alternative to
use by installing 'python2' or 'python3.x' package
and then setting python alternative.

This change is intended to make using python3 command as
much as possible and use it as default 'python' alternative
where needed.

The final goals motivating this change are:
 - stop using python2 as much as possible
 - help adding support for CentOS 8 and RHEL8

Change-Id: I1e90db987c0bfa6206c211e066be03ea8738ad3f
2020-02-17 17:03:47 +00:00
Federico Ressi 2dcbc28aba Install versioned python RPMs on RedHat distros
Set default python3 version as 3 for cases python3
is not installed before running DevStack.

Implements installation of required python3x package
for RedHat family distros with package name depending on
configurable ${PYTHON3_VERSION}. Examples:

  3 => python3 python3-devel (default one)
  3.6 => python36 python36-devel
  3.7 => python37 python37-devel

This should help in situations where there are more
than one python available for given platform and
DevStack is asked to pick one by its full 3.x version

Change-Id: I49d86bc9193165e0a41e8e8720be37d81a4e7ee0
2020-02-17 12:00:41 +00:00
Andreas Jaeger d05efc6ae9 Remove networking-calico from plugin-registry.rst
Networking-calico has been removed from openstack repositories, remove
it from docs.

Change-Id: I58d2964ee52d66fe89aa84c1d88c4d8d4d349b0d
2020-02-17 12:32:12 +01:00
Zuul 93d22d8298 Merge "Add LIBVIRT_CPU_MODE to set CPU mode" 2020-02-17 01:05:14 +00:00
Zuul 80758e6932 Merge "Always install python3 and its dev package" 2020-02-15 16:01:08 +00:00
Ghanshyam Mann 64b3c5f468 Drop the tempest-full py2 job
We have dropped the tempest-full from
Tempest gate and made this to run on py2
explicitly which is nothing but for stable gates.
- I75868d5c9b6630fe78958ff89e58a0aced09a6b3

This job is not supposed to run on ussuri onwards master
gate as everything will be python3-only.

Change-Id: I372bde6a1753884efaf15da5fab48f1bddb4dab5
2020-02-14 11:07:30 -06:00
Zuul e51cbf0ea9 Merge "Install psutil required by tools/mlock_report.py script" 2020-02-11 23:19:03 +00:00
Zuul fdd631d27a Merge "Switch to python3 for memory_peak service" 2020-01-31 05:57:23 +00:00
Zuul 38f5d0b856 Merge "Add -r option when removing egg-info files/folders" 2020-01-31 05:56:07 +00:00
Zuul 96fda3528a Merge "Support TEMPEST_BRANCH with tag name" 2020-01-30 20:32:48 +00:00
Carlos Camacho 7611d3dfd2 Add -r option when removing egg-info files/folders
We are hitting this error:
+ tools/fixup_stuff.sh:fixup_ubuntu:82 :
    sudo rm -f /usr/lib/python3/dist-packages/httplib2-0.11.3.egg-info
rm: cannot remove
    '/usr/lib/python3/dist-packages/httplib2-0.11.3.egg-info': Is a directory

This patch adds the -r option to allow removing folders.

Change-Id: Ib7bb8b0a3dcf747bcc06da1a2fb17fa9d8808484
2020-01-30 14:41:14 +01:00
Federico Ressi 3555b48ff4 Switch to python3 for memory_peak service
When starting 'memory_peak' service is using python command instead of
python3, while psutil (required package) is most probably being
installed into the python3 environment (as we are dropping python2.7
support).

Closes-Bug: #1860753
Change-Id: Ia2b7e2e33d784560443131e2965f520b361a54e3
2020-01-30 12:35:34 +00:00
Zuul 455be66098 Merge "Remove conflicting packages in Ubuntu" 2020-01-30 00:01:06 +00:00
Ghanshyam e1c0406d10 Support TEMPEST_BRANCH with tag name
TEMPEST_BRANCH which is mostly set as master so
that Tempest master is run to test the env. With
stable branch going to EM state and Tempest master
might not work due to incompatibility of code or
requirements. In that case we pin the Tempest so that
older Tempest can be used for their testing.

Till now for ocata, pike and, queens we used the gerrit style
ref to pin the Tempest which is not preferred way. We should be
able to use the tag name on TEMPEST_BRANCH.

This commit explicitly checkout the tag set in TEMPEST_BRANCH
as git_clone does not checkout the tag directly until RECLONE
is true or tempest dir does not exist.

After this stable branch or job can set the tag directly with name.
For exmaple: TEMPEST_BRANCH=23.0.0.

Change-Id: Ic777e4b56c4932dde135ac909cb5c6f4a7d5cc78
2020-01-29 15:39:17 -06:00
Dr. Jens Harbott f6597b1b46 Undeprecate neutron-legacy scripts
Work on the new neutron scripts has stalled and they aren't in a useable
state yet. Given the ongoing decline in contributions, let us
acknowledge this and undeprecate the neutron-legacy scripts so that
people can continue to use them without feeling guilty about it.

Change-Id: I4bce19da861abf18ddb89d82fd312c5e49a4ee7c
2020-01-29 15:46:35 +00:00
Zuul d5c964d95e Merge "libvirt: Support the use of the virt-preview repo when using Fedora" 2020-01-29 04:51:39 +00:00
Lee Yarwood 169f5dee47 libvirt: Support the use of the virt-preview repo when using Fedora
The virt-preview repo provides the latest rawhide versions of QEMU,
Libvirt and other virt tools for older releases of Fedora. This repo is
extremely useful when testing features in OpenStack that rely on these
latest builds well in advance of them landing in full Fedora, CentOS or
RHEL releases.

This change adds a ``ENABLE_FEDORA_VIRT_PREVIEW_REPO`` configurable
to control when this repo is enabled and used when deploying on Fedora.

Change-Id: I5c3e1b7b632fd73310c462530990cdb0e0c0ceea
2020-01-27 18:02:30 +00:00
Witek Bedyk e727dd5682 Remove conflicting packages in Ubuntu
Following packages conflict with pip installed versions:
* httplib2
* pyasn1-modules

Change-Id: Ic4f70f839765e67394509cc543560aac7f50e287
2020-01-27 17:11:23 +01:00
Federico Ressi 19e4d97288 Install psutil required by tools/mlock_report.py script
'tools/mlock_report.py' script requires 'psutil' package to be
installed. This ensures it is done before memory_peak service is
started.

Partial-Bug: #1860753
Change-Id: I7b2b6eaf9856c6057e1a4a0054d15074150a6cb6
2020-01-27 08:08:59 +00:00
Zuul 761663dbfb Merge "Remove fixup_python_packages" 2020-01-26 16:50:03 +00:00
Witek Bedyk 4dc02f97e7 Remove fixup_python_packages
The hack has be around for pip 1.4.1 and older. It should be safe to
remove it by now. In fact it causes problems in my Ubutu Bionic VM when
trying to overwrite httplib2 library installed from the distro package.

Change-Id: I34b826f4e8f10f8d44b888120f19fcc7ba501b3d
2020-01-26 09:41:57 +00:00
Zuul 5b41670970 Merge "Remove Sheepdog plugin information" 2020-01-25 12:22:52 +00:00
Radosław Piliszek 29bf852396 Do not try finding pip for python2 when not required
[1] stopped installing pip for py2 when py3 is being used.

This patch makes sure we check only for py3 pip then.

Also removed some no-longer-relevant comment and
made uninstall behave the same.

Check for pip>=6 removed too.

See also [2].

[1] 279a7589b0
[2] http://lists.openstack.org/pipermail/openstack-discuss/2020-January/012182.html

Change-Id: I36ee53e57e468d760b80a7e621b90899867a8efd
2020-01-24 12:55:21 +01:00
Zuul f9a6986b90 Merge "Revert "Revert "Stop enabling g-reg by default""" 2020-01-23 15:07:30 +00:00
Zuul b47bdd6f21 Merge "Run Glance initialization when Glance is enabled, not just registry (v2)" 2020-01-23 15:05:43 +00:00
Zuul 6a4c74dda8 Merge "devstack-plugins-list: skip openstack/openstack" 2020-01-23 13:56:04 +00:00
Dr. Jens Harbott 6808a3468d Clean up remainders of USE_SYSTEMD and logging setup
We dropped the ability to override USE_SYSTEMD to False when we deleted
screen support in [0], so we can also clean up any conditionals based
on it.

Also clean up the logging setup functions, dropping local vars for
parameters that we don't actually support anymore.

[0] I8c27182f60b0f5310b3a8bf5feb02beb7ffbb26a

Change-Id: I5cbce9f2c42e111761e8689447b3f8cbb7ea2eb5
2020-01-23 11:50:07 +00:00
Sean McGinnis 97d8575937 Remove Sheepdog plugin information
The Sheepdog project has been defunct for awhile now, and the Sheepdog
driver and os-brick connector is now being removed from Cinder. This
cleans up plugin references for the driver.

Change-Id: Ieb2d9cf653b2d3a4af30cab26b8428a7c7edff98
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-01-23 02:19:58 +00:00
Ian Wienand afd346a0a1 devstack-plugins-list: skip openstack/openstack
The proposal job to update the plugin list has been failing for a long
time as it gets a 500 error from gitea on the openstack/openstack
repo.  This is an odd "superrepo" with all projects as submodules;
thus openstack/openstack/devstack is actually a project, not the
directory with a plugin in it.

Skip this repo (gitea shouldn't return a 500, but that's another
thing...)

Regenerate the list manually for this run.

Change-Id: I6ed65bcb720d4cb10702cbf66106120e001ec35f
2020-01-23 13:13:05 +11:00
Terry Wilson 78cf6f642a Always install python3 and its dev package
Some distros do not install python3/python3-devel with the minimal
install. F29 doesn't install -devel, and neither Centos 7 or 8
install either. This patch ensures that these packages get installed.

Ideally, PYTHON3_VERSION would be set *after* ensuring that python3
was installed, but it gets a little tricky with all of the includes.
This sets it to 3.6 as nothing uses 3.5 anymore.

Change-Id: I7bdfc408b7c18273639ec26eade475856ac43593
2020-01-22 20:03:29 -06:00
Radosław Piliszek 89cb80d212 Revert "Revert "Stop enabling g-reg by default""
This reverts commit 98f3bbe509.

This is no longer necessary as proper fix [1]
is now applied.

[1] https://review.opendev.org/703288

Change-Id: Ibc40f79b1daf30246ed24790e9b305caea497cb2
Related-bug: #1859847
Related-bug: #1860021
2020-01-22 13:43:23 +00:00
Radosław Piliszek 09e860fc2c Run Glance initialization when Glance is enabled, not just registry (v2)
Per [1] Glance registry should not be required to run since Queens.

v2 improves on v1 [2] (now reverted [3]) by applying minor comments
from reviews so far and ensuring nova-live-migration job does not see
a change in behavior and hence does not break [4].
[5] tried to fix the issue but it did only partially, regarding
the database but not the image upload [6].
This patch ensures double cirros image upload does not happen as well.

[1] https://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html
[2] https://review.opendev.org/702707
[3] https://review.opendev.org/703131
[4] https://bugs.launchpad.net/devstack/+bug/1860021
[5] https://review.opendev.org/702960
[6] https://bugs.launchpad.net/devstack/+bug/1860021/comments/16

Change-Id: I61538acd6bd4c7b3da26c4084225b220d7d1aa2c
Closes-bug: #1859847
Related-bug: #1860021
2020-01-22 13:43:06 +00:00
Dr. Jens Harbott e18325ca67 Fix pip uncap fallout for nova and barbican
Need to make PyYAML overridable on Ubuntu, it is a dependency for e.g.
cloud-init, so we cannot remove it.

Depends-On: https://review.opendev.org/703792
Change-Id: I4423dfb2c30299903b52a2bb06d846dd487f5b8b
2020-01-22 13:37:11 +00:00
Ghanshyam 2e45f2c267 Adding nova-live-migration job in devstack gate
nova-live-migration is legacy job and  and rely on
devstack-gate + devstack setting so any change in devstack can
break it. Example bug: 1860021

We can remove this job once it is migrated to zuulv3 native.

Change-Id: Ie34d4dc1ab30ced8161796fe32628db07de86cc9
Related-bug: #1860021
2020-01-22 05:59:03 +00:00
Zuul 5ae6f5ec37 Merge "Revert "Do not use pip 10 or higher"" 2020-01-21 18:36:06 +00:00
Zuul b9dfa46f0a Merge "inc/python: Remove ability to mark packages as non-Python3" 2020-01-21 07:40:40 +00:00
Zuul 46fd644897 Merge "Fix DevStack to configure tempest's service_availability" 2020-01-20 13:44:18 +00:00
Carlos Goncalves 8dd6f153d6 Add LIBVIRT_CPU_MODE to set CPU mode
In same cases, the hypervisor presents to the guest OS a named CPU model
is similar to the host CPU and adds extra features to approximate the
host model. However, this does not guarantee all features will be
precisely match.

This patch adds LIBVIRT_CPU_MODE to allow users to define the CPU mode
they want to use, for example "host-passthrough".

Change-Id: I83792c776b50d1d22584be2a37cc6a166f09c72b
2020-01-20 14:16:12 +01:00
Zuul 0d3f08f692 Merge "Stop configuring '[DEFAULT] use_neutron' for nova" 2020-01-19 17:42:45 +00:00
Zuul bae2257d5e Merge "Stop configuring '[DEFAULT] firewall_driver' for nova" 2020-01-19 17:42:43 +00:00
Zuul 63f07a1af9 Merge "Revert "Run Glance initialization when Glance is enabled, not just registry"" 2020-01-19 08:43:35 +00:00
Zuul c615f37c93 Merge "Init Glance database only on the node with the database backend" 2020-01-18 19:41:17 +00:00
Stephen Finucane 48d1f028c4 Revert "Run Glance initialization when Glance is enabled, not just registry"
This reverts commit d8dec362ba. This has
knock on effects for devstack-gate, which configures g-api on subnodes
node but not mysql, resulting in failures. A longer term fix would be to
either a) stop configuring g-api on subnodes if we can determine it's
not necessary or b) only configure the database if on the main node.
However, both options are subject to debate so for now just unclog the
gate.

Change-Id: I58baa3b6c63c648836ae8152c2d6d7ceff11a388
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-bug: #1860021
2020-01-17 17:42:23 +00:00
Stephen Finucane 98f3bbe509 Revert "Stop enabling g-reg by default"
This reverts commit d7dfcdb467. A
subsquent change that depends on this,
d8dec362ba, has knock on effects for
devstack-gate and needs to be reverted. Revert this first.

Change-Id: Ic5402f57052648e10eacf3c3de67d2cdd2d42f63
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Partial-bug: #1860021
2020-01-17 17:42:23 +00:00
Stephen Finucane 6b6bdc7111 inc/python: Remove ability to mark packages as non-Python3
Everything in OpenStack *must* be Python 3 supporting now, which means
it's time to remove the functionality that allows us to blacklist
packages that didn't support Python 3.

Change-Id: I7c8cf538ec88bd4056b0109f19671e3d65f5da3a
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-01-17 11:19:16 +00:00
Radosław Piliszek ec3543a028 Init Glance database only on the node with the database backend
Since [1] Glance init depends on either g-api or g-reg being
enabled.
This broke multinode g-api deployments with singlenode database
backend.
This commit aligns Glance with other services w.r.t when to
apply database init.

[1] d8dec362ba

Change-Id: Idc07764d6ba3a828f19691f56c73cbe9179c2673
Closes-bug: #1860021
2020-01-16 19:58:37 +01:00
Stephen Finucane f9ff151549 Stop configuring '[DEFAULT] use_neutron' for nova
This has now been removed and even prior to removal defaulted to True.

Change-Id: I847a873d833a4dbee96afa1d2726fea2b8045eeb
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-01-16 10:52:52 +00:00
Stephen Finucane 248d4bb8d2 Stop configuring '[DEFAULT] firewall_driver' for nova
This option has default to the 'NoopFirewallDriver' for some time and
will soon be removed. Stop configuring it entirely.

Change-Id: I4dbc0015cf26d7edf51d0d5fd978ccd3a1ad1b79
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-01-16 09:27:54 +00:00
Zuul 035b41b9b2 Merge "Stop enabling g-reg by default" 2020-01-16 07:38:54 +00:00
Zuul decb662ff3 Merge "Run Glance initialization when Glance is enabled, not just registry" 2020-01-16 07:23:33 +00:00
Zuul f483e85a87 Merge "do not gzip legacy service logs" 2020-01-16 03:22:18 +00:00
Zuul 9b09e77e9c Merge "Don't install glance default policy" 2020-01-16 00:58:08 +00:00
Radosław Piliszek d7dfcdb467 Stop enabling g-reg by default
Per [1] Glance registry should not be required to run since Queens.

[1] https://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

Change-Id: I93325cbd26dbc6a30062d9ba83acab248897b18e
Depends-on: https://review.opendev.org/702707
Related-bug: #1859847
2020-01-15 18:37:51 +01:00
Radosław Piliszek d8dec362ba Run Glance initialization when Glance is enabled, not just registry
Per [1] Glance registry should not be required to run since Queens.

[1] https://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

Change-Id: I5477c8769ff4ae151d4d6ccb5e5d8dd5788909b0
Closes-bug: #1859847
2020-01-15 18:34:21 +01:00
Akihiro Motoki 85c5ec11c9 Cleanup VM instances during unstack
Currently VMs created by a previous DevStack run still exists even
after re-run stack.sh. This leads to a failure in launching a VM after
the second run of stack.sh. We need to check the reason of the failure
by nova compute log and clean up remaining VMs. It is annoying.

IIRC we cleaned up existing VMs. While I failed to identify which commit
changed this behavior, I believe it is worth recovering it.

This commit changes unstack.sh to call cleanup_nova. cleanup_cinder()
already cleans up LVM volumes and some of them may be used by VMs,
so I believe it is reasonable to clean up VMs in unstack.sh.

Change-Id: I9fcbc5105e443037fada1ef6a76a078145964256
2020-01-15 11:12:46 +09:00
Sean Mooney d02fa6f856 do not gzip legacy service logs
This change removes the .gz extension from the
service and syslog logs exported via journalctl.
This change nolonger gzip compresses the exported
logs so that they can be rendered in the browser
directly when served from swift.

Change-Id: I4557a737cb13b9c2406056be08ab8a32ddd45162
2020-01-14 15:52:23 +00: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 4143ce6fc9 Create virtualenv with abstracted VIRTUALENV_CMD
Just calling "virtualenv" makes a Python 2 based environment;
setuptools just dropped Python 2 support (as Python 2 reached EOL in
Jan 2020) so this has now become a breakage.

Although the Python 2 path won't work, use the abstracted command.
This should stop us having to revisit this for any future cleanups (or
switing to venv, etc).

Change-Id: I531e971b78491a9276753c0d86b04c4adbd224aa
2020-01-13 16:05:11 +11:00
Colleen Murphy f8aa74bc04 Enable access rules tempest tests
In Train, the access rules API was introduced in keystone. This change
enables testing it in tempest.

Depends-on: https://review.opendev.org/699519
Change-Id: I2af21868cbf584a6881c6208bc2afc3bdb323ab9
2019-12-27 09:30:57 -08:00
Soniya Vyas 7634c78002 Removal of deprecated command and deprecated optional argument
lib/tempest uses 'tempest-account-generator'
which is deprecated 4 years back.
In addition to above, lib/tempest also uses
'os-tenant-name' which is also deprecated.

Use of 'tempest account-generator' and
'os-project-name' should be done now.

Signed-off by: Soniya Vyas<svyas@redhat.com>
Change-Id: I624e1dc57a3d3533322fb298c01f70241d0400ed
2019-12-27 14:01:17 +05:30
ghanshyam f0dd9996cc Fix DevStack to configure tempest's service_availability
Tempest's service_availability config option includes all the service
availability which is further used by tests to take decision of skip
or run the test.

For example, [service_availability].nova is true then, compute test will run
or if [service_availability].aodh is false then, all aodh related tests either
in aodh tempest plugin or any other plugins will be skipped.

Now question is what is the best way to set the each service availability for
tempest or tempest plugins tests. We have 2 category of service here-
1. Service tested by Tempest (nova, cinder, keystone, glance, swift, neutron)
   (let's say type1 service)
2. Services tested by Tempest plugins (all other than above list)
   (let's say type2 service)

We need the standard way to set both type of service so that we can maintain
the setting of service_availability config options in consistent way.

As discussed on bug#1743688/ and review https://review.openstack.org/#/c/536723/,
we will use devstack lib/tempest to set the type1 service which is services test
owned by Tempest and type2 service setting will be done by devstack plugins of
those service.

For example - [service_availability].ironic will be set by ironic's devstack plugin.
because that is best place we know ironic is installed and available.

To do that we need:
1. Add setting of [service_availability].* in devstack plugins
2. Remove setting of type2 service from devstack lib/tempest

This commit does the second part and all depends-on patches handle the first part.

Related-Bug: #1743688

Change-Id: If3aec9fd1c61e2bb53233be437b97b811dc82414
2019-12-20 18:05:01 +00:00
Zuul 937b96d4a7 Merge "Create OVS bridge even if OVS_BRIDGE_MAPPINGS is not empty" 2019-12-19 20:08:41 +00:00
Eyal 56b2e7fe8b fix a command typo
Change-Id: I01787641c887bfc0f4620b90b4ff488958dac53e
2019-12-19 13:32:55 +02:00
Lenny Verkhovsky d6a7b73fc8 Create OVS bridge even if OVS_BRIDGE_MAPPINGS is not empty
in complex cases when mapping is defined in local.conf OVS bridge
can be created automatically.

Change-Id: I2e5e1068e77291d1d199cd698cec4946480c7601
2019-12-18 08:09:11 +00:00
Zuul 1a6c22e489 Merge "lib/tempest: Do not rely on six for image_size_in_gib" 2019-12-13 20:48:01 +00:00
Slawek Kaplonski f7a7076fac Include dnsmasq-utils package on all Ubuntu versions
This package provides dhcp_release tool but in files/debs/neutron-common
it was listed to be installed only on Ubuntu Precise.
The same file is also in Nova's packages but there is no restriction to
Ubuntu Precise only there.
So on all Neutron jobs it was fine but on Ironic's job where Nova
wasn't enabled, this package was not installed and caused problems
in Neutron DHCP agent.

Change-Id: Idd0711cfe6d43f21754a2f0c230cd094ea33cb27
Closes-Bug: #1855910
2019-12-11 09:51:58 +01:00
YAMAMOTO Takashi ede8b1269c mysql: Don't bother to change auth plugin on centos
This partially reverts the previous change [1], which
broke networking-midonet jobs.

[1] https://review.opendev.org/#/c/681201/

Closes-Bug: #1855516
Change-Id: I0255c6acce72a8376dbc6d8f8d0314a7dabf019c
2019-12-09 14:23:59 +09:00
Zuul 6ac1bb80b1 Merge "Enable libvirt virtio rng device" 2019-12-09 00:37:53 +00:00
Zuul 92de86fb64 Merge "Add possibility to configure manually MYSQL_SERVICE_NAME" 2019-12-07 01:02:54 +00:00
Zuul ae7e10f5ee Merge "Dump the upper constraints for tempest in a temporary file" 2019-12-06 01:49:36 +00:00
Clark Boylan 7ddbece508 Enable libvirt virtio rng device
We've seen jobs where tests fail due to what appears to be rng
starvation. Enable virtio rng device to try and alleviate this.

Change-Id: I70d800cdc45b6008f775110f22c0000736421529
2019-12-05 07:58:23 -08:00
Zuul 893126cd64 Merge "Drop Xenial support" 2019-12-05 09:40:27 +00:00
Lucas Alvares Gomes 40f7579bb8 lib/tempest: Do not rely on six for image_size_in_gib
input() should work on both python versions for what we need. I
understand the concern about eval() on python2 but, in the case it's
used we should be fine, plus, python2 is being removed from OpenStack
projects.

Change-Id: I86a7c31374986f81132bc4f49aee0a76b90e6553
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2019-12-05 09:20:47 +00:00
Zuul edc239d1ea Merge "Centralize and configure nova with cinder service user access" 2019-12-05 06:26:54 +00:00
Zuul eeb444bc43 Merge "stackrc: Make REQUIREMENTS_DIR configurable" 2019-12-05 02:09:00 +00:00
Slawek Kaplonski d54a1c6869 Add possibility to configure manually MYSQL_SERVICE_NAME
This variable can be now set in Devstack's config file and in
such case Devstack will not set it automatically to value most
likely correct for the distro.
By default this value is empty string and in such case Devstack
will work in exactly same way as it was before this patch and
will determine automatically what name should be used there.

In addition in case of Ubuntu package $MYSQL_SERVICE_NAME-server
will be now installed instead of mysql-server always.
This will allow to easy configure e.g. CI job which will run using
Mariadb instead of Mysql on Ubuntu.

Change-Id: I25af0b54ad235b08c6c399b4125c737acf57ee2e
2019-12-04 19:58:31 +00:00
Rodolfo Alonso Hernandez 8579f58307 Dump the upper constraints for tempest in a temporary file
This will avoid the creation of an unneeded file in the "tempest"
repository directory.

TrivialFix

Change-Id: Id3f46b3537cd3232cb29c42808bde44c667565f1
2019-11-29 13:56:45 +00:00
Ian Wienand 2e66778699 Drop Xenial support
With the goals of Ussuri being Python 3.6 [1], the python 3.5
environment on Xenial is too old.  Remove testing and the most obvious
bits of support from devstack.

Also drop claimed support for artful, which is long EOL.

[1] https://governance.openstack.org/tc/reference/runtimes/ussuri.html

Change-Id: Iefcca99904dde76b34efbbfc0e04515dfa5a09e5
2019-11-21 18:38:32 +00:00
Zuul 595759c764 Merge "Drop centos7 platform job" 2019-11-21 15:50:54 +00:00
Jens Harbott (frickler) 279a7589b0 Revert "Do not use pip 10 or higher"
This reverts commit f99d1771ba.

Added workarounds that might want to get split into their own patch
before merging:

- Don't install python-psutil
- Don't run peakmem_tracker

Change-Id: If4fb16555e15082a4d97cffdf3cfa608a682997d
2019-11-20 21:02:39 +00:00
Matt Riedemann 48b519b5c6 Change USE_PYTHON3=True by default
Since Stein, gate jobs have been using bionic nodes so they
are running with python 3.6, so it makes sense to also default
devstack itself to run with python3 by default.

Depends-On: https://review.opendev.org/688731

Change-Id: I52b03caee0ba700da3a15035201ea6cd91baa06b
2019-11-19 20:12:14 +00:00
Jens Harbott 39082a3b4e Handle localrc early enough in stackrc
We need to source the environment overrides before they get evaluated.
Otherwise e.g. USE_PYTHON3 is factually being ignored for some settings.

Also fix creating python3 venvs by using the "virtualenv" command for
that task.

Change-Id: I16c78a7fef80372d9a1684c3256c5b50b052ecae
2019-11-19 20:11:23 +00:00
Slawek Kaplonski 2d112db86b Drop old neutron-grenade job
This job is still running python 2.7. As we are dropping py2 support in
Ussuri cycle, lets drop this job now.
There is same job called "grenade-py3" which runs on python 3 already
and this will be now used in project's CI.

Depends-On: https://review.opendev.org/#/c/695036/

Change-Id: I5cd8e137a3ae06e49a4351629c5eb207c4e6bf1a
2019-11-19 19:34:11 +00:00
Jens Harbott 277f29f683 Drop centos7 platform job
The centos7 job is running with python2, which is no longer supported by
nova, so we can drop it in master.

Change-Id: Id9ef507dd6f4226d65c6ed3043666b0aa6a3bd1c
2019-11-19 10:09:11 +00:00
Zuul b0f87b2866 Merge "Fix brctl calls" 2019-11-16 16:49:02 +00:00
Zane Bitter 0e02e7fd55 Don't install glance default policy
With Glance defining default policies in code, it's no longer necessary
to install policy.json from the repo.

Change-Id: I9f9160f5a2bf9fd77fb3807e12de219b7a49952d
Depends-On: https://review.opendev.org/693129
2019-11-14 14:01:27 -05:00
Zuul 0610413f05 Merge "Add override variable for LIBVIRT_TYPE" 2019-11-08 01:30:31 +00:00
Flavio Fernandes 6c15c38f1a stackrc: Make REQUIREMENTS_DIR configurable
In cases where global REQUIREMENTS_DIR is set, use it
instead of overwriting it. This is particularly needed
in cases where users of pip_install wrapper have the
upper-constraints.txt at another location.

Change-Id: I34e9f94548c575e1af5bca9655a3b7d1915375a8
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
2019-11-06 07:11:37 -05:00
Brian Haley da18895162 Fix brctl calls
Some distros no longer ship brctl, iproute2 should be used
in its place. The linuxbridge agent plugin script was still
using it, as was worlddump, which generates this warning on
a failure:

    Running devstack worlddump.py
    /bin/sh: 1: brctl: not found

Conditionalizing worlddump based on whether brctl is installed
to make this go away.

Change-Id: Iafbf4038bab08c261d45d117b12d4629ba32d65e
2019-11-06 09:55:47 +08:00
Zuul 63ab664baf Merge "Revert "install LIBS_FROM_GIT using python 2 and 3 where appropriate"" 2019-11-04 20:18:13 +00:00
Zuul b461a092c4 Merge "Remove n-novnc service requirement for TLS configuration" 2019-10-25 12:10:55 +00:00
Zuul 8d614d0a42 Merge "Fix benign epmd@0.0.0.0.socket failure" 2019-10-24 01:28:28 +00:00
melanie witt 1d378dcf6d Remove n-novnc service requirement for TLS configuration
When configuring TLS between the console proxy (where the n-novnc
service runs) and the compute host, some configuration for QEMU needs
to be done on the compute host. The existing code for this requires the
n-novnc service to be running, which it is in a single node all-in-one
deployment. However, when running in a multinode deployment, the
n-novnc service runs only on the controller and not on the subnode.
Yet, we need to configure QEMU on the subnode compute host as well.

This removes the n-novnc service requirement to enable TLS QEMU
configuration to occur on a compute subnode in a multinode deployment.

Closes-Bug: #1849418

Change-Id: I8b6970e91ad7f52ff489cb9f776ca216d8f86aa4
2019-10-23 04:53:42 +00:00
Armando Migliaccio a676c4029e Revert "Generate deprecation warning for postgresql"
Based on resolution [1], there's no clear indication that next
steps involve the removal of the DB from Devstack or from the gate.

[1] I332cef8ec4539520adcf37c6d2ea11488289fcfd

This reverts commit d9aaae95f2.

Change-Id: I8410d65c0e0b24035aa035fac7560a686d53ec50
2019-10-17 15:58:34 -04:00
Matt Riedemann b14665f0dd Revert "Remove deprecated PostgreSQL database driver"
This reverts commit 168ca7f0a4.

Removing postgresql support from devstack was unnecessary
since it's not broken and not causing maintenance issues
as far as I know. The commit being reverted said that pg
support was deprecated in Pike but nothing in the docs or
commit message refer to official deprecation of postgres
support in devstack or openstack in general. Not to mention
that there are still postgres-based jobs that will no
longer work *and* the notification to the mailing list about
doing this happened *after* it was already done [1] leaving
stakeholders with no time to reply.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010196.html

Change-Id: Ie7036d37d79e6aba462b7c97f917e2e7aed108f9
2019-10-17 15:58:34 -04:00
Eric Harney 8c86e5a53e Cinder: only set volume_clear for LVM
This only applies to the LVM driver (when using
thick provisioning), and doesn't have any effect on
other backends like NFS, so only write the conf entry
for LVM.

Change-Id: I722ba2fa0010d9887ed9b7fdd9e050cd4694768e
2019-10-17 15:48:08 -04:00
Zuul cf1c847191 Merge "Remove deprecated PostgreSQL database driver" 2019-10-17 11:39:34 +00:00
Zuul 7840b6e291 Merge "Ensure that the zuul home can be traversed" 2019-10-08 19:33:53 +00:00
Zuul 56f23cc50d Merge "Fix target branch for pbr and diskimage-builder" 2019-10-08 19:33:51 +00:00
Ghanshyam Mann dad5665036 Update DEVSTACK_SERIES to ussuri
stable/train branch has been created now and
current master is for ussuri.

Change-Id: I2bb84cb4b32e344572a7c3e6f300c1aa19e486df
2019-10-07 17:21:46 +00:00
Zuul e6f495e2dd Merge "generate-devstack-plugins-list: Retry on opendev.org 500" 2019-10-07 10:55:13 +00:00
Ian Wienand 5c6b3c3279 Add override variable for LIBVIRT_TYPE
Allow jobs to set LIBVIRT_TYPE, but retain the current default.  This
is for testing nested virt.

Change-Id: Ife215db3f59f011574a50b0d1cbd5565a7408dfe
2019-10-04 09:31:53 +10:00
Akihiro Motoki deb3ff50f1 lib/horizon: no need to specify keystone v3 to API version
keystone v3 is the default API version in horizon now,
so there is no need to specify it in local_settings.py explicitly.

This commit also makes minor changes in lib/horizon
_horizon_config_set().

* Do not insert a blank line after each setting.
* Use the local variable $file to specify the target file
  consistently.

Change-Id: I5faea3e1f357726a256d2b48fc1afeabfead4998
2019-10-02 16:33:46 +09:00
Luigi Toscano c67a689fe5 Ensure that the zuul home can be traversed
The default permissions for the zuul home directory
are not the same in the various distributions.
As /home/zuul contains the sources, a 700 default may be
problematic when accessing those files, so make sure
that the executable permissions are set.

Closes-Bug: 1846251
Change-Id: Ic9769e56274d7205844b86d3b5200a6415e4acad
2019-10-01 20:14:22 +02:00
Zuul 729f8b8ca6 Merge "Fix six package on opensuse for pip 10" 2019-09-30 17:15:28 +00:00
Matt Riedemann 594885c808 Centralize and configure nova with cinder service user access
Since Queens [1] nova has been able to be configured with
cinder service user credentials for operating on cinder
resources without a user auth token similar to things nova
needs to do without a user auth token for working with neutron
and placement resources.

This change:

- centralizes the nova [cinder] section configuration
- adds the necessary auth configuration

Needed by: https://review.opendev.org/549130/

[1] I3c35bba43fee81baebe8261f546c1424ce3a3383

Change-Id: I5640ee431f6856853f6b00ec7ed1ea21d05117dd
2019-09-30 10:23:44 -04:00
Masayuki Igawa 12e5ddcc2d Add PDF documentation build
This commit adds PDF documentation build target 'pdf-docs' that will
build PDF versions of our docs. As per the Train community goal:

 https://governance.openstack.org/tc/goals/selected/train/pdf-doc-generation.html

Change-Id: Iecb0fe5b957af7dae66bea04dfbd9c2fb4f74a99
Story: #2006070
Task: #35456
2019-09-26 18:06:46 +09:00
Colleen Murphy 6eb2c5990d Fix six package on opensuse for pip 10
openSUE Leap 15.0 and 15.1 both provide python3-six version 1.11.0.
Since version 1.12.0 was released, pip>=10 recognizes the version
difference and tries to uninstall the distro-provided version and fails.
This change adds another hack to remove the egg-info file for the six
library so that pip can manage it directly. We also have to wait to
install os-testr until after the fixup has happened since trying to
install it triggers the issue.

Change-Id: I4649abe06b5893a5251bfcdd4234abccde6ceda2
2019-09-26 07:26:27 +00:00
Matt Riedemann c6f588df02 Fix target branch for pbr and diskimage-builder
The target branch was centralized in change
I82aa19e739eeda3721bac1cb5153ad0bf2d1125a but there
are two issues, pbr and diskimage-builder are using
TARGET_BRANCH which gets changed to stable/* for
each openstack stable branch that gets created for
devstack, e.g. I861068ae1a9902cef61c52c70dda7bb42f4371a0,
but pbr and diskimage-builder don't have stable branches
so they should be using BRANCHLESS_TARGET_BRANCH i.e. master.

Change-Id: I47ac7a7e194ca6d613d0ccaebfd557346644c2df
2019-09-25 10:31:09 -04:00
Zuul e3cd502252 Merge "Enable accept_ra before enabling forwarding" 2019-09-24 22:41:48 +00:00
Ian Wienand 893817d30a generate-devstack-plugins-list: Retry on opendev.org 500
A 500 error from gitea can occasionally show up as a project dropping
their devstack plugin (I543faced83a685d48706d004ae49800abfb89dc5).

To avoid noise in the proposal jobs, implement a small retry loop for
500 errors.

Change-Id: Ide23e4de819a2c751d887eeaa7f0b9d0437f8e2c
2019-09-25 08:30:07 +10:00
Ian Wienand 1a46c898db Restrict iscsi package hack to Fedora
I forgot in I2f16658c5a3e22cac70912a0f3ad65cdd7071a1e that "is_fedora"
matches rhel/centos for historical reasons.  Restrict the install to
just the Fedora platforms by checking DISTRO matches

Change-Id: Ica4a690a4f2894a03ceb8557a947ed2ea4a60e53
2019-09-20 08:11:08 +10:00
Jens Harbott 0c9a6cab91 Enable accept_ra before enabling forwarding
We need to enable accept_ra before we enable forwarding, otherwise
existing addresses and routes may get dropped until the next RA is
received, possibly causing connection errors in the meantime.

Change-Id: I1fdeede59547de896ed89222ecf121fd9e6b810d
2019-09-19 13:59:28 +00:00
Artem Goncharov ba50347526 Update for f29
In Fedora 29 dstat was merged with pcp-system-tools (see
https://pagure.io/fesco/issue/1956)

Work around a iscsi bug with external packages until we can get the
package fixed.

Obsolete F27

Change-Id: I2f16658c5a3e22cac70912a0f3ad65cdd7071a1e
2019-09-16 10:15:17 +00:00
Zuul c6a4c4547d Merge "Switch to fedora-29 for fedora-latest nodeset" 2019-09-13 15:17:20 +00:00
Zuul bfb176579b Merge "Fix worlddump log collection" 2019-09-13 15:17:18 +00:00
Zuul 7d2663d44c Merge "oscwrap: make a little quieter" 2019-09-13 10:00:44 +00:00
Zuul 916659374a Merge "Make stop/disable of apparmor work on all SLE systems" 2019-09-13 08:08:26 +00:00
Jens Harbott ce396d374b Fix worlddump log collection
All credit for figuring this out goes to frickler (and that was the hard
bit so thank you!). The worlddump files were not being collected because
they weren't in our log collection list. Add worlddump to this list
so that we collect these files.

One thing that makes this slightly complicated is the worlddump files
are named with a timestamp and we can't have globs in our collection
list. To address this we create a copy of the file with a -latest.txt
suffix. This gives us a deterministic file name for log collection
without using globs.

Note we do not use a symlink here because some jobs gzip their log files
(breaking symlinks) and others do not. This makes it painful to always
have a valid link. Not having a valid link can break log collection.

Hardlinks may be another option but simply making a copy is easier to
manage as you don't have to worry about links preexisting and the
dumpfiles are not that large.

Change-Id: I96ae5f5290546ad25ca434c1106c01354d2d053c
2019-09-12 10:21:17 +00:00
Peter Penchev 16bccbcea4 Revert "install LIBS_FROM_GIT using python 2 and 3 where appropriate"
All the OpenStack projects should be able to run under Python 3 now so
the fallback installation of the Python 2 libraries should not be
needed any longer. This also avoids the problem of script files
installed by the libraries sometimes being overwritten by the Python 2
version leading to incorrect execution later, as discussed in
http://lists.openstack.org/pipermail/openstack-discuss/2019-September/009226.html

This reverts commit a2eb89417f.

Change-Id: I1cdb7e4a209872f1620be556b7278879a4b86df5
2019-09-09 15:14:11 +03:00
Bharat Kunwar 951e14d6dd Fix default security group in samples/local.sh
The script currently complains about multiple default security groups. This
obtains the default and uses it when creating security group rules.

Change-Id: I81e59eae5df79889ed1fb02d45af26e3a55aa0e9
2019-09-05 14:30:41 +00:00
Zuul 650769a311 Merge "flat_networks - Don't hardcode public network name" 2019-08-30 16:12:11 +00:00
Zuul 2b6e83d7c8 Merge "Fix MySQL log collection" 2019-08-30 16:12:09 +00:00
Zuul 0e8934c5ba Merge "Set cinder's my_ip based on SERVICE_IP_VERSION value" 2019-08-30 07:24:38 +00:00
Zuul e966ba1519 Merge "Select proper flavor_ref_alt for Tempest" 2019-08-29 07:21:37 +00:00
Stephen Finucane 168ca7f0a4 Remove deprecated PostgreSQL database driver
This was deprecated for removal in Pike. It's probably time to drop it.
Note that the 'postgresql-devel'/'postgresql-server-dev-all' packages
are retained since some packages still include 'psycopg2' in their
general requirements.

Change-Id: I51e8354e99972757253ce259e6c03c91da24398c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-08-26 10:16:06 +01:00
Szymon Datko 28c498150d Select proper flavor_ref_alt for Tempest
Currently if user selects the default instance type for Tempest
tests, some of resize-related tests may fail due to resize attempt
into flavor with smaller disk size. It is because there is just
simple check if flavor_ref and flavor_ref_alt (IDs) aren't the same.
To ensure resize is really possible, there shall be additional
verification introduced.

Co-Authored-By: Michał Madarasz <michal.madarasz@corp.ovh.com>
Change-Id: Iaa1bfa9cb76cbe54be658d2d70d97d99e7fb5be9
2019-08-23 12:57:42 +02:00
Zuul 6926ed8ac5 Merge "Merge (don't overwrite) $NOVA_CPU_CONF" 2019-08-22 18:37:26 +00:00
Matt Riedemann f92c346131 Fix MySQL log collection
The mysql logs weren't being copied to logs and published.

Change-Id: I20740b468e4b310ac07e77f3930cae92026942fb
2019-08-22 12:15:09 -04:00
Eric Fried 2468ceaa72 Merge (don't overwrite) $NOVA_CPU_CONF
Per the referenced bug, $NOVA_CPU_CONF was previously being initialized
by copying $NOVA_CONF, thereby trashing any values already configured in
$NOVA_CPU_CONF.

With this commit, we merge the values from $NOVA_CPU_CONF in after the
copy.

Note that this makes use of the merge_config_file function, which is
defined in inc/meta-config, which wasn't being sourced from every code
path that hit start_nova_compute; so this commit also moves that import
from stack.sh to functions (next to the other imports from inc/, which
makes sense anyway).

Change-Id: Id3e2baa2221e13f512f8dcf1248e1e15b6a7597f
Closes-Bug: #1802143
2019-08-22 13:34:17 +00:00
Zuul 78e94096ce Merge "Set ksa retry conf options for n-cpu [ironic]" 2019-08-22 12:15:04 +00:00
Zuul 7bc5220493 Merge "DVR-Enable ARP Responder when DVR and L2pop is enabled" 2019-08-21 17:34:47 +00:00
Eric Fried e273c0433f Set ksa retry conf options for n-cpu [ironic]
We're trying to get nova to talk to ironic through openstacksdk and need
to be able to specify retry limits/intervals there. We could reuse the
existing conf options, but better to support the standard ones exposed
from keystoneauth1 via [1] and [2].

Note that these will be ignored unless you have keystoneauth1 3.15.0
(for [1]) or 3.16.0 ([1] and [2]) and are building your adapter using
ksa-derived conf options (see the Needed-By).

Needed-By: https://review.opendev.org/642899

[1] https://review.opendev.org/#/c/666287/
[2] https://review.opendev.org/#/c/672930/

Change-Id: I79c416e25d635b0ffa419640b4bd91e36f78b1ab
2019-08-21 08:59:51 +00:00
Harald Jensås f1a794e132 flat_networks - Don't hardcode public network name
Use the PUBLIC_NETWORK_NAME variable instead of hardcoding
it when setting the [ml2_type_flat]/flat_networks option.

Change-Id: I8bfc37089ec90eb06ee41d85744dad0f3f734c16
2019-08-21 10:52:08 +02:00
Ghanshyam Mann d331fa7a2d Set cinder's my_ip based on SERVICE_IP_VERSION value
Devstack's lib/cinder set the my_ip on cinder side but it
hard-code it with HOST_IP[1]. It is no issue for IPv4 env
but when you build or run the IPv6 job then this ip is left
to set with IPv6. my_ip should be set to HOST_IP or HOST_IPV6
based on SERVICE_IP_VERSION value.

As part of Train community goal 'Support IPv6-Only Deployments',
we will expand the 'devstack-tempest-ipv6' job to do IPv6-only
deployments verification so we need fix the the my_ip setting.

Closes-Bug: #1838250

Depends-On: https://review.opendev.org/#/c/677524/

[1]https://github.com/openstack/devstack/blob/6aeaceb0c4ef078d028fb6605cac2a37444097d8/lib/cinder#L231

Change-Id: I71c74e46467a5d3c1bf9c7d683f364cba7cf9d80
2019-08-21 05:42:08 +00:00
Zuul 03f94cc403 Merge "nova: Stop setting '[DEFAULT] use_ipv6'" 2019-08-20 18:37:05 +00:00
Zuul 5406b6f3cc Merge "Permit use of sudo-ldap instead of sudo package" 2019-08-20 10:41:05 +00:00
Jens Harbott 5a30480ce1 Update HACKING doc
Some minor updates.

Change-Id: I0d4e20e394f0fa420e896e0b1a90872ccf909b58
2019-08-16 09:57:59 +00:00
Zuul 3ff4f9ebed Merge "Add the IPv6 IP to the TLS cert" 2019-08-15 11:23:56 +00:00
Brian Haley 005004eded Switch to fedora-29 for fedora-latest nodeset
F28 is EOL as of 5.29.19, so change to use fedora-29
and remove it from stack.sh.

Depends-on: https://review.opendev.org/#/c/662538/
Change-Id: I5ebdb68fcd01a1e63be4b3c0735a274783aad818
2019-08-14 17:10:20 -04:00
Zuul 9d53f615a0 Merge "Use list tables" 2019-08-14 15:59:39 +00:00
Andreas Jaeger d3a2fcf485 Use list tables
Reformat overlong table into a list-table to make it easier to edit.
The change contains no wording changes besides giving titles to the
list-tables.

Fix formatting for setup-devstack-source-dirs so that the variable does
not get displayed with a grey bar at
https://docs.openstack.org/devstack/latest/zuul_roles.html#role-setup-devstack-source-dirs

Change-Id: I7378d46c507b1d86f1d5319655a55f2a8c5a8f60
2019-08-14 14:45:02 +02:00
Zuul ae73b23373 Merge "Update docs building" 2019-08-14 03:11:02 +00:00
Julia Kreger 0fe25e31a8 Add the IPv6 IP to the TLS cert
For some crazy reason, we've forgotten about trying
to use IPv6 addresses directly with the SSL certificates.

So lets add some logic so clients can connect directly
with the v6 IP.

Change-Id: Ie8b8a2d99945f028bebe805b83bfd863b7b72d57
2019-08-12 08:46:56 +02:00
Andreas Jaeger 8dd89e52d0 Update docs building
Switch to "modern" way of building docs using sphinx-build directly,
remove now unsed parts from setup.cfg.

Upgrade to openstackdocstheme 1.20 and remove obsolete variables from
conf.py.

Convert external links to internal RST links so that Sphinx can verify
that they are correct.

Replace redirected links with new targets.

Use opendev.org instead of github.com where appropriate.

Change-Id: Iedcc008b170821aa74acefc02ec6a243a0dc307c
2019-08-11 16:15:34 +02:00
melanie witt 0a3288c1b4 Set console server host/address in nova-cpu.conf for multi-host
Currently, the console server host and listen address on the compute
host is always being set to localhost. This works fine in a single
node all-in-one deployment, but will not work properly when
nova-compute is running on a separate host in a multi-node deployment.

This sets the console server host and listen address on the compute
host to the nova host IP and service listen address instead of the
localhost.

Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>

Closes-Bug: #1669468

Change-Id: Id8b0b4159b98c7ff3c85ec3daa03d556d9897ce9
2019-08-10 08:24:12 +00:00
Adam Spiers 6c7337e80e Make stop/disable of apparmor work on all SLE systems
The existing code to disable apparmor on SUSE systems only worked for
recent openSUSE / SLE releases.  On SLE12 (at least), aa-enabled and
aa-teardown are not available, so instead use systemd's interface for
stop/disable.  However on newer releases, systemctl stop apparmor is a
no-op:

    https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15/#fate-325343
    https://gitlab.com/apparmor/apparmor/merge_requests/81
    https://build.opensuse.org/package/view_file/openSUSE:Leap:15.2/apparmor/apparmor.service?expand=1

So we still need to call aa-teardown if it's available.

Change-Id: I8d99c8d743cc1935324e2e4fcb67efaa5241199e
2019-08-08 12:52:07 +01:00
Zuul c9abbf5709 Merge "Add 'tempest-ipv6-only' job on devstack gate" 2019-08-08 05:24:10 +00: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 1f6bea1768 Merge "Add options to configure cache in nova" 2019-08-02 17:38:42 +00:00
Zuul aae311a1be Merge "Only modify folders created by devstack" 2019-08-02 13:17:49 +00:00
Zuul b9f4a73e5a Merge "Un-quote metadata address if it is IPv6" 2019-08-02 13:17:48 +00:00
Zuul 76a58003c4 Merge "Configure console proxy ports in nova-cpu.conf" 2019-08-02 12:07:35 +00:00
Slawek Kaplonski d33cdd01f8 Add options to configure cache in nova
This patch adds new options:
* CACHE_BACKEND - with default "dogpile.cache.memcached"
* MEMCACHE_SERVERS - with default "localhost:1121"

to add possibility to configure various backends as cache in
Nova and Keystone.
It also adds options:
* KEYSTONE_ENABLE_CACHE - True by default
* NOVA_ENABLE_CACHE - True by default

To make possibility to enable and disable cache in those projects'
config files.

Default values configured there are the same as before were
hardcoded for Keystone config.

Nova has also enabled this cache by default.

Change-Id: I9082be077b59acd3a39910fa64e29147cb5c2dd7
Closes-Bug: #1836642
2019-08-01 18:16:30 +02:00
Ghanshyam Mann 99bcaf5721 Add 'tempest-ipv6-only' job on devstack gate
We recently added the 'tempest-ipv6-only' job on
tempest side which will use the devstack base job
'devstack-ipv6' job and add more verification and testing
for IPv6 deployment.

Let's add that job on devstack gate also to avoid any
break due to devstack changes.

Change-Id: Ib2c85ec262b027351872e2b5a39b06a4ba1b880a
Story: #2005477
Task: #35923
2019-08-01 05:01:38 +00:00
Brian Haley a54919180b Un-quote metadata address if it is IPv6
In lib/neutron-legacy, the Nova metadata host address is
un-quoted if it is IPv6, i.e. 2001:db8::1, not [2001:db8::1].
We should be doing the same in lib/neutron.

Change-Id: I80c96603a41ef9d289712ef15b464859aa9257be
2019-07-31 12:18:39 -04:00
Andreas Jaeger 0fc6b2c5a8 Update api-ref location
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.

Note that redirects will be set up as well but let's point now to the
new location.

For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html

Change-Id: I8a6c3403192d1416cb66cc9e92ec827b339f1270
2019-07-30 17:52:55 +02:00
Zuul 6f9fc85af1 Merge "Remove VNC server listen addresses seeting to IPv4 from base job" 2019-07-30 12:31:36 +00:00
Zuul df70dfaf8a Merge "Make 'devstack-ipv6' job as voting" 2019-07-30 05:16:25 +00:00
Zuul 2542354fb5 Merge "Fix error in configure_nova_hypervisor with hardware Ironic node" 2019-07-29 12:51:58 +00:00
Jan Gutter 97096e0a29 Fix benign epmd@0.0.0.0.socket failure
* The restart loop for rabbitmq-server can trigger socket activation
  of epmd without rabbitmq-server running. This can lead to 'systemctl
  status' reporting 'State: degraded' with no simple way to reset to
  'State: running'.
* It's important to note that this socket activation failure is benign
  and is not an indicator of system failure.

Change-Id: Iede4f5ebeffb59644dee4a17b6331b3cdd04d146
Signed-off-by: Jan Gutter <jan.gutter@netronome.com>
2019-07-27 13:32:43 +02:00
Graham Hayes 352d58a7af Only modify folders created by devstack
running chown and chmod on files and folders not created by
devstack causes a few issues:

* On nfs mounted directories it can take an extremely
  long time to chown -R some of the git repos, especially
  if any tox commands have been ran in the host
* chown can cause the host files to get into a weird state
  if nfs is set up wrong.

If files and folders are pre-existing we should assume
they are in the correct state, and not modify them.

Fix setup-devstack-log-dir to create the logs directory with
correct permissions in the first place.

Change-Id: I5ebdaded3ffd0a5bc70c5e9ab5b18daefb358f58
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-07-26 11:49:29 +01:00
Zuul 6aeaceb0c4 Merge "Remove Swift from default DISABLED_PYTHON3_PACKAGES" 2019-07-26 09:56:46 +00:00
Zuul ffbab01c08 Merge "Add and switch to the newly created opensuse-15 nodeset" 2019-07-26 09:52:04 +00:00
Ghanshyam Mann b0b80d76e1 Remove VNC server listen addresses seeting to IPv4 from base job
'devstack' job set the VNC listen addresses 'VNCSERVER_LISTEN' and
'VNCSERVER_PROXYCLIENT_ADDRESS' IPv4 which makes 'devstack-ipv6' job
to either unset those or set for IPv6 values.

Let's remove the setting of those in base job and let lib/nova
set based on configured ip version from job.

'devstack-ipv6' base job will be used to define the IPv6-only jobs
on Tempest and project side gate.

Change-Id: Iea469128b15298aee61245e702d20603c8d376fb
Story: #2005477
Task: #35923
2019-07-26 08:25:56 +00:00
Zuul c17ad84a00 Merge "Enable vlan networking for newer neutron plugin" 2019-07-26 08:20:32 +00:00
Zuul b36afa110b Merge "Remove RetryFilter from config" 2019-07-25 22:06:30 +00:00
Ghanshyam Mann 420d3df481 Make 'devstack-ipv6' job as voting
'devstack-ipv6' job set the devstack to deploy
the services on IPv6. As part of community goal
'Support IPv6-Only Deployments'[1], this is going
to be the base job for all project specific or tempest
IPv6 jobs. Running this as voting make sure any devstack
setting or changes would not break the IPv6 jobs.

Story: #2005477
Task: #35923

[1] https://storyboard.openstack.org/#!/story/2005477

Change-Id: Id6580e8b29b6b04e34c2c1eca3125fa08920eb1d
2019-07-25 06:48:39 +00:00
OpenStack Proposal Bot 4106e46b2e Updated from generate-devstack-plugins-list
Change-Id: Ie46214ed8a5a5887f04805b9157b76ebf44f9616
2019-07-24 06:12:42 +00:00
Zuul 8072595150 Merge "Remove the usage of read_password from library files" 2019-07-15 12:15:42 +00:00
Dirk Mueller dc01a8ab63 Switch TLS tests to TLSv1.2+ only
This would more likely match a relevant production deployment.

Change-Id: I4ee2ff0c00a8e33fd069a782b32eed5fef62c01b
2019-07-14 22:33:45 +02:00
Matt Riedemann d51baee40d Add NOVA_SHUTDOWN_TIMEOUT variable
This adds a variable to control the [DEFAULT]/shutdown_timeout
config in nova to control whether or not a guest should have
a graceful shutdown of the OS or if it should just stop
immediately (no timeout). Since devstack uses CirrOS images
by default, the default value for the NOVA_SHUTDOWN_TIMEOUT
variable is 0 which should speed up tempest runs. The default
in nova.conf [1] is 60 seconds.

[1] https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.shutdown_timeout

Change-Id: Ida83f70a1c4e61e5248f2bd42b4c24f7ac6d2310
Related-Bug: #1829896
2019-07-12 11:51:17 -04:00
Tim Burke 764ccd07a7 Remove Swift from default DISABLED_PYTHON3_PACKAGES
As of https://review.opendev.org/#/c/653548/ this is no longer
necessary.

Change-Id: Iab43d77c3444fa97f3339f0e5fa4ad24e87e3fd6
2019-07-11 09:47:52 -07:00
Vanou Ishii 705e9cb5dc Fix error in configure_nova_hypervisor with hardware Ironic node
Trying to deploy OpenStack environment consisting of ironic nova
hypervisor & hardware Ironic node (not VM Ironic node) with devstack
got failed.

Devstack error says error occurred while calling configure_libvirt
in configure_nova_hypervisor. This happens because libvirt related
packages are not installed when specifying "VIRT_DRIVER=ironic"
and "IRONIC_IS_HARDWARE=True".

To fix this problem, this commit add "if" statement to check
Ironic node is hardware or not using "is_ironic_hardware" function
in "function-common" file.

Change-Id: I1113478175fadec79d0f8bf6ae842ed86e5e686b
Closes-Bug: #1834985
2019-07-05 01:22:09 +00:00
Zuul 15c64f109e Merge "Add capability of adding additional network API extensions" 2019-07-04 11:46:33 +00:00
Dirk Mueller 70fca49de7 Add and switch to the newly created opensuse-15 nodeset
opensuse-150 nodeset is referring to openSUSE 15.0, which is still in
maintenance but openSUSE 15.1 has been released already. "opensuse-15"
is going to refer to the "latest openSUSE 15.x" build released and
working for OpenStack going forward, so add this nodeset and use
it by default going forward.

Change-Id: Ic3f4d6998a66da5226bc95088d7e3c83dfe737ce
2019-07-03 19:16:03 +02:00
Zuul 5674ce8e37 Merge "Updated from generate-devstack-plugins-list" 2019-07-03 16:38:23 +00:00
Zuul 9ee5347e69 Merge "Enable universe repository on Ubuntu" 2019-07-03 16:38:21 +00:00
Zuul 134064ff8a Merge "nova: Set '[neutron] default_floating_pool' instead" 2019-07-03 14:35:49 +00:00
Jens Harbott 3446481a23 Update docs about python-systemd pkg
The package has been renamed in order to avoid the namespace collision
with systemd, update our doc accordingly.

Change-Id: I1b9a434d9bb6a7d9dc38ef965017ed9f8773d595
Closes-Bug: 1825949
2019-07-03 13:16:04 +00:00
melanie witt d7d902f6b6 Configure console proxy ports in nova-cpu.conf
In change I8934d0b9392f2976347391c8a650ad260f337762, we began
configuring console proxy ports for multiple cells in the nova
controller config files to avoid "Address already in use" errors from
port collisions when running multiple cells on a single host.

This correspondingly configures the console proxy ports in the nova
compute config file based on what cell we're in, according to the
NOVA_CPU_CELL variable.

The base_url config for serial console is also added where the default
was previously used. The url is taken from the config option default in
the nova code: nova/conf/serial_console.py [1].

[1] https://github.com/openstack/nova/blob/8f00b5d/nova/conf/serial_console.py#L54

Change-Id: Id885fc5a769bce8111f1052a1b55d26be817c890
Closes-Bug: #1830417
2019-07-03 10:45:01 +01:00
OpenStack Proposal Bot 45ded1cca0 Updated from generate-devstack-plugins-list
Change-Id: I1b4c9571b8f3dece270865fb336e73aca3a36a76
2019-07-03 06:12:23 +00:00
Carlos Goncalves 8b31dce38b Fix rdo-release install
The URL for rdo-release package is version-less and redirects to latest
stable version. This becomes problematic when stacking older stable
versions as dependencies might not be met or newer and incompatibile
ones might get installed.

Closes-Bug: #1833696

Change-Id: Icb07dcb4c9a3950a3c31a3a8dcb8d0b4c713fdb1
2019-07-01 13:05:51 +02:00
Dirk Mueller 8ab64b3236 Drop signing_dir option from configure_auth_token_middleware
This is no longer being used due to Keystone PKI tokens no longer
being implemented.

In order to not break backward compatibility we create a new function
that is to be used instead and deprecate the old one. Modify the old
function to ignore the 3rd argument and display a deprecation warning.
Adjust callers to no longer create and set that directory, calling the
new function instead.

Change-Id: Id0dec1ba72467cce5cacfcfdb2bc0af2bd3a3610
2019-06-28 16:28:03 +00:00
Zuul 20190ee83a Merge "Use L3RouterPlugin alias" 2019-06-28 09:05:16 +00:00
Zuul 2d7b8cf502 Merge "Add nova-multi-cell job to experimental queue" 2019-06-26 15:44:08 +00:00
Zuul 46f05ea237 Merge "Adjust repo namespace for pbr" 2019-06-26 06:39:48 +00:00
Zuul a928853692 Merge "Update (git|review).openstack.org links to opendev" 2019-06-24 20:23:20 +00:00
Zuul 2490e08bc7 Merge "Change the GIT_BASE default to https://opendev.org" 2019-06-24 20:14:06 +00:00
Zuul f62365ed38 Merge "Fix plugin doc generation for opendev transition" 2019-06-22 01:08:12 +00:00
Ghanshyam Mann 52c2886f7e Add capability of adding additional network API extensions
Currently, devstack has NETWORK_API_EXTENSIONS var to define
the network API extensions. NETWORK_API_EXTENSIONS is defaulted
to 'all' for master and hard coded list of extensions per release.
Zuul jobs of network extensions (for example neutron-fwaas) need
add the some extra extensions in the default list. To do so, they
need to duplicate all the defaults extensions and then add the extra
extensions. Much difficult situation is when defaults extensions list
vary from release to release so they have to keep updating the
NETWORK_API_EXTENSIONS per release.

This commit defines a new var ADDITIONAL_NETWORK_API_EXTENSIONS which
will take extra extensions and append into the default list. This way
Zuul jobs do not need to duplicate the default extensions.

Change-Id: I7270c9b9e047a851970439522c0356c9089a5b74
2019-06-21 17:05:01 +00:00
Matt Riedemann 99e7445fb2 Adjust repo namespace for pbr
This is a follow up for change Ifcfce490edb3d77e4e436e002d35bc909e1a057c
where the GIT_BASE was changed to the opendev URL to avoid redirects.
The pbr namespace in stackrc was old and still getting redirected and
this change fixes that.

Change-Id: Ib444e928fa2ca7650670f97be6927202333a1dd7
2019-06-21 09:38:24 -04:00
Zuul 5e09df086c Merge "Install from bindep.txt in plugins" 2019-06-21 08:04:35 +00:00
Zuul ad8f03da50 Merge "Add setting of placement microversion on tempest conf" 2019-06-21 07:22:51 +00:00
Matt Riedemann 9b6d2f20b4 Update (git|review).openstack.org links to opendev
This updates links going to git.openstack.org and review.openstack.org
to go to their respective opendev locations to avoid redirects.

Change-Id: I78e3bb5303718962f591117f9c0ee11f2314b128
Closes-Bug: #1833256
2019-06-21 14:35:16 +10:00
Mark McClain 371a253285 Change the GIT_BASE default to https://opendev.org
Change-Id: Ifcfce490edb3d77e4e436e002d35bc909e1a057c
2019-06-21 14:33:29 +10:00
Ian Wienand d5634c4723 Fix plugin doc generation for opendev transition
Update the server to opendev and update paths for gitea, along with
any other references.

Switch to a blacklist where we just remove stackforge; this leaves all
the new namespaces like x/ and starlingx/ being checked.

Use a common session for checking for the plugin file which makes it a
*lot* faster.

Remove unsed "plugins" array variable

Regenerate the file

Change-Id: Ie3e615ba352a389da22e129c5c67cf6abd8cfdc8
2019-06-21 14:33:29 +10:00
Sean McGinnis f7302e1af1 Fix configuration doc block formatting
Many of the code blocks in the configuration documentation had extra
leading spaces. This resulted in the blocks being both code block
formatted as well as blockquoted in the output.

This patch removes leading spaces and some minor cleanup to get the
formatted output correct.

Change-Id: Ic4dfb49c547d51e16b673bc88d7b2b1a907e3258
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2019-06-19 11:51:05 -05:00
Kenichi Omichi 5b8656e748 Remove RetryFilter from config
Since Ic0a03e89903bf925638fa26cca3dac7db710dca3 RetryFilter has been
deprecated. So we should not enable the RetryFilter on our tests.

Change-Id: I48c2c4d0714f582af8948dc88b48df1c2c62fcd2
2019-06-18 23:40:15 +00:00
Zuul fc9b41d733 Merge "Add NOVA_NOTIFICATION_FORMAT variable" 2019-06-15 10:03:05 +00:00
Matt Riedemann b57757ae14 Add NOVA_NOTIFICATION_FORMAT variable
Nova change https://review.opendev.org/603079/ changed the
default configuration to send only unversioned notfications rather
than both versioned and unversioned notifications. This could break
unsuspecting downstream projects (like Watcher) whose CI jobs are
not explicitly configuring nova for the types of notifications
they need but are just relying on getting both per the previous
default of the config option.

This adds a variable which defaults to "unversioned" to match the
nova default but allows downstream CI jobs to easily configure
another value.

Needed by https://review.opendev.org/663332/

Change-Id: Ied9d50b07c368d5c2be658c744f340a8d1ee41e0
2019-06-11 13:53:51 -04:00
Julia Kreger 6e5b138466 Enable vlan networking for newer neutron plugin
Ironic's CI makes extensive use of VLAN based networking
and the newer neutron plugin hardcodes the tenant networking
type to vxlan which is naturally problematic. It also lacks the
ability to set the necessary constraints for vlan networking
which are added for vxlan networking.

This patch enables the type of tenant networking to be defined
as vlan, and enables for a physical network vlan range mapping
setting to be configured which is required for a vlan to be
allocated upon network creation.

Change-Id: I55874c1ce82898e9dfb81505d8f3b14abde33579
2019-06-11 08:59:18 +00:00
Matt Riedemann 58abccb89f Add nova-multi-cell job to experimental queue
Nova has had a multi-cell job (nova-multi-cell) since the
Train release but is currently non-voting in the check queue
for nova changes. This change adds the job to the experimental
queue for devstack changes so we can test changes to devstack
and make sure they work for the multi-cell job.

Change-Id: Icf31baf6fd4313aec5ecfb9e8f9cbcef1ff7f61d
2019-06-06 12:15:22 -04:00
Zuul 66175f1ad6 Merge "Use neutron-legacy on subnodes in devstack zuul job" 2019-06-05 09:53:41 +00:00
Ghanshyam Mann fc20705098 Add setting of placement microversion on tempest conf
Tempest not support placement microversion setting so that
test can call APIs with specific placement microversion.

This commit adds the setting of placement API microversion on
Tempest conf.

Change-Id: Ie04aa993ec7a1495740d9267b076a40f4291e25e
2019-06-05 08:24:45 +00:00
Zuul eadd84b718 Merge "Remove n-cells, n-net and n-cauth" 2019-06-05 04:11:57 +00:00
Zuul 5ffdd616e7 Merge "End support for changing cinder periodic_interval" 2019-06-04 22:08:27 +00:00
Zuul 16d11d27f3 Merge "Option "lock_path" from group "DEFAULT" is deprecated" 2019-06-04 09:18:22 +00:00
Zuul 63daca4af5 Merge "Fix Typo on Devstack-with-lbaas-v2.rst" 2019-06-04 07:15:57 +00:00
Alex Monk 5e2d0e0bb5 Permit use of sudo-ldap instead of sudo package
If the sudo-ldap package is providing the sudo command instead of the plain
sudo package, accept that instead of breaking the system and requiring direct
root login intervention to fix things.

Change-Id: I45d7e4617bd59e72b4f0bf2e91750a6830e2a010
2019-06-04 01:23:37 +01:00
shenjiatong 1639594938 remove duplicate entries under title guides in table of contents
right now, there are duplicate titles under contents --> guides
as shown in https://docs.openstack.org/devstack/latest/, although
they will forward to different pages, it is still a little confusing
for users. This change will hide toctree in guides.rst and users could
click links in page to jump to detail page to read more.

Change-Id: I2f3abeca7f56a3aedeabb48630ed2c61635b93cd
2019-06-03 10:58:54 +08:00
Zuul 9ffa41ac39 Merge "Make most platform jobs run with python3" 2019-06-02 15:09:03 +00:00
Slawek Kaplonski 1b15176b05 Use neutron-legacy on subnodes in devstack zuul job
There are still some issues with lib/neutron thus neutron-legacy is used
on controller node in multinode jobs and in single node jobs.
But in "group-vars" in devstack job it was configured to use
lib/neutron which can cause some problems in multinode jobs.

So lets switch to neutron-legacy on subnodes also until lib/neutron
will be ready to use everywhere.

Change-Id: I0d7f9f2baaee2836a719f199939156bd4f53f778
2019-05-31 16:23:57 +02:00
Stephen Finucane a23e4153ef nova: Stop setting '[DEFAULT] use_ipv6'
Change I188fc2cd1b26fe7a71804f7e7d66b111d6f15e30 in nova stopped us
respecting this when generating the network templates injected into
instances on boot. With the removal of nova-network, there is no longer
any other reason to set this.

Change-Id: I925b7c6c23133cd5a835960f4507c979f615d78e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-05-31 15:12:04 +01:00
Stephen Finucane 283e86fbb5 nova: Set '[neutron] default_floating_pool' instead
In change I2ce8ff3d7c33a402b8af50182ec01f512859c388, we duplicated the
'default_floating_pool' option, found in the '[DEFAULT]' group, to the
'[neutron]' group. This allowed us to continue with our deprecation
plans for the former option, which should be retired along with
nova-network.

Update the nova lib module so it'll set the new option, we can safely
assume to be the correct one now that we've removed support for cells v1
and nova-network.

Change-Id: If9a02b640e6c2e1300c7b11b7552ba13c1496d79
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-05-31 15:12:04 +01: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
Lucas Xu f745a0a7aa Fix Typo on Devstack-with-lbaas-v2.rst
Change "creeate" to "create" in thie CLI

Change-Id: Ic9997ad2b852ae25b28c5ad7481fad188b632a50
2019-05-30 20:49:29 +00:00
Zuul 984c3ae33b Merge "Safety check for python version in get_pip_command" 2019-05-21 10:23:18 +00:00
Zuul 45c1aa2f7d Merge "sync-devstack-data: new argument devstack_data_base_dir" 2019-05-20 07:46:21 +00:00
Zuul fdbe849d95 Merge "Deprecate swift3, use s3api in Swift repo" 2019-05-20 07:46:19 +00:00
Tom Barron 4db9d567d1 Safety check for python version in get_pip_command
We know empirically that some legacy gate jobs pass and appear
to be running with python3 but actually pip was invoked with
PYTHON3_VERSION unset so that they are actually ran with python2
packages.

As a followup to this discussion [1], add a safety check in the
get_pip_command function to ensure that a python version has been
set when it is invoked.

[1] https://review.openstack.org/#/c/622415/4/inc/python@283

Change-Id: I3a08406fb7d68282c6b98abb33a625821510046a
2019-05-20 06:01:35 +00:00
Zuul 172f02f1e0 Merge "Configure console proxy ports in nova_cellN.conf" 2019-05-19 13:41:50 +00:00
Swaminathan Vasudevan 9bf7e26541 DVR-Enable ARP Responder when DVR and L2pop is enabled
This patch enables ARP Responder with DVR routers along with
l2pop in devstack.

Related-Bug: #1774459

Change-Id: I82f628c32f6e38c2419b6ffe90d9f9adf96777b1
2019-05-16 19:08:58 +00:00
Zuul ed43ca9856 Merge "Remove pkg/elasticsearch.sh" 2019-05-15 12:26:16 +00:00
Rodolfo Alonso Hernandez 8b8158ed8f "raw_input()" deprecated in Python3
Built-in function "raw_input()" is deprecated in favor of "input()" [1].

[1] https://www.python.org/dev/peps/pep-3111/

Change-Id: I31c4c59373a2ad04987da3daffb3eed50916a6db
Closes-Bug: #1823321
2019-05-14 16:25:48 +00:00
Zuul 46b442ca46 Merge "Add nova-status upgrade check call post-deploy" 2019-05-10 08:40:22 +00:00
Zuul 0cb721b790 Merge "Fix is_neutron_legacy_enabled function" 2019-05-04 22:38:45 +00:00
Zuul 15b098d470 Merge "Remove n-obj from zuul and docs" 2019-05-03 22:12:00 +00:00
Zuul 2b4196f89a Merge "Add region_name to ironic compute configuration" 2019-05-03 22:11:59 +00:00
Kota Tsuyuzaki 070e4ee65e Deprecate swift3, use s3api in Swift repo
swift3 is no longer actively maintained in the upstream.
That has been moved to Swift repository as s3api so we should
use s3api middleware instead. As well as swift3, s3token is
also maintained in Swift upstream.

Change-Id: I4582d81da066ab53e6f11ad1df7af91425f2b0ca
2019-05-01 18:07:58 +00:00
Matt Riedemann 9e3b3bf524 Add nova-status upgrade check call post-deploy
Once nova is setup and n-cpu on the host is reporting
a service record and discovered (the host is mapping in
the API DB), we should run the nova-status upgrade check
to verify the deployment.

Change-Id: I9683bf94233ebacb3057ce159cb3dc53aa55a2f4
Related-Bug: #1790721
2019-04-30 18:28:36 -04:00
ZhongShengping 5fe60c1a34 Option "lock_path" from group "DEFAULT" is deprecated
Option "lock_path" from group "DEFAULT" is deprecated. Use option
"lock_path" from group "oslo_concurrency".

Change-Id: I7c7501a4a351155eeba77bb7cd43c8d6f5ea73bc
2019-04-30 10:13:27 +08:00
Zuul 58de715453 Merge "Explicitly set scheduler_available_filters" 2019-04-29 12:23:17 +00:00
Brian Rosmaita 87daf8abe6 End support for changing cinder periodic_interval
Support for changing the cinder periodic_interval config option
was added way back in havana as a workaround for bug #1180976
by change I20e52e66fcc94b224476cdd14c88bd6981b4e617.  As the fix
for that bug does not require modifying this config value, and
such modification may have unintentional adverse effects, end
the support.

Change-Id: I1ef1fe564123216b19582262726cdb1078b7650e
Partial-bug: #1824837
2019-04-24 09:41:57 -04:00
Matt Riedemann 62e27d3b1c Remove n-obj from zuul and docs
n-obj hasn't been around for many years and devstack
doesn't use it anymore anyway so this just cleans up
some vestigial use of the old service.

Change-Id: I04b2d2dc2b4e49fab90f5ef94f4e087e969aa24b
2019-04-23 13:44:37 -04:00
Artom Lifshitz 4705861dd0 Explicitly set scheduler_available_filters
Tempest's scheduler_available_filters has a special 'all' value that
is understood to mean 'all filters are enabled' by various tempest
tests. However, what it really means is 'the default nova filters are
enabled.' In an effort to help clean that up, this patch explicitly
sets scheduler_available_filters to nova's $FILTERS. Because $FILTERS
is now used in both lib/nova and lib/tempest, it is renamed
$NOVA_FILTERS.

Change-Id: I6ffc1e9989cd61d666f9c1db9c94fbabd7151918
Related-bug: 1628443
2019-04-23 10:15:23 -05:00
Monty Taylor dc9ba8b8ae Add opendev to repo search list
glean is in opendev and is used by nodepool devstack jobs.

Change-Id: I38dfd7cc531b20b26862193be14f4ebb53352efa
2019-04-23 13:02:54 +00:00
Dean Troyer e7f3d91a7d Update repo namespace search list
With the new namespaces we have to look around a bit more to find
repos top copy into the DevStack working directory. Add:

* starlingx/
* x/
* zuul/

Depends-On: https://review.opendev.org/653988
Change-Id: I8a55522a5fee46f415f0c0ce580ded3476133460
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-04-20 09:58:34 -05:00
OpenDev Sysadmins 666f5491b6 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:43:10 +00:00
Erik Olof Gunnar Andersson a13474fd78 Add region_name to ironic compute configuration
We should always pass on a region when talking to
ironic. This will also help detect and test issues
specific to regions.

Change-Id: Iaab3c1bcedc5aaa2106c0758cbb43bade3de2cf5
2019-04-18 21:14:40 -07:00
Slawek Kaplonski a9a51ca638 Fix is_neutron_legacy_enabled function
This function will now first filter out all "neutron-" strings from
DISABLED_SERVICES list before looking for "neutron" string in it.

Change-Id: I5cab6a3be553713e1257599fb72042c6001f2672
Close-Bug: #1824884
2019-04-18 07:54:34 +00:00
Colleen Murphy 10f4409882 Add hack to fix ply installation on opensuse
The python3-ply package is indirectly a dependency of dhcp-client, which
is not exactly an optional package. Pip >=10 refuses to install ply from
global-requirements with this distro package is installed, so our only
option is to remove it manually.

Change-Id: I377fdd4a581eb4b6275584d92cafc0b783fe3b84
2019-04-15 19:03:57 +00:00
OpenStack Proposal Bot 7fbc70e2cb Updated from generate-devstack-plugins-list
Change-Id: I2798fe053669be212c47ee9c579ca4f6262af5a1
2019-04-15 06:24:44 +00:00
Zuul 53ee5230c6 Merge "stack.sh: Clear OpenStack related envvars" 2019-04-12 21:14:28 +00:00
Zuul 1d05008d71 Merge "Updated from generate-devstack-plugins-list" 2019-04-12 17:50:00 +00:00
Zuul 7b04151810 Merge "Add openstacksdk functional job to devstack pipelines" 2019-04-12 17:49:59 +00:00
Monty Taylor 28a6224284 Add openstacksdk functional job to devstack pipelines
openstacksdk gates on the new-style devstack functional base jobs. It
serves as a good test case to make sure the functional base jobs don't
break.

Change-Id: I817639ed30cda8ea51d156872a14bbcf10a4e63d
2019-04-12 12:26:38 +00:00
OpenStack Proposal Bot 70f5d91a61 Updated from generate-devstack-plugins-list
Change-Id: Id100f77027445edf849cc295ecebb31c79601b40
2019-04-12 06:14:57 +00:00
Trinh Nguyen 56af9229a0 Remove pkg/elasticsearch.sh
The pkg/elasticsearch.sh is only used by Panko but Panko has
moved the script to its own repository [1].

[1] https://review.openstack.org/#/c/643262/

Change-Id: I0ce40f4299246b68624abd2072c2abce06f1e70b
Signed-off-by: Trinh Nguyen <dangtrinhnt@gmail.com>
2019-04-12 13:40:52 +09:00
Zuul b5db83f2cc Merge "Update DEVSTACK_SERIES to train" 2019-04-11 08:16:12 +00:00
Akihiro Motoki 1348ac990d stack.sh: Clear OpenStack related envvars
stack.sh usually fails when it is started in a shell session
where OpenStack related environment variables OS_* are set.
Most common failure scenarios are failures in keystone operations.

This commits clears OpenStack related environment variables
at the begining of stack.sh.

Change-Id: I3a924a0586dc9bb28f3bf3e151e100c24015efe5
2019-04-06 11:57:55 +00:00
Clark Boylan cc072fd32f Run devstack CA and cert setup early
Previously apache was configured and restarted before we configured
the CA and certs. In most cases this is fine because those specific
vhosts didn't use tls. However, if you had previously run devstack
and had leftover vhosts and an unconfigured CA or certs devstack would
fail.

This is a small corner case, but its simple to address by moving CA and
cert setup up in stack.sh to before we do anything related to web
servers.

Change-Id: I31dbaf9471088b9faff26c7b790da6f6feebb2d5
2019-04-05 17:34:01 -07:00
Zuul a6e4e42fb3 Merge "Fix double quoting issue when writing localconf" 2019-04-05 12:13:30 +00:00
Zuul b11fa00fe4 Merge "Remove crusty old python 3 package version logic" 2019-04-05 01:01:26 +00:00
Jens Harbott 5fcb4447cf Make most platform jobs run with python3
python2.7 will be EOL soon, let's test on python3 instead.
Exclude CentOS 7, as there is no python3 easily available.

Change-Id: I24d8812c0c37b6d376fd5ae38067513bb62a2804
2019-04-03 12:31:22 +00:00
Zuul 683454f319 Merge "Update docs index page" 2019-04-03 06:39:52 +00:00
melanie witt d5a68a6b70 Configure console proxy ports in nova_cellN.conf
We're able to run multiple cells in devstack by setting the variable
NOVA_NUM_CELLS in the devstack local.conf. Since we run console
proxies per cell, we will start two console proxies if
NOVA_NUM_CELLS=2. However, we've not been configuring the console
proxy ports in the nova_cellN.conf files, so an attempt to start
more than one will result in a port conflict and failure to start
the subsequent console proxy services with error:

  ERROR nova error: [Errno 98] Address already in use

This adds configuration of the console proxy ports based on an offset
while looping across NOVA_NUM_CELLS. The base port values are taken
from the config option defaults in the nova code: nova/conf/vnc.py,
nova/conf/spice.py, and nova/conf/serial_console.py.

Closes-Bug: #1822873

Change-Id: I8934d0b9392f2976347391c8a650ad260f337762
2019-04-03 04:19:30 +00:00
Luigi Toscano 3ffc00940f sync-devstack-data: new argument devstack_data_base_dir
When the role is used by grenade, the data directory is shared among
different devstack executions, and the base directory is different,
for example: /opt/stack/data vs /opt/stack/{old,new}.
The new devstack_data_base_dir parameter allows user to specify
a base directory for the data/ directory which is unrelated
to the devstack directory. The default value is devstack_base_dir,
so the default behavior is unchanged.

Change-Id: Ie69b7b51947cbf1a8b31d2701783de2fb56a2d33
2019-04-02 12:28:31 +02:00
Matt Riedemann e03bcb2c8b Remove crusty old python 3 package version logic
If we are running with python3, just assume that any
package that is not blacklisted is available for py3
and just attempt to install it and let pip sort it out
whether it gets installed from a local or remote package.

Change-Id: Ic05d183e489320f6dfc721575d47e7e4d661f87c
Closes-Bug: #1820892
2019-04-02 10:13:13 +00:00
Zuul 13e260ea2c Merge "Don't install numpy packages" 2019-04-01 14:50:54 +00:00
Zuul 2b51c29121 Merge "Workaround pip10 uninstall of packages" 2019-04-01 14:50:52 +00:00
Jens Harbott 7f0b4f3001 Fix double quoting issue when writing localconf
When [0] introduced quoting all arguments, it broke existing consumers
that already quote their value themselves. Fix this by avoiding to add
additional quotes to the value when it already starts with a double
quote.

[0] https://review.openstack.org/636078

Change-Id: I92146e04731efc6dcc632ae6c3a7c374e783cdba
Closes-Bug: 1822453
2019-04-01 11:43:28 +00:00
Jens Harbott 7224a6b54d Update docs index page
- Switch from proposing Ubuntu 16.04 to 18.04 as the most tested
  platform.
- Make it clearer that creating an additional "stack" user is
  optional when running on a cloud image, as this step often leads
  to errors for new users.
- Fix some minor nits along the way.

Change-Id: I39aef1a230b668b932b1681fcd0deeb423b411f1
2019-04-01 11:16:53 +00:00
Zuul 03f7c4c2cb Merge "Handle pcp-dstat transition" 2019-03-31 06:09:23 +00:00
Zuul 378d0d5808 Merge "Add ISCSI_DEBUG option" 2019-03-31 06:09:21 +00:00
Zuul 358cc122c3 Merge "Add service to tcpdump during run" 2019-03-31 06:03:32 +00:00
Zuul 97a320d18b Merge "Export all journal logs" 2019-03-31 06:03:30 +00:00
Zuul 8ca63acff8 Merge "Fixed support python 2 on Fedora 27" 2019-03-30 00:45:27 +00:00
Zuul b359b960d2 Merge "Have lib/tempest to create shared network" 2019-03-30 00:06:19 +00:00
Ian Wienand 1124a05571 Handle pcp-dstat transition
dstat is Python 2, never going to be updated and effectively
abandonded.  The replacement is pcp-dstat [1] which is mostly
compatible, with a few differences.  As distro start transitioning
(Fedora has), just drop the unsupported args for now.

[1] https://pcp.io/man/man1/pcp-dstat.1.html

Change-Id: Ibec8a37cb18a14656d97e2096c66bc8b21406068
2019-03-29 11:20:19 -07:00
Ian Wienand 8213d7c039 Add ISCSI_DEBUG option
This option adds a systemd override to start the iscsi daemon with
debugging enabled.

Change-Id: Ie27991776aa07a695026036e47513221220332a0
2019-03-29 11:20:19 -07:00
Ian Wienand 2bbc9bbbb8 Add service to tcpdump during run
This adds a service to run a tcpdump during the run.  This can be
useful to capture various network traffic for post analysis.

There didn't seem to quite be an appropriate place to document it, so
a new debugging file is started, with some terse explaination of our
various system-wide debugging services.

Change-Id: I09aaa57611c5047d09a9bce7932d34e9d50b30e6
2019-03-29 11:20:19 -07:00
Ian Wienand 59ce1d902e Export all journal logs
Currently we only export the devstack@ services, and then separately
export the kernel & sudo logs to syslog.txt.

This leaves a lot of logs potentially behind in the journal for
various daemons.  Just export the whole lot.

Using this output is currently very opaque and makes use of systemd
export tools that are very un-discoverable.  Add a README that will
appear alongside the journal explaining how to actually use it.  This
is a template as it would be nice to put into things like the list of
services that are in the journal, or maybe other magic.

Also make sure we export the logs since the start timestamp; currently
during a full run we drop the initial logs.

Change-Id: Id2626f9113d82c6d524039acda8a8ec74afb2081
2019-03-29 11:20:19 -07:00
Ian Wienand e769348882 Quote devstack_localrc arguments
If you have

 devstack_localrc:
   ARGUMENT: "argument with spaces"

The quotes get lost during YAML processing and the resulting file has

  ARGUMENT=argument with spaces

which is a shell error.

Quote all arguments to avoid this sort of thing.

Change-Id: Ia63a53d745dfea7262bcdb5d46425f431c3ccfe5
2019-03-29 11:20:14 -07:00
ghanshyam 315bc13595 Update DEVSTACK_SERIES to train
stable/stein branch has been created now and
current master is for train.

Change-Id: I119f0388891db44c9753e49cedfeb32c74f2a40d
2019-03-26 18:47:06 +00:00
Zuul 8bdbf85096 Merge "Set ownership of /etc/pki/<console> files for TLS" 2019-03-26 08:07:26 +00:00
melanie witt e2853bf2d0 Set ownership of /etc/pki/<console> files for TLS
OpenSSL 1.0.2 generates key files with default permissions: 644 and the
files are copied to the /etc/pki/* directories with sudo.

When the default CI node Ubuntu version was changed from Xenial =>
Bionic we changed from OpenSSL 1.0.2 => 1.1.0. And OpenSSL 1.1.0
generates key files with default permissions: 600. When we copy the key
file to /etc/pki/* using sudo, it becomes owned by root and then the
console-related users are unable to read it.

This sets the ownership of the /etc/pki/<console> files to the
user:group intended to read them.

Closes-Bug: #1819794

Change-Id: I437a46c875cf633272e8cad0811e5557f2ac3641
2019-03-25 03:42:18 +00:00
Lenny Verkhovsky a30dd1cc96 Fixed support python 2 on Fedora 27
I7d16194d6ba1391ca31251d5b50cbb8de033fc38 added wrong behavour
on Fedora > 26 and Centos 7 when python3 disabled
pip should install packages in /usr/bin

Closes-Bug: #1820070
Change-Id: I3a8efbc8eb6e311db9c7347577c5d2047ba523a9
2019-03-24 11:46:45 +02:00
Zuul 18d1dc99b7 Merge "zuul: new variable to easily populate TEMPEST_PLUGINS" 2019-03-22 13:04:58 +00:00
Zuul d52b2f5043 Merge "Ease python 3 classifier check in check_python3_support_for_package_local" 2019-03-22 05:22:30 +00:00
Zuul 0d7df32cb4 Merge "Fix installing tempest plugins" 2019-03-21 21:38:17 +00:00
Brian Haley 245445b1bd Use L3RouterPlugin alias
The 'router' alias for the L3RouterPlugin has been in
setup.cfg for a while, let's use it.

Change-Id: Ifa196bd33959f1425df9a34cdab4acf4c3b8071b
2019-03-21 11:40:17 -04:00
Matt Riedemann ddb6179b04 Ease python 3 classifier check in check_python3_support_for_package_local
This makes the grep match in check_python3_support_for_package_local
the same as check_python3_support_for_package_remote.

Change I0349de2026c49279ba7f262d5e86d37018d66326 in grenade started
setting the PYTHON3_VERSION variable, and then we recently started
using bionic nodes everywhere which means we're running python 3.6.

The etcd3gw package has a python 3 and 3.5 classifier, but not 3.6:

https://pypi.org/project/etcd3gw/

The pip_install function code that is dealing with installing py3
packages is hitting a problem installing etcd3gw if the package is
local because of the more restrictive grep in the
check_python3_support_for_package_local function, and since
PYTHON3_VERSION=3.6 now, we don't install from py3 and install
etcd3gw on python 2.7 which makes services like cinder-volume and
cinder-backup, which use etcd3gw, fail when they are running under
python 3 (they get module import errors).

This simply removes the $ restriction on the grep. Looking at the
change that added those local/remote functions:

  I243ea4b76f0d5ef57a03b5b0798a05468ee6de9b

There is no explanation for the difference, it just said:

  Also, since not many packages are classified correctly, fallback
  to looking for just "Programming Language :: Python :: 3" and
  log a message for the package to highlight the problem.

So that's what this change does.

Note that alternatives would be:

1. Update the etcd3gw package to add the 3.6 classifier and do
   a release (this should probably happen anyway).

2. Add etcd3gw to ENABLED_PYTHON3_PACKAGES but that would be a
   short-term hack workaround.

Change-Id: Icd3768870ba0f1659bb2e6f002043d975047b73e
Closes-Bug: #1820892
2019-03-19 15:04:12 -04:00
Zuul 2ba01316f3 Merge "Remove admin_domain_scope tempest setting" 2019-03-18 19:20:04 +00:00
Zuul d5a3a3e23f Merge "Use trueorfalse for NEUTRON_DEPLOY_MOD_WSGI" 2019-03-17 14:52:46 +00:00
Zuul 6d9f3716aa Merge "Update etcd version to 3.3.12" 2019-03-17 14:52:45 +00:00
Zuul 32cbddc49d Merge "Bump noVNC to 1.0.0" 2019-03-17 14:52:44 +00:00
Vlad Gridin bcd8a50cc6 Fix installing tempest plugins
When running stack.sh locally on stable branches
with tempest enabled and TEMPEST_PLUGINS set,
devstack will try to fetch master branch of requirements
and that fails if branch is not tracked.

Change-Id: Ia1ae6869a8fede2af5cd7c875e0946b6a75eb518
Closes-Bug: #1820051
2019-03-14 14:46:31 +01:00
whoami-rajat f28c75f87a Cinder: create target directory for targetcli-fb package
While installing 'targetcli-fb' on bionic, a dependent package
'python-rtslib-fb' requires (but doesn't create) /etc/target
and fails[1] when this directory not found.
This patch creates the required directory.

[1] http://logs.openstack.org/26/641926/1/check/cinder-tempest-dsvm-lvm-lio-barbican/8f95df1/logs/devstacklog.txt.gz#_2019-03-13_03_36_44_623

Related-bug: #1819819
Change-Id: I7efefead873037da4aaacbdc6284458bdaad0f6b
2019-03-14 10:20:37 +00:00
whoami-rajat deadc7c439 Fix : sort variables fetched from env list
In bionic, when exporting env variables, the env list displays
variables in unsorted format.
While fetching we are getting 'https_proxy' before 'http_proxy'
which is failing in comparison to our expected values[1].
This patch sorts the variables fetched from env.

[1] http://logs.openstack.org/30/643130/3/check/devstack-unit-tests/effbf7a/job-output.txt.gz#_2019-03-13_23_12_35_465026

Change-Id: Ie504eabf0d3fec1b97bc711e2702c06bcf75d158
2019-03-14 11:06:15 +05:30
Zuul 357afa9715 Merge "Revert "Revert "remove external_network_bridge option""" 2019-03-13 21:00:11 +00:00
Zuul e86a6aa924 Merge "Replace deprecated brctl with ip commands" 2019-03-12 22:22:05 +00:00
Zuul 50c6378eef Merge "support python 3 on centos 7" 2019-03-12 21:35:43 +00:00
Zuul b303e2bd3d Merge "Remove git:// openstack references" 2019-03-12 21:35:37 +00:00
Zuul 5ad2f21233 Merge "Switch GIT_BASE to https://" 2019-03-12 21:35:30 +00:00
Luigi Toscano 70d043dd60 zuul: new variable to easily populate TEMPEST_PLUGINS
TEMPEST_PLUGINS contains the list of the tempest plugins installed
alongside tempest by lib/tempest.
If TEMPEST_PLUGINS is not explicitly set, the new tempest_plugins
variable is used to fill it by combining its items with
the base devstack path.

Change-Id: I9f1fa2755e16871ff9d6ba33fdeaf3023eedf8d4
2019-03-12 22:25:44 +01:00
Zuul ca0f292016 Merge "Capture the content of 'audit.log' file" 2019-03-12 20:51:16 +00:00
Zuul 50e12947f8 Merge "zuul job: write the enable_plugin lines last" 2019-03-12 18:45:21 +00:00
Zuul 8109ce1555 Merge "Use master upper-constraints when installing tempest plugins" 2019-03-12 16:15:56 +00:00
Luigi Toscano 610927f425 zuul job: write the enable_plugin lines last
Plugins must be the last items in the local.conf file
otherwise the configuration set in the rest of the file
is not applied to them (for example a different value of DEST.)

Change-Id: Ia001badca179c3f3436d5ecd26b0755a3f3a3078
2019-03-12 12:29:40 +01:00
Zuul 10e31b481d Merge "Cinder: install targetcli-fb for Bionic" 2019-03-11 07:09:24 +00:00
Hongbin Lu 676957ffcf Update etcd version to 3.3.12
The default version is 3.2.17 which seems to be too old.
Some external tools are not compatible with this old version.
For example, kubeadm cannot support external etcd version that is
older than 3.2.18.

This commit update the etcd version to 3.3.12 wich is the current
latest version.

Change-Id: Icfabbe580bb83a3babb98cc9fdbfb8eb388dc108
2019-03-10 15:00:04 +00:00
Kashyap Chamarthy 4eb455aa28 Capture the content of 'audit.log' file
On CentOS/ Fedora machines, this can be useful when QEMU silently fails
to start up due to SELinux denials.  For Debian-based machines, which
use AppAromor, DevStack already captures the output of 'kern.log' (via
`journalctl -t kernel` redirected into 'syslog.txt.gz').

Change-Id: I231b22664f0944b905e00568759785615a1d47c3
Acked-by: Clark Bolyan <clark.boylan@gmail.com>
Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
2019-03-08 13:49:25 +01:00
Zuul 16eea25b26 Merge "Add 3 nodes nodeset based on Ubuntu bionic" 2019-03-07 12:22:38 +00:00
Eric Harney 363acd9d3d Cinder: install targetcli-fb for Bionic
The "targetcli" package no longer exists
in Bionic and has been superseded by
"targetcli-fb".

Change-Id: I99e4e8ad8fbb6e7c86571af8b0c222dafacf6447
2019-03-04 17:50:47 -05:00
Ian Wienand 6509fd334e Remove git:// openstack references
This updates various parts of documentation to use https, rather than
git, which is not implemented by gitea

Change-Id: I8d2a93128dcdaba0a00b43d18652781733f90cf0
Story: #2004627
Task: #29701
2019-03-04 17:26:20 +11:00
Ian Wienand 8b003e0ed2 Switch GIT_BASE to https://
Infra are looking at implementing gitea for serving git, but this does
not have a git protocol handler ATM.  Switch GIT_BASE, and some
testing, to https:// to be in a better position to handle this.

Change-Id: I97a7b0de7b1ec2dd15d15c58699a631b09273df1
Story: #2004627
Task: #29701
2019-03-04 16:50:42 +11:00
OpenStack Proposal Bot 5488336545 Updated from generate-devstack-plugins-list
Change-Id: I3a9cbc9186b7555227f0ddef3da134e98b6cfc15
2019-03-02 06:14:21 +00:00
Nate Johnston 56946cfc5f Replace deprecated brctl with ip commands
The bridge-utils package has been deprecated for some time now [1] and
'brctl' does not exist on some more recent distros like Fedora 28.
Replace references to brctl with the proper ip commands.

Calls to "brctl show" are not being replaced with calls to "bridge link"
because the output format is very different and in testing some bridges
were not listed.  So the simpler method of consulting /sys/class/net is
used.

In worlddump.py we try running both because failures are handled
gracefully by _dump_cmd(), as well as "ip link show type bridge" for
additional info.

[1] https://lwn.net/Articles/703776/ for example

Change-Id: Ie4c8ad6ce4a09c38023c9e4ec7834c249403145f
Partial-Bug: #1801919
2019-03-01 14:36:38 -05:00
Matt Riedemann 36773b262e Document the wonders of scale testing nova with the fake driver
Devstack has some little known variables for running nova
with the fake compute driver and running several nova-compute
services on a single host, which can be useful for testing
move operations and scale testing of controller services like
nova-api and nova-scheduler.

This adds documentation about the fake virt driver and related
variables and scaling considerations when using them.

Change-Id: Ic89d463d0f3f180b323edd6e2c8ff0404638ef07
2019-02-28 17:32:28 -05:00
Sean Mooney c759706686 support python 3 on centos 7
when installing with python 3.6 on centos7 pip installs
packages to /usr/local/bin as it does on new versions
of fedora.

this change updates the check to include centos

Change-Id: I7d16194d6ba1391ca31251d5b50cbb8de033fc38
2019-02-28 11:24:05 +00:00
Stephen Finucane 8c5486993d Bump noVNC to 1.0.0
This introduces a breaking change in the URLs used to access the console
[1]. This is updated in both the documentation and linked nova change.

[1] https://github.com/novnc/noVNC/commit/83391ffc

Change-Id: I14a0be0034f4a76ab37eb90325967500c3bf1ff9
Depends-On: I9a50a111ff4911f4364a1b24d646095c72af3d2c
Related-bug: #1682020
2019-02-28 10:20:39 +00:00
Lance Bragstad 30d48ff887 Remove admin_domain_scope tempest setting
Keystone is currently working through a bunch of changes to add proper
system, domain, and project scope support for its API. This includes
implementing ``admin``, ``member``, and ``reader`` roles for system,
domain, and project assignments. More informaiton on those specific
changes can be found here:

  https://review.openstack.org/#/q/(status:open+OR+status:closed)+project:openstack/keystone+branch:master+topic:implement-default-roles

One thing that was uncovered in implementing that support for the
project API was that setting tempest
``CONF.identity.admin_domain_scope = True`` meant domain admins of one
domain would be able to list projects in other domains, highlighted in
the following patch:

  https://review.openstack.org/#/c/624218/2

This commit doesn't set this option and assumes the proper
domain-scoping behavior being built into keystone natively.

Change-Id: I12a57cc43de0b17eababa19b7b94de5277689f82
Related-Bug: 1750660
2019-02-27 19:53:58 +00:00
Hongbin Lu 55f172961a Revert "Revert "remove external_network_bridge option""
This reverts commit e3e9ea2996.

Change-Id: I23e1b98bd2839b79226b55700ee404a8fda83f83
2019-02-27 14:57:22 +00:00
ghanshyam 0d83e09464 Use master upper-constraints when installing tempest plugins
when tempst venv is build, it use the master upper_contraint[1]
but when we install tempest plugin, it use branch upper_contraint.

This leads to mismatch the dependency version between tempest and required
tempest plugins setup.

Current flow after this change is:

1. install tempest form master (until you explicitly change TEMPEST_BRANCH
   which is default to master in all stable branch). It applies the upper_constraint
   from the stable branch but that will be overridden in step2
2. configure tempest, here the created venv will install all dependency with
   master's upper_constraint.
3. install tempest plugins in same venv created above. Now tempest plugin
   will also use the master upper_constraint.

With this tempest venv which has all enabled plugin will be contsraint with
master.

[1] https://github.com/openstack-dev/devstack/blob/72f632222f6d90d3545b5d7ca48297da4218e2ea/lib/tempest#L590

Change-Id: I89314e8391e8f26c622fc090cbe27997b3cf049a
Closes-Bug: #1816022
2019-02-27 11:10:05 +00:00
Slawek Kaplonski cf7fc9c757 Add 3 nodes nodeset based on Ubuntu bionic
It is needed for example in neutron-tempest-dvr-ha-multinode-full
job.

Change-Id: I1b9dbb256e338d7018adb8b2ee97999ebd8eda44
Related-Bug: #1804844
2019-02-25 10:48:46 +01:00
Luigi Toscano 29771c1c1e Remove the usage of read_password from library files
The read_password function is defined inside stack.sh
and it cannot be used inside the "public library interface"
provided by DevStack.

Move the calls found inside library files to stack.sh,
following the same pattern of the other calls to read_password.

Change-Id: I8adc6723b677dfac2bef735f660e056c498bf773
2019-02-21 10:37:45 +01:00
Ian Wienand 543aed422f Don't install numpy packages
numpy is a python requirement of the websockify package (it appears
there was some disucssion over *removing* this in [1], but did not
happen).  Possibly these packages were installed a long time ago
before wheel support as it was taking a long time to build.  But we
have wheels today, and later versions than the distro provides are
being dragged in anyway.  Remove all distro installs.

[1] https://github.com/novnc/websockify/pull/163

Change-Id: I322dd9e1a07d8ce03c26cf3fcccebd6e21282fe4
2019-02-20 14:28:58 +00:00
Ian Wienand f0dc93dcb4 Workaround pip10 uninstall of packages
As noted in comments, this is a hack to get pip10 to overwrite some
package installed libraries.

Change-Id: Iea24a3ea915e13f7e0882144028ec5ff5bfdfae1
2019-02-20 14:27:47 +00:00
Ian Wienand 72f632222f Update cirros256 flavor to have some disk
It seems nova has changed defaults on who can create zero-sized disk
instances [1] and now some devstack jobs, like nodepool's, can't
create cirros images using this flavor.  It seems the easiest thing to
do is just to bump it up.

[1] https://review.openstack.org/#/c/603910/

Change-Id: I1172d4775d608568ccbeb27e2975d83add892ea9
2019-02-19 14:06:18 +11:00
Zuul f9f11148cf Merge "Fix distro detection for SUSE Linux Enterprise" 2019-02-18 00:44:44 +00:00
Zuul 53787554d8 Merge "Add placement as default project in index webpage" 2019-02-17 17:42:13 +00:00
Zuul a6c3f5886a Merge "On SUSE-based systems, check whether we have mariadb or mysql service" 2019-02-14 11:23:28 +00:00
Zuul 59206372ee Merge "Change config-file to config-dir for g-api start" 2019-02-14 11:23:25 +00:00
Zuul 2a9900d8f2 Merge "Glance should not reference Cinder v1" 2019-02-14 11:23:23 +00:00
Zuul 51e1e08960 Merge "Stop creating the cinderv1 endpoint" 2019-02-14 11:23:21 +00:00
Nguyen Hai e729976c82 Add placement as default project in index webpage
Change-Id: I101ade5368fbdf108906e89e1c3ba03a46cd6f35
2019-02-14 05:52:07 +00:00
Zuul c8df15484d Merge "Set ETCD_USE_RAMDISK=True by default" 2019-02-11 05:37:48 +00:00
Attila Fazekas bfd2a54c13 Stop creating the cinderv1 endpoint
The cinder v1 api is disabled by default,
the catalog entry is confusing.

Change-Id: Ifea283d8aff9f7a70b68d601c5225c3d4fe250e6
2019-02-08 14:53:37 -05:00
Brian Rosmaita b43810a366 Glance should not reference Cinder v1
Cinder v1 was removed over a year ago.  Change the cinder template
URLs devstack defines in the glance-api.conf to use cinder v3
instead.

Change-Id: I4a68dc0b53631be0708e7411c37619dd6dfd4fa6
2019-02-07 16:46:49 -05:00
Zuul f3302dcee3 Merge "Add options for development bindep install" 2019-02-06 16:34:57 +00:00
Zuul f1275599ad Merge "Remove hard-coded VOLUME_BACKING_FILE_SIZE from multinode docs" 2019-02-06 00:42:47 +00:00
Zuul 12aaa23440 Merge "Fix installation of mkisofs on SUSE Linux Enterprise 12" 2019-02-06 00:42:43 +00:00
Matt Riedemann 4a3cc1ce34 Remove hard-coded VOLUME_BACKING_FILE_SIZE from multinode docs
The default for VOLUME_BACKING_FILE_SIZE changes over time
and the docs referencing it are clearly not keeping pace so
rather than hard-code a default in the docs just remove it
since the doc already mentions the variable used to set that
size.

Change-Id: I4242584d13250872250689863d1b70c68594eefe
2019-02-05 22:36:47 +00:00
Matt Riedemann 1516e720ce Set ETCD_USE_RAMDISK=True by default
Cinder and etcd are enabled by default and by default
cinder uses etcd as a distributed lock manager with
tooz as an intermediary. We see a lot of ToozConnectionErrors [1]
in the cinder logs when etcd is backed up [2] which results in
cinder operations timing out causing test failures, like
when a volume is not deleted within a given time.

This changes ETCD_USE_RAMDISK=True by default to try and
alleviate some of the pressure. An alternative is if we know
we're in a single-node job we could just not use a DLM for
Cinder.

[1] http://status.openstack.org/elastic-recheck/#1810526
[2] etcd[26824]: sync duration of 12.076762123s, expected less than 1s

Change-Id: I5f82aa40e9d84114e7b7b5cf19ec4942d6552490
Partial-Bug: #1810526
2019-02-05 11:21:39 -05:00
Zuul 12467ec408 Merge "Change "Options pimp your stack" heading in multinode docs" 2019-02-05 13:51:40 +00:00
Zuul f7be08f788 Merge "Always start iscsid for nova-compute" 2019-02-05 10:47:37 +00:00
Matt Riedemann ec8285271e Change "Options pimp your stack" heading in multinode docs
Uses a less offensive and arguably better understood section
header in the multinode docs.

Change-Id: Ie6fd58e9abd5c1ce88d88ac55419807790f61851
Closes-Bug: #1810317
2019-01-30 20:48:18 -05: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
Sean Mooney ee4b6a0128 set owner and group to no for fetch-devstack-log-dir
As the user on the node under test may not exist on
the zuul executor node we do not copy the log owner
or group to avoid the rsync task failing when it
tries to chown the files.

Change-Id: I500cf3692a4d27b0c2a0a4f5586580d180a8778e
2019-01-29 18:21:44 +00:00
Zuul 7a52311d80 Merge "Add option to place etcd data dir on RAM disk" 2019-01-29 03:49:08 +00:00
Brian Rosmaita 96269d8e75 Change config-file to config-dir for g-api start
The glance-api service may use multiple config files, so
tell oslo.config about the config dir instead of a specific
config file when the service is started.

Change-Id: Iad3602d209cbb31e10683c67e1fd6b465d19f560
Partial-bug: #1805765
2019-01-28 09:19:45 -05:00
Adam Spiers bbb6b0c240 Fix version comparison for SUSE Linux Enterprise 12
The version comparison introduced in
I5152f2585c3d4d18853988d6290039d6b1713b99 was broken, because it tried
to use bash's -lt operator for floating point comparison, but bash
only supports integer arithmetic.

So instead use devstack's vercmp() function.

Change-Id: I8aac71c5bb6c2e82479d62831ea0672ba6a9a534
2019-01-25 01:05:58 +00:00
Adam Spiers bc2a88d1f4 On SUSE-based systems, check whether we have mariadb or mysql service
Older mariadb packages on SLES 12 provided mysql.service.  The newer
ones on SLES 12 and 15 use mariadb.service; they also provide a
mysql.service symlink for backwards-compatibility, but let's not rely
on that.

Change-Id: Ife6bd007ba30af0b77d44832b19d518034bdb12b
2019-01-25 00:57:41 +00:00
Adam Spiers d6bbeabb5c Fix installation of mkisofs on SUSE Linux Enterprise 12
It's provided by the cdrkit-cdrtools-compat package.

Change-Id: I4b57e03391d47bed777016ab1d735b8ba4aa5ceb
2019-01-25 00:53:18 +00:00
Michael Johnson 8b9864d7bf Update the devstack LBaaS guide for Octavia
The existing devstack guide for load balancing is out of date.
This patch updates the guide to reflect the current way to install
devstack with the Octavia plugin(s).

Change-Id: Id48b70b50e44ec7b965d969b2d93f77543d7364c
2019-01-24 10:51:17 -08:00
Michał Dulko 6757a9c5de Add option to place etcd data dir on RAM disk
Seems like for etcd-heavy services like Kubernetes, the fsync
performance of gate VM's are too low [1]. This commit implements an
option to put etcd data directory on RAM disk (tmpfs) to work this
around.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-January/001849.html

Change-Id: I5a17099cb9d6941b1a009dc82daefd2c7946d892
2019-01-24 13:43:47 +01:00
Zuul a5176e6f92 Merge "Configure nova's use of placement more correctly" 2019-01-24 01:54:52 +00:00
Luigi Toscano 29ab9b8e30 Always start iscsid for nova-compute
Recently iscsid was disabled by default on Ubuntu 18.04 (bionic),
and it may be on Xenial too, see:

https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1755858

On a local Bionic deployment with Python 3, the lack of iscsid makes
nova-compute fail with an exception when trying to attach a volume:

Invalid input received: Connector doesn't have required information: initiator

Asking for the service to be started even if it is already running should not
hurt, so remove the check for the distribution.

This does not seem to be an issue on CentOS 7 (but Python 2) where
the socket activation of iscsid seems to work, so maybe there is
another way to make this working. Also, the service could be
enabled, not just started.

Change-Id: Ifa995dcf8eb930e959f54e96af6f5fce3eac28ae
2019-01-22 16:23:42 +01:00
Zuul 7adc401bba Merge "Restrict database access to nova-compute in singleconductor mode" 2019-01-21 16:50:07 +00:00
Zuul 62c832b090 Merge "Update default cirros version" 2019-01-20 15:20:35 +00:00
Matt Riedemann 8253787137 Restrict database access to nova-compute in singleconductor mode
Change I4820abe57a023050dd8d067c77e26028801ff288 removed access
to the database for the nova-compute process but only in
superconductor mode. Grenade runs in singleconductor mode though
so we are getting tracebacks in nova-compute logs during grenade
runs because nova-compute is running with nova.conf which is
configured with access to the nova API database.

This change handles removing database access for nova-compute
generically to cover both the singleconductor and superconductor
cases.

Change-Id: I81301eeecc7669a169deeb1e2c5d298a595aab94
Closes-Bug: #1812398
2019-01-18 10:42:13 -05:00
Zuul 85e6aaf541 Merge "Fix an issue in iniset function" 2019-01-17 04:35:27 +00:00
Zuul cc391e49d9 Merge "setup-devstack-source-dirs: also copy github libraries" 2019-01-16 10:35:23 +00:00
Zuul a5aa242dc0 Merge "Set non-0 disk sizes for tempest flavors" 2019-01-16 01:42:15 +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
Zuul 69af5757da Merge "Rename ironic job name to match zuulv3" 2019-01-14 23:48:53 +00:00
Chris Dent 16a10d7435 Configure nova's use of placement more correctly
This change addresses a few inconsistencies in how nova processes
are configured to speak to the placement service.

The initial inspiration was that region_name was not being set in the
[placement] section, despite $REGION_NAME being used when setting
the endpoint in the catalog. That's fixed.

While fixing that two other issues became clear:

* Configuring nova process to use placement should happen in lib/nova
  not lib/placement so the function has been moved.
* auth_strategy is not relevant in the [placement] section of a
  nova process

The name of the function is maintained, in case there are plugins which
call it, but a comment is added to indicate that other services besides
nova compute (such as the cell conductor) may use the function.

Change-Id: I4a46b6460596e9a445bd90de2d52dbb71fb963df
2019-01-14 17:16:01 +00: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
Yi Wang 698796f1ae Fix an issue in iniset function
Given the file to be configured, if user "stack" even doesn't have
read access, the result of configuration is not expected. iniset with
"-sudo" option will always create the section and the option which we
want to configure for each calling, no matter whether this section and
this option exist in the file or not. The root cause is the calling of
grep and ini_has_option in iniset don't use the "sudo" option.

Change-Id: I9d21322046b7be411c4c7c28fefc24894fa2e131
Signed-off-by: Yi Wang <yi.c.wang@intel.com>
2019-01-12 08:53:26 +08:00
OpenStack Proposal Bot 772ade5368 Updated from generate-devstack-plugins-list
Change-Id: I3b4c7e73b0f84f0604fa5e06e612a5bd775d7b02
2019-01-11 06:04:41 +00:00
Zuul a03b28df39 Merge "Ignore local.conf in root of repo" 2019-01-10 23:43:48 +00:00
Zuul 113e9ad8dd Merge "Allow plugin names to contain non-letter characters" 2019-01-10 16:26:41 +00:00
Zuul 88f8c7f02d Merge "Correcting typo in plugins section" 2019-01-10 12:54:41 +00:00
Zuul 6e1d1217f4 Merge "Fix testing for the write-devstack-local-conf role" 2019-01-09 19:40:47 +00:00
Zuul 011b2a51ae Merge "install under python3 by default when enabled" 2019-01-09 19:31:36 +00:00
Iury Gregory Melo Ferreira bab27cbff1 Rename ironic job name to match zuulv3
Depends-On: https://review.openstack.org/#/c/629173/
Change-Id: Ifa8d075729c6347ecda41c79e4de09c71483b4c6
2019-01-09 15:57:23 +01:00
Doug Hellmann 36377f63e3 install under python3 by default when enabled
Remove the requirement that services explicitly enable python3 support
in order to be tested under python3 when running with python3
enabled. Keep the enable_python3_package() function for backwards
compatibility, for now, since it is called in some devstack plugins.

Explicitly add swift to the set of packages that should not be installed
using python3 by default until full support is available.

Change-Id: I8ab0a7c242bbf5bf3f091f5a85a98e2f4543f856
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-01-09 09:05:36 -05:00
Jens Harbott 0b855007f8 Allow plugin names to contain non-letter characters
There are already devstack plugins that contain a hyphen in the name,
like `networking-baremetal`. In order to allow ordering for these to
work properly, amend the regexes we are using to match any
non-whitespace characters instead of only alphanumerics.

Amend the test to cover this use case.

Change-Id: I91093a424f8d5e8007f140083e1ea36a81fe849f
Closes-Bug: 1809016
2019-01-09 14:02:13 +00:00
Jens Harbott 6d103a7ff8 Fix testing for the write-devstack-local-conf role
The test_plugin_deps function in the test code for the
write-devstack-local-conf role was missing the import part of actually
executing the code under test and asserting the expected result.

Change-Id: I125870b13d2581cdec0dede11157b19b702565cd
2019-01-09 14:01:56 +00: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
Zuul a88a22969c Merge "typo fixed" 2019-01-06 13:38:06 +00:00
Zuul 8904a4aa38 Merge "Update supported Fedora releases" 2019-01-06 13:38:05 +00:00
Zuul 2810e95f9e Merge "Cleanup LDAP integration guide" 2019-01-05 17:31:13 +00:00
Lee Yarwood 77866259e4 Update supported Fedora releases
Fedora 27 has now hit EOL [1] while Fedora 29 has been released [2].

[1] https://fedoramagazine.org/fedora-27-end-of-life/
[2] https://fedoramagazine.org/announcing-fedora-29/

Change-Id: I12e287e36f01581f1c7145545ab05be527ed15c6
2019-01-04 20:53:44 +00:00
Lee Yarwood 5d7d891380 Drop the deprecated and now removed barrier XFS mount options
Both barrier and nobarrier were deprecated with the 4.10 kernel [1] and
then removed [2] with the 4.19 kernel as now used by Fedora >= 28. Both
should be safe to drop at this point.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4cf4573
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1c02d50

Change-Id: I6871a7765e3e04122d8d546f43d36bb8415383fc
2019-01-04 20:53:29 +00:00
Lance Bragstad 8e802da406 Cleanup LDAP integration guide
This commit fixes a grammar issue in the LDAP integration guide
and it adds prompts to the command-line examples to be more
explicit about where or how commands are being run.

Change-Id: Ic6a5adfbcf2841656929e6c3875889a31d314089
2019-01-04 17:37:09 +00:00
Zuul 9689083d74 Merge "Log debug on etcd if $ENABLE_DEBUG_LOG_LEVEL is on" 2018-12-21 11:52:16 +00:00
Zuul d0264bdcf4 Merge "Use volume v3 API in clouds.yaml by default" 2018-12-21 10:50:28 +00:00
Michał Dulko 119ee66cde Log debug on etcd if $ENABLE_DEBUG_LOG_LEVEL is on
Change-Id: I452a2e4882377d165e3c28fcec18e237e45db8a4
2018-12-20 18:55:29 +01:00
npraveen35 6a7e3ec647 typo fixed
Change-Id: Id777576d8876d7ba257f0243f3b4ce5756dd9b58
2018-12-20 18:26:31 +05:30
Jens Harbott 15b6ac98cb Update default cirros version
Cirros has a new release 0.4.0, which fixes a couple of issues.

Change-Id: I419348f1784600e3989c8e86a99c04b24f3610c4
2018-12-19 12:42:14 +00:00
Ian Wienand 7bb5fff85c setup-devstack-source-dirs: also copy github libraries
This will help us use standard mechanisms to install libraries that
Zuul has cloned from github

Change-Id: I8ecfeeba9133ce175fb72fc59be696879013d927
2018-12-19 18:44:47 +11:00
ghanshyam dc33485ff2 Use renamed template 'integrated-gate-py3'
'integrated-gate-py35' template is going to be
renamed to 'integrated-gate-py3' in https://review.openstack.org/#/c/626078/

Integrated jobs are running on Bionic now where python 3.6 is available.
Which means gate jobs in 'integrated-gate-py35' template are
running on python 3.6 not on 3.5 which makes this template name confusing.

depends on commit rename the 'integrated-gate-py35' to 'integrated-gate-py3'
so that it can convey that template will use available python 3 version
in used distro. For example: 3.5 in xenial and 3.6 in bionic and so on.

This commit starts using the new template name so that old
template name can be removed.

Depends-On: https://review.openstack.org/#/c/626078/
Change-Id: I07048817eb826337dd5bd89a97711bb9d43495cf
2018-12-19 04:23:30 +00:00
Riccardo Pittau b3ee6f4615 Correcting typo in plugins section
Fixing the example of the plugin's name as the last component
of the git repo path should be foo.

Change-Id: I2f12d4d26993ec192517de7f5541c4219ee59ed9
2018-12-18 17:06:27 +01:00
Pavlo Shchelokovskyy 16fe964648 Ignore local.conf in root of repo
gitignore is not parsing regex, only shell globs,
so '^' has no meaning, and local.conf is being thus tracked.

This patch properly ignores only local.conf in root of repo but still
tracks samples/local.conf and others.

Change-Id: I93ef778f1f3ee8101ce21cce377f7b527b7153f3
2018-12-18 09:04:49 +00:00
Zuul 8c93374cdd Merge "docs: cleanup install docs" 2018-12-17 06:46:48 +00:00
Zuul e812d284b8 Merge "Enable direct-io on LVM loop devices" 2018-12-17 02:15:14 +00:00
Dan Smith 93a94f503b Enable direct-io on LVM loop devices
This enables direct-io on the loop devices that we create for LVM backing
stores. The goal here is to reduce the buffer cache overhead involved with
loop mounting a very large file on a filesystem, as well as potentially
providing a little more block-device-like behavior for things that expect
them. We are hoping this will address some of the very long LVM calls that
cinder does, which randomly take a very long time, causing timeouts.

The loop direct-io support was added in kernel 4.4.0, which was xenial,
but the losetup binary does not have the required flag. Thus, this patch
checks the "losetup -h" output for the flag before deciding to enable it.

Change-Id: Idc69cf3598d6ed6646c0145733c90ad0b1b60883
2018-12-17 09:34:35 +11:00
Zuul 86011b700a Merge "Update cirros version" 2018-12-15 10:24:47 +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
Matt Riedemann 584979ce2e docs: cleanup install docs
This does a few things to the home page and all-in-one single
machine install guide:

* Uses code blocks for formatting
* Adds the customary "$" to the console blocks in the
  all-in-one single machine install guide
* Instructs to use "sudo su stack" and adds a note about
  "sudo visudo" in the all-in-one single machine doc
* Creates a symbolic link to the sample local.conf and links to
  it from the install guide (note that local.conf might be old
  by now)
* Fixes the .gitignore file to only ignore local.conf in the root
  of the repository, otherwise it would ignore local.conf everywhere
  including the samples and doc/source/assets directories.

Change-Id: I50ae7bd32c4c1caa2ac8551fc54b31dd2dfae568
2018-12-13 08:31:03 -05:00
Jens Harbott 0ce6ae8137 Update cirros version
This is the next release in the 0.3.x stable series, containing a fix
for getting out of disk errors when cirros reads metadata from a
config-drive[0].

[0] https://bugs.launchpad.net/cirros/+bug/1808119

Change-Id: Id2f20ebafdd78c2dadf81b8f80f22e7bd6db7755
2018-12-13 11:09:54 +00:00
Zuul 8fc227f63f Merge "Update comment about nova-cells-v1 job" 2018-12-12 23:29:07 +00:00
Zuul 2697e431d2 Merge "Migration logic for neutron policy-in-code" 2018-12-12 14:16:55 +00:00
Zuul 5b5cf9dd31 Merge "Switch devstack jobs to run on Bionic" 2018-12-11 22:20:14 +00:00
OpenStack Proposal Bot 2dad33b4ba Updated from generate-devstack-plugins-list
Change-Id: Ia5998eaec8f470ec584079f4639a84b2bf1430e1
2018-12-11 06:11:25 +00:00
Zuul 19ad608ba7 Merge "Set apache proxy-initial-not-pooled env var" 2018-12-09 17:29:05 +00:00
Clark Boylan e344c97c0e Set apache proxy-initial-not-pooled env var
We've run into what appears to be a race with apache trying to reuse a
pooled connection to a backend when that pool connection is closing.
This leads to errors like:

  [Fri Dec 07 21:44:10.752362 2018] [proxy_http:error] [pid 19073:tid 139654393218816] (20014)Internal error (specific information not available): [client 104.130.127.213:45408] AH01102: error reading status line from remote server 127.0.0.1:60999
  [Fri Dec 07 21:44:10.752405 2018] [proxy:error] [pid 19073:tid 139654393218816] [client 104.130.127.213:45408] AH00898: Error reading from remote server returned by /image/v2/images/ec31a4fd-e22b-4e97-8c6c-1ef330823fc1/file

According to the internets this can be addressed (at the cost of some
performance) by setting the proxy-initial-not-pooled env var for mod
proxy. From the mod_proxy docs:

  If this variable is set, no pooled connection will be reused if the client
  request is the initial request on the frontend connection. This avoids the
  "proxy: error reading status line from remote server" error message caused
  by the race condition that the backend server closed the pooled connection
  after the connection check by the proxy and before data sent by the proxy
  reached the backend. It has to be kept in mind that setting this variable
  downgrades performance, especially with HTTP/1.0 clients.

Closes-Bug: #1807518

Change-Id: I374deddefaa033de858b7bc15f893bf731ad7ff2
2018-12-08 18:24:26 +00:00
Zuul 07a59da59f Merge "Update ETCD_DOWNLOAD_URL" 2018-12-08 10:05:18 +00:00
Zuul 14764152c2 Merge "Enable the SCL repository for CentOS" 2018-12-08 05:15:46 +00:00
Matt Riedemann 5a9e32afeb Update comment about nova-cells-v1 job
Nova is moving nova-cells-v1 to its experimental
queue set of jobs so the comment in devstack should
be updated.

Depends-On: https://review.openstack.org/623538

Change-Id: Iefbaa9b809d1426640cbd47a42213f28c9ec5ff3
Related-Bug: #1807407
2018-12-07 10:42:56 -05:00
Zuul 2f11f66666 Merge "Updated from generate-devstack-plugins-list" 2018-12-07 13:39:42 +00:00
Zuul d2397e7fc2 Merge "Remove is_in_projects_txt" 2018-12-07 13:39:41 +00:00
Zuul f714d72a63 Merge "Fix README for rolevar name 'devstack_sources_branch'" 2018-12-07 13:37:43 +00:00
Zuul e9de494cd0 Merge "Address nits on lib/placement for extracted placement" 2018-12-07 13:25:02 +00:00
Zuul 7cc83a01ca Merge "Setup branch in setup-devstack-source-dirs" 2018-12-07 00:35:19 +00:00
ghanshyam 14a22dff34 Fix README for rolevar name 'devstack_sources_branch'
This commit fixes the name of role in README file
- https://review.openstack.org/#/c/549517

Change-Id: I0b7ada56339e5e3ff461c2b62e27f226720bb52f
2018-12-06 10:23:51 +00:00
Carlos Goncalves d2a927264a Enable the SCL repository for CentOS
Enable the Software Collections (SCL) repository for CentOS. This
repository includes useful software (e.g. the Go Toolset) which is not
present in the main repository.

For example, Octavia uses a Go based testing tool and its CentOS-based
jobs got broken now with the update to CentOS 7.6 which no longer
provides golang.

Change-Id: Ic68a6d6cd7da41510e624b6bea7976d9a960af98
2018-12-04 21:15:56 +00:00
qingszhao d1fe5ad507 Change openstack-dev to openstack-discuss
Mailinglists have been updated. Openstack-discuss replaces openstack-dev.

Change-Id: Id639a45680b149ca1ffe8e91fcdea713576b355d
2018-12-04 13:03:49 +00:00
Zuul 14f67268e5 Merge "Add openstack-single-node-xenial nodeset" 2018-12-02 10:23:09 +00:00
Tim Burke 0137703825 Allow IP-based subject alt names
... even when no other subject alt names provided

Previously, a non-voting job in barbican's gate would fail with something like

  X509 V3 routines:X509V3_parse_list:invalid null name:v3_utl.c:319:
  X509 V3 routines:DO_EXT_NCONF:invalid extension string:v3_conf.c:140:name=subjectAltName,section=DNS:pykmip-server,,IP:198.72.124.103
  X509 V3 routines:X509V3_EXT_nconf:error in extension:v3_conf.c:95:name=subjectAltName, value=DNS:pykmip-server,,IP:198.72.124.103

because we'd have an invalid empty string.

Change-Id: I5459b8976539924cd6cc6c1e681b6753a76b804c
2018-11-30 14:40:12 -08:00
Jens Harbott 3492feeedd Use trueorfalse for NEUTRON_DEPLOY_MOD_WSGI
Current code assumes the variable is being set to either "True" or
"False", which will lead to weird errors if it is being set to something
like "true" instead.

Change-Id: I88983c9150efad882cd867c2d14d86ba6b2522c9
2018-11-30 13:57:17 +00:00
Jens Harbott 4727aaa742 Switch devstack jobs to run on Bionic
Switch the nodesets that devstack job run on from Xenial to Bionic,
i.e. the latest Ubuntu LTS release. Keep variants running on Xenial
in order to make sure that we stay backwards compatible while we keep
running Xenial jobs on the older stable branches.

Change-Id: I8749ed24d5f451d29f767ebb2761abd743b7d306
2018-11-29 12:57:10 +00:00
Jens Harbott a6017b6eec Add openstack-single-node-xenial nodeset
Allow other jobs to explicitly require a node running Xenial. This seems
clearer than having a generic openstack-single-node nodeset which
implicitly uses Xenial.

Change-Id: I013fb8abd4e6ab6539bd9410acbc8446e57ec70c
2018-11-29 12:55:12 +00:00
Chris Dent 3027c20545 Address nits on lib/placement for extracted placement
Earlier review [1] suggested some cleanups which have been
done here:

* Removing a redundant call from cleanup_placement
* Fixing a typo in a comment

[1] https://review.openstack.org/#/c/600162/15/lib/placement

Change-Id: I8abd2f02b123c6c1937c026ff13eb4e600de3202
2018-11-27 17:19:56 +00:00
Chris Dent 78a564bb03 Use openstack/placement instead of placement-in-nova
We introduce and set PLACEMENT_REPO, add a placement-manage command
to sync database tables (see one of the commits on which this
depends), use /etc/placement/placement.conf for config, and put the
uwsgi config file (pointing to placement-api instead of
nova-placement-api) in /etc/placement.

openstack/placement is also added to the required-projects in
the devstack zuul job.

Change-Id: I0b217e7a8c68a637b7a3445f6c44b7574117e320
2018-11-27 10:35:04 +00:00
Matt Riedemann 23d33a8b5b Set non-0 disk sizes for tempest flavors
Nova change https://review.openstack.org/603910/ is
going to change the default rule on policy
os_compute_api:servers:create:zero_disk_flavor to
admin-only, which will prevent non-admins from
creating image-backed servers with a flavor that
has disk=0 since it's a potential security exposure.

Therefore we need the test flavors that are created
for tempest to use non-0 disk values. Since the flavor_ref
and flavor_ref_alt can be aligned to the image_ref and
image_ref_alt in tempest.conf, we get the image sizes
from glance (in bytes) and convert those to GiB disk
sizes for each flavor, respectively. Since we're using
Cirros images by default, we need to make sure to round
up otherwise we'd still have a 0-disk flavor.

There are lots of ways the math could be done here
using numfmt, bash, awk, bc, etc, but it's simplest to
write and probably easiest to read by using python for
the size conversion code.

Change-Id: I537c299b0cd400982189f35b31df74755422737e
Related-Bug: #1739646
2018-11-26 13:03:28 -05:00
Andreas Jaeger 67394b0241 Remove is_in_projects_txt
This function is nowhere used as confirmed by codesearch:
http://codesearch.openstack.org/?q=is_in_projects_txt&i=nope&files=&repos=

We can remove the function.

Note that usage of this function was removed in change
I843208e2e982eb04931b76f5cb4bd219fbcd70de in 2015.

This came up in context of https://review.openstack.org/619089 where
requirements/projects.txt is getting removed.

Change-Id: I487d3f9e340bd45e83245b9ca91e8e3b5ac3ae02
2018-11-24 10:18:07 +01:00
Akihiro Motoki 80769c5714 Migration logic for neutron policy-in-code
Neutron is in a process to migrate to policy-in-code.
DevStack needs to be able to handle both cases with and
without policy.json in the neutron repo.

Note that nova assumes neutron API access with admin
so user_name:neutron needs to be included in context_is_admin
to make DevStack work properly. Hopefully this can be cleanup
but this is a separate topic from policy-in-code.

Needed-By: https://review.openstack.org/#/c/585037/
Change-Id: Id1b0600d92e839ade1790a15c372e82e8e16ee9f
2018-11-24 01:42:34 +09:00
Jens Harbott 8d1b20b4c2 Enable universe repository on Ubuntu
The universe repository is not enabled when installing Ubuntu from an
ISO (at least for Bionic). This leads to some errors during the devstack
run that are not seen when running based on a cloud image which has that
repo enabled by default. Enable that repository unconditionally, the
operation is idempotent.

Change-Id: Ifcb7ecd78fb25ca2136f5848c19b74500e520873
Closes-Bug: 1792936
2018-11-22 13:17:01 +00:00
OpenStack Proposal Bot 0f5a20fb79 Updated from generate-devstack-plugins-list
Change-Id: I992065186ed4a4c5811a7c82ac09a0bc85ca11e8
2018-11-22 06:19:15 +00:00
Zuul 0c6208c6a0 Merge "Drop devstack-platform-opensuse-tumbleweed" 2018-11-20 15:55:26 +00:00
Derek Higgins e3e9ea2996 Revert "remove external_network_bridge option"
This reverts commit faaf96bfb1.

Ironic jobs were still using this option, it needs to be
switched to an alternative first.

Change-Id: I1683d7cfa81f5fe2497cc7045e87f8b20fed4968
2018-11-09 15:45:46 +00:00
Michał Dulko 994e82e57f Update ETCD_DOWNLOAD_URL
Looks like https://github.com/coreos/etcd is redirecting to
https://github.com/etcd-io/etcd, so let's use that official address as
the download URL.

Change-Id: I39355b4deb17ae11927a5339e73fb8ec3a274cf7
2018-11-07 18:00:30 +01:00
Zuul 7c3df6b700 Merge "remove external_network_bridge option" 2018-11-07 00:35:02 +00:00
Attila Fazekas 0d4c9c9fa3 Have lib/tempest to create shared network
In order to make sure not possible to introduce a change in tempest
which breaks the shared network compatibility.

Depends-On: I6e3e53c4ac26b4fef09fefb9c590dfa91f577565

Change-Id: Ib2e7096175c991acf35de04e840ac188752d3c17
2018-11-04 13:28:46 +01:00
Zuul a61b470487 Merge "Remove cgroup natty or less block" 2018-11-02 15:29:37 +00:00
Zuul ee9846132d Merge "Fix Virtuozzo CI" 2018-11-02 15:29:36 +00:00
Jens Harbott 7ddd733b72 Drop devstack-platform-opensuse-tumbleweed
Builds of opensuse-tumbleweed nodes are currently failing, so these jobs
are receiving NODE_FAILURE.

Change-Id: I3c2d73a150df009e7dadc76277be36eb72e0dfa7
2018-11-02 13:34:35 +00:00
Zuul 79d492c5d5 Merge "Updated from generate-devstack-plugins-list" 2018-10-30 08:58:24 +00:00
Zuul e7fa2061e6 Merge "Add devstack ipv6 jobs" 2018-10-25 11:39:54 +00:00
OpenStack Proposal Bot 606e6bc446 Updated from generate-devstack-plugins-list
Change-Id: Ie132b6898b44d24e71aa2f3534931ffac2a9efa1
2018-10-25 06:29:11 +00:00
Zuul 4daef3b712 Merge "Updated from generate-devstack-plugins-list" 2018-10-18 18:58:16 +00:00
Zuul 84f72d2170 Merge "Make sure nova-compute is not configured with database access" 2018-10-18 16:58:31 +00:00
OpenStack Proposal Bot 99cd165746 Updated from generate-devstack-plugins-list
Change-Id: I2ba736a97377ba1823b3d48983ebf6e4640c72aa
2018-10-18 06:18:46 +00:00
Zuul 86db593653 Merge "Don't use ipv6 for DNS SAN fields with python3" 2018-10-16 17:30:29 +00:00
Zuul 80417ef53b Merge "Remove setting of unnecessary tempest config options" 2018-10-14 12:44:01 +00:00
Zuul f578b2eebb Merge "Use tempest-pg-full" 2018-10-14 10:09:27 +00:00
Laura Sofia Enriquez 1c75d2f06c Fedora version updated in Devstack doc
Docs say that you require Fedora 24/25 to run Devstack, but Devstack
is working in newer versions. Update document to say that Fedora 28
can be used instead.

Closes-Bug: #1797239

Change-Id: Ie5227db9943e5ddb93cd37440165eabbae22f4fc
Signed-off-by: Laura Sofia Enriquez <lsofia.enriquez@gmail.com>
2018-10-12 14:04:14 -03:00
Andreas Jaeger 2c90239acc Use tempest-pg-full
The legacy job legacy-tempest-dsvm-neutron-pg-full is now named
tempest-pg-full - using the new tempest and Zuul v3 frameworks.

Change experimental job to use new job.

Change-Id: If16397724fb4facd2a0db8148bdf7ba427ca10b6
Depends-On: https://review.openstack.org/609530
2018-10-12 10:09:17 +02:00
Dan Smith 7d0003ef7e Make sure nova-compute is not configured with database access
Apparently we're inheriting some database config from the main file,
which should not be set for nova-compute. If we're properly in superconductor
mode where we have a dedicated config for compute, remove those lines
if present.

Closes-Bug: #1797413

Change-Id: I4820abe57a023050dd8d067c77e26028801ff288
2018-10-11 18:12:58 +00:00
OpenStack Proposal Bot e9f3988a57 Updated from generate-devstack-plugins-list
Change-Id: Iae7700901060efa7687138dc6adf93604afa3ef6
2018-10-11 07:02:16 +00:00
aojeagarcia 0d91c29d9e Add devstack ipv6 jobs
We can see that there is more demand on using ipv6 as the underlay
infrastructure to deploy new services, and OpenStack should be ready for
that.

These devstack ipv6 jobs are based on the work started by Jens Harbott in
https://review.openstack.org/#/c/608168/

Change-Id: I55bd067487665e5026e82a0737cb0f38a69499fb
Signed-off-by: aojeagarcia <aojeagarcia@suse.com>
2018-10-10 16:05:21 +00:00
Zuul b138df3d39 Merge "Updated from generate-devstack-plugins-list" 2018-10-10 15:27:37 +00:00
Zuul a1ffc4f1eb Merge "Quote error messages" 2018-10-10 13:01:04 +00:00
OpenStack Proposal Bot da863fab1d Updated from generate-devstack-plugins-list
Change-Id: I53db3e407e9495cbff758e823ea95485c888e706
2018-10-10 06:20:08 +00:00
Zuul dd0f884b7e Merge "Convert to openSUSE Leap 15.0 platform testing" 2018-10-09 08:51:41 +00:00
ghanshyam 35485ca21f Remove setting of unnecessary tempest config options
Tempest have removed the volume-feature-enabled.api_v1
config options[1] and modified the default value of
volume-feature-enabled.api_v3 to True.

These config options not needed to be set from devstack
side.

[1] https://review.openstack.org/#/c/573135/

Change-Id: Ic35cf4482ab4d3c2e69348ec92568e68f6ea74ee
2018-10-09 07:44:48 +00:00
Zuul afde409431 Merge "Disable apparmor for openSUSE distros" 2018-10-08 23:27:41 +00:00
Zuul e1276ba32d Merge "Update horizon wsgi wrapper to the recommended one" 2018-10-08 08:17:35 +00:00
Zuul bb90b9cd66 Merge "Allow ipv6 ECMP in devstack" 2018-10-08 08:17:33 +00:00
Zuul f292fb2922 Merge "Fix common systemd pitfalls die msg" 2018-10-08 08:17:32 +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
aojeagarcia eb7d1ad198 Disable apparmor for openSUSE distros
Dnsmasq and haproxy are used frequently by neutron and nova, apparmor
profiles can block some operations and the deployed cloud can't
work properly so some tests are going to fail.

Some openSUSE distros has apparmor enabled by default so we need to
disable it.

Change-Id: I30fda684effb09810643e58bf0b31a73d7d9b378
Signed-off-by: aojeagarcia <aojeagarcia@suse.com>
2018-10-08 07:08:47 +00:00
Zuul 52514d39e3 Merge "Use bash-style test for Fedora version" 2018-10-08 05:28:29 +00:00
Zuul 62105de466 Merge "fix tox python3 overrides" 2018-10-08 05:28:28 +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
aojeagarcia 9a543a81ac Don't use ipv6 for DNS SAN fields with python3
Python2 match routines for x509 fields are broken and have to use
the DNS field for ip addresses.

The problem is that if you use ipv6 addresses in the DNS field,
urllib3 fails when trying to encode it.

Since python3 match routines for x509 fields are correct, this patch
disables the hack for python3, encoding the ip address in the
corresponding field only of the certificate.

Partial-Bug: #1794929
Depends-On: https://review.openstack.org/#/c/608468

Change-Id: I7b9cb15ccfa181648afb12be51ee48bed14f9156
Signed-off-by: aojeagarcia <aojeagarcia@suse.com>
2018-10-07 21:21:12 +00:00
imacdonn e991f7da45 Use bash-style test for Fedora version
Old-style test fails on Ubuntu when python3 enabled, with:

.../devstack/inc/python: line 52: [: 16.04: integer expression expected

Use bash-style test, which doesn't attempt to evaluate the RHS if the
LHS evaluates to false

Change-Id: If18031ab98c9060e5825c3a8d3c647bd3705cd9c
Closes-Bug: #1796174
2018-10-04 19:42:21 +00:00
Zuul bb99f1f677 Merge "Switch to lioadm in openSUSE distros" 2018-10-03 17:51:33 +00:00
Zuul d9e40256f2 Merge "Add a Bionic Beaver nodeset" 2018-09-29 07:54:27 +00:00
aojeagarcia 866efef17a Allow ipv6 ECMP in devstack
It turns out that a host can have multiple valid default gateways,
something that's not common in ipv4.

This patches add supports for multiple default gateways in ipv6
environments.

Closes-Bug: #1786259

Change-Id: I30bf655f7160dd19c427ee79acdf145671a3e520
Signed-off-by: aojeagarcia <aojeagarcia@suse.com>
2018-09-28 08:48:55 +00:00
melanie witt 991b1f13f0 Update cinder backup_driver to full class name
Legacy backup service support was recently dropped from cinder in
change I3ada2dee1857074746b1893b82dd5f6641c6e579 and we need to
adjust how we set the config option in devstack accordingly. This
updates the backup_driver option to specify a full class name instead
of only the module name.

Closes-Bug: #1794859

Change-Id: I3a72f38b564b8b83b233fccba7685833b6394d45
2018-09-27 18:37:49 +00:00
Goutham Pacha Ravi d543ecb737 Add a Bionic Beaver nodeset
I'm switching tempest/dsvm jobs to run on
Ubuntu 18.04 LTS (Bionic Beaver) on openstack/manila,
and I believe this nodeset can be here
so other projects can use it too.

Change-Id: Ib8279cde3e14d5378f27254188ee14dbb0800428
Needed-By: https://review.openstack.org/#/c/604929/
2018-09-27 09:59:41 -07:00
Hongbin Lu faaf96bfb1 remove external_network_bridge option
The external_network_bridge option is deprecated/legacy and being
removed from neutron (see I07474713206c218710544ad98c08caaa37dbf53a).
This patch removes the external_network_bridge option iniset from
devstack scripts.

Change-Id: I4d9641cc9bb83719c9af1edabb89a63c4c2b1d96
2018-09-26 14:49:07 +00: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 02ca8da102 Merge "doc: Add USE_PYTHON3 to configuration guide" 2018-09-25 15:00:14 +00:00
aojeagarcia 61f6cafed7 Switch to lioadm in openSUSE distros
This patch switches the CINDER_ISCSI_HELPER from tgtadm
to lioadm in openSUSE distros, as it increase the performance
and reduce the flakiness on some tests.

Change-Id: Ic3ee9c6baabe20f8f4d14246f6e29808796a5db9
Signed-off-by: aojeagarcia <aojeagarcia@suse.com>
2018-09-24 12:34:15 +02:00
OpenStack Proposal Bot b38cb6d084 Updated from generate-devstack-plugins-list
Change-Id: I4dba3ebf78333524185e84f94a2e7d52ad05a968
2018-09-24 06:19:33 +00:00
Lajos Katona dae1041c94 doc: Add USE_PYTHON3 to configuration guide
Change-Id: I8b6743c1dbdc00001691b2727bd0c344fb6ccd51
2018-09-21 10:51:47 +02:00
melissaml 5ed05394ff fix a typo
Change-Id: I3cc4633b125ef3c5be40dd444cad78a888f832e4
2018-09-20 10:47:16 +08:00
Andrea Frittoli 147388466d Setup branch in setup-devstack-source-dirs
Allow the setup-devstack-source-dirs role to accept a target role
to be setup - when available - for the repos.

Change-Id: Iebcba0d4be6d9d71b783e10a82c35a406afbd6bf
2018-09-13 17:50:32 +02:00
Zuul 66ca7f5520 Merge "Remove master only job" 2018-09-13 06:25:15 +00:00
Andreas Jaeger 6403b1447f Remove master only job
legacy-periodic-tempest-dsvm-oslo-latest-full-master
runs only on master, remove it. This needs to stay in project-config.

Change-Id: I81e66ddb0976bb4bb7a7cd8efbbae3bda551191d
2018-09-12 11:37:48 +02:00
Andreas Jaeger b4b6789848 Follow job renames
the swift and devstack-plugin-ceph jobs have been renamed, follow rename
and use in-repo jobs.

Depends-On: https://review.openstack.org/543048
Change-Id: Idccc21e47b2cc04e5eeab4db7f7fb7cf156f8049
2018-09-12 09:28:43 +02:00
Steve Kowalik 770690eda1 Remove cgroup natty or less block
Given that Natty and other releases that don't use cgroups have been out
of support in Ubuntu for years now, it's high time we removed the
special case code block that sets up the cgroup mount.

Change-Id: I5403a4b1b64a95236b4dfcb66c35c594a3460cca
2018-09-10 16:20:27 -06:00
Doug Hellmann 53db72c6c6 switch documentation job to new PTI
This is a mechanically generated patch to switch the documentation
jobs to use the new PTI versions of the jobs as part of the
python3-first goal.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: I338fc71919a41ec890bcb5edd0552ec7eb680eb5
Story: #2002586
Task: #24327
2018-09-08 22:53:59 -04:00
Doug Hellmann a0d1016e55 import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: I9169d41d790ae874af29c8ceccf0c55ab0df7727
Story: #2002586
Task: #24327
2018-09-08 22:50:06 -04:00
Akihiro Motoki 41fe3ebd4b Update horizon wsgi wrapper to the recommended one
During Rocky cycle, horizon updates the path of the wsgi wrapper
to the one recommended by Django [1]. The old path will be dropped
in the T release.

[1] https://review.openstack.org/#/c/561802/

Related-Bug: #1763204
Change-Id: Ie942518b587d193a7de55ffcc0a2848406146eb2
2018-09-08 18:36:57 +00:00
Zuul 6f4b7fc99c Merge "Fixed git show for upper-constraints.txt in lib/tempest" 2018-09-04 07:29:50 +00:00
Zuul 393c95fdef Merge "Update DEVSTACK_SERIES to stein" 2018-08-29 15:34:44 +00:00
Lenny Verkhovsky 6465219ec3 Fixed git show for upper-constraints.txt in lib/tempest
Change-Id: Id133108e0436018be81fca74a15ff29a4fe2e796
Closes-Bug: #1789643
2018-08-29 16:41:04 +03:00
Zuul 6c3d7fa5f7 Merge "Updated from generate-devstack-plugins-list" 2018-08-28 02:42:29 +00:00
Zuul b9ab7430cf Merge "Revert "Update branches for stable/rocky"" 2018-08-27 18:16:24 +00:00
Zuul 4c82af68a0 Merge "Remove devstack exercises" 2018-08-27 14:35:53 +00:00
Jens Harbott (frickler) 57bc01b320 Revert "Update branches for stable/rocky"
This reverts commit e5cac49b04.

Change-Id: Ieceb5030a6c21378adcb9bf9c51cd862e0b0d01a
2018-08-27 13:23:18 +00:00
Zuul b8d5e6d836 Merge "Update branches for stable/rocky" 2018-08-27 12:25:21 +00:00
ghanshyam ef72d1ea77 Update DEVSTACK_SERIES to stein
stable/rocky branch has been created now and
current master is for stein.

Change-Id: Id5d75e7a8a38a749f387f3ba670e3d2c10cb9719
2018-08-24 10:44:54 +00:00
ghanshyam e5cac49b04 Update branches for stable/rocky
Change-Id: Ia6de4b83f56c5ac0af19b0ca4f12aa4d47fd963a
2018-08-24 10:38:01 +00:00
OpenStack Proposal Bot c617d476c2 Updated from generate-devstack-plugins-list
Change-Id: Ice486739c1dfbcbf61db178be64075164e9f7ed5
2018-08-23 06:11:41 +00:00
Zuul 9b4b4c6919 Merge "Rename "Member" role in tempest_roles to "member"" 2018-08-22 23:24:16 +00:00
OpenStack Proposal Bot 7711d7f196 Updated from generate-devstack-plugins-list
Change-Id: I610cf0be64cfcfba754e629e2a62e8dc2cb99ddf
2018-08-16 06:13:29 +00:00
Zuul 8c10520016 Merge "Fix TEMPEST_AUTH_VERSION comparision condition for identity v2" 2018-08-13 15:08:10 +00:00
Zuul 3c1a90ce0a Merge "Correct neutron docs" 2018-08-13 14:13:25 +00:00
Zuul f02f0e0574 Merge "Set transport_url in proper keystone config section" 2018-08-13 14:13:24 +00:00
Chang Liu 2c42fd09d5 Modified the description of the doc directory
In the latest version of Contributing to
DevStack manual.There are a few words to
say that "tools/build_docs.sh is used to
generate the HTML versions of the DevStack
scripts".But build_docs.sh is not there
since Newton version.So I delete it for
good.

Change-Id: I69f7aa23e1efd8f8a63aa79628e67378d524e173
2018-08-13 05:20:27 +00:00
Zuul 83227990ee Merge "BUG Fix: add sudo to run command arping" 2018-08-13 02:57:35 +00:00
Zuul cf94d70cd6 Merge "gitignore: Ignore all log files" 2018-08-13 02:51:26 +00:00
Zuul bedc8a8343 Merge "Increase the Elasticsearch service timeout" 2018-08-12 14:17:08 +00:00
Zuul 1106e7e697 Merge "Remove devstack-single-node-fedora-27" 2018-08-09 19:37:12 +00:00
Michal Rostecki 70be0d14a6 gitignore: Ignore all log files
Before this change, only *.log and *.log.[0-9] patterns were
ignored, which was not enough. Examples of file names which were
not ignored:

    devstack.log.2018-08-09-100547
    wget-log
    wget-log.1

Patterns *.log.* and *-log.* work for every log file generated by
devstack.

Change-Id: I6f0de5de74f196ab9df66cf3f2f969e53da01c22
Signed-off-by: Michal Rostecki <mrostecki@suse.de>
2018-08-09 15:30:58 +02:00
zhubx007 59f50c7967 BUG Fix: add sudo to run command arping
Set 'PUBLIC_INTERFACE' in local.conf, so the code will
be entered into _move_neutron_addresses_route of
neutron-legacy.

But if lack of sudo to run command arping, the information
"arping: socket: Operation not permitted" occurs. So add
'sudo' for 'ARP_CMD' of lib/neutron-legacy.

Change-Id: I8ac8a9bc2bbba049c45b28bf9b93d9a10e398fe6
Closes-Bug: #1783046
2018-08-08 15:09:01 +08:00
ghanshyam 11b8649e83 Fix TEMPEST_AUTH_VERSION comparision condition for identity v2
TEMPEST_AUTH_VERSION should be 'v3' or 'v2' not 'v2.0'.
To disable the identity v2 admin tests TEMPEST_AUTH_VERSION is
being compared with 'v2.0' which is incorrect.

Change-Id: I5f7e3bcf733edbbee06016bcad4845dda552815e
2018-08-07 08:37:24 +00:00
Zuul ce0759d2d0 Merge "cinder: configure backup_swift_url in subnodes" 2018-08-06 13:51:46 +00:00
Paul Belanger b73fb37051 Remove devstack-single-node-fedora-27
There is no projects using this and allows openstack-infra to delete
fedora-27 images.

Change-Id: I37d482dd2b5e099c370ab693ff430cb9c56360f8
Depends-On: https://review.openstack.org/588369
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-08-02 16:17:37 -04:00
Lance Bragstad ed6e1d0996 Set transport_url in proper keystone config section
The RPC transport_url for keystone was being set in the DEFAULT
section, even though keystone doesn't do anything with it. Instead,
keystone leans on the [oslo_messaging_notification] section from
oslo.messaging to register the transport_url option.

This change sets the transport_url in the proper section instead of
using the DEFAULT section.

Change-Id: I11590d0175da7ea310d5529f2d7c0bf8d7fb25b3
2018-08-01 18:05:54 +00:00
Kevin Benton 66b361b538 WSGI Neutron integration
This patch provides a new mechanism to deploy Neutron using
WSGI script. This also starts a Neutron RPC server process
when the Neutron API is loaded via a WSGI entry point to
serve the agents.

Co-Authored-By: Victor Morales <victor.morales@intel.com>
Co-Authored-By: Nguyen Phuong An <AnNP@vn.fujitsu.com>

Change-Id: I16a199b04858bfc03ef50d9883154dba8b0d66ea
Depends-On: https://review.openstack.org/#/c/580049/
Partially-implements: blueprint run-in-wsgi-server
2018-07-30 12:30:37 +07:00
Matthew Edmonds 1481322d74 Correct neutron docs
The neutron guide refers to ENABLE_PROJECT_VLANS and
PROJECT_VLAN_RANGE but these are not present/checked in the code,
which uses ENABLE_TENANT_VLANS and TENANT_VLAN_RANGE. This
corrects the documentation to match.

Change-Id: I204356c861157e9fab357bb4dde55185bf18a707
2018-07-27 15:48:38 -04:00
Matt Riedemann 31c7d5c796 cinder: configure backup_swift_url in subnodes
The tempest-multinode-full job is running the c-bak
service on the subnode where swift isn't running, and
because of the "is_enabled_service swift" check, cinder
on the subnode wasn't getting configured to talk to
swift so the c-bak service was down. Since chances are
good that we're running swift, just configure cinder
to always use it.

Change-Id: I86b090967dadeeefc017ff0311beeea9441b6ba6
Closes-Bug: #1783128
2018-07-23 09:25:08 -04:00
Felipe Monteiro 3cdff78fba Rename "Member" role in tempest_roles to "member"
Recently, Keystone renamed "Member" role to "member"
(case-sensitive) with https://review.openstack.org/#/c/572243/14

Case-sensitivity role requirement in Keystone was recently
formalized with https://review.openstack.org/#/c/576640/

From the above reference:

"Role names are case-insensitive. for example, when keystone
bootstraps default roles, it creates `admin`, `member`, and
`reader`. If another role `Member` (note the upper case 'M') is
created, keystone will return a `409` Conflict since it considers
the name "Member" == "member". Note that case is preserved in these
cases."

It follows that Tempest should use "member" role by default.

Change-Id: Iebf04fdb4c195b6779c74f66da3f7822cf174494
2018-07-18 20:10:28 +00:00
Dirk Mueller e484f3b1c8 Remove devstack exercises
These seem to be not run for quite some time and they don't
succeed anymore - drop the code to avoid somebody accidentally
running it and wondering. A good example of "if it isn't tested
its broken".

Depends-On: https://review.openstack.org/583146
Depends-On: https://review.openstack.org/583147

Change-Id: I99e8a5ca2925217a5a2401984f3f4f6f032017be
2018-07-17 10:36:12 +02:00
OpenStack Proposal Bot 3b5477d635 Updated from generate-devstack-plugins-list
Change-Id: I8f702373c76953a0a29285f410d368c975ba4024
2018-07-12 06:17:32 +00:00
Zuul 6312db47e9 Merge "Cleanup keystone's removed config options" 2018-07-11 20:36:12 +00:00
ghanshyam 2742875982 Cleanup keystone's removed config options
token.provider.drvier.uuid and token.driver
has been removed from keystone[1].

Devstack has reference/setting of those config
options which is confusing for user and it can
lead to import error like[2]

This commit cleanup the devstack bits of removed
config options.

bp removed-as-of-rocky

[1] https://blueprints.launchpad.net/keystone/+spec/removed-as-of-rocky

[2] http://paste.openstack.org/show/725391/

Change-Id: I29b3b356622c485c4c1046679234a38e7b645071
2018-07-11 01:00:15 +00:00
Paul Belanger ef3571338a use fqdn for zuul projects
When setting up a 3pci zuul, there is an edge case where a downstream
zuul may already have openstack/foo projects, eg:
review.rdoproject.org/openstack/foo.  In this case, if openstack
projects are not namespaced to include the connection information zuul
gets confused and complains.  We can avoid this by using the fqdn for
git.o.o for devstack jobs and both upstream and downstream zuul will
properly use the correct connection.

Change-Id: I01419ea9f51ce7491aa319b6240aec9c0d4f2356
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-07-10 18:36:03 -04:00
OpenStack Proposal Bot c58c5d60ce Updated from generate-devstack-plugins-list
Change-Id: Ief0f093a0612e89d07469cb9d0201556e455dfa5
2018-07-10 06:24:09 +00:00
Zuul 5da7e4a22e Merge "Fix running with SERVICE_IP_VERSION=6" 2018-07-10 06:10:28 +00:00
Zuul 0530ceec9e Merge "Keystone no longer uses paste-ini" 2018-07-08 10:11:37 +00:00
Maxim Nestratov c3a33fb691 Fix Virtuozzo CI
Don't specify hypervisor_type=vz property for hds images as nova
now reports only really connected hypervisors and not all supported
by a compute host

Change-Id: Ibec0856519ffe593d44d123f3b401eae19f7d95a
2018-07-04 22:07:20 +03:00
Sylvain Afchain 19eefe5e61 Increase the Elasticsearch service timeout
On some slow system with recent version of
Elasticsearch we saw that the service
becomes ready after more than 1 minute.

Change-Id: Id2b21ab24a96d10fffdcccd652a7d3ec4e8ce39c
2018-07-04 18:10:48 +02:00
Zuul afbfbe4b82 Merge "Remove old packages from rpms/horizon" 2018-07-03 15:36:50 +00:00
Morgan Fainberg 16d46483dd Keystone no longer uses paste-ini
With the move to flask, Keystone does not utilize paste-ini. This
patchset removes the paste-ini support from devstack for Keystone.

Change-Id: I8dd629937c9178660992fd648175dbef80ffa3c2
2018-07-03 07:16:24 -07:00
Prabhat Ranjan 6f38cf4ad8 Fix wait_for_compute to work for modified compute host name
When we change the name of compute host then devstack is breaking
because it is using default host name from host.

How to change compute host name in local.conf
[[post-config|$NOVA_CONF]]
[DEFAULT]
host = foo

Change-Id: I4d4392f1f58f0431b10764610668565af88d392f
Signed-off-by: Prabhat Ranjan <pranjank@in.ibm.com>
2018-07-02 05:49:52 +00:00
Zuul 5ebfe6dcb0 Merge "install and start elasticsearch on openSUSE" 2018-07-02 05:47:34 +00:00
Lucas Alvares Gomes e638593624 Make configure_neutron_nova_new and create_nova_conf_neutron param optional
The commit e95f2a3664 broke
networking-ovn (and potentially other ml2 drivers) by making the config
parameter mandatory. It doesn't need to be.

Change-Id: I0d5738ac3a6d27ddb7655835d77689409a6ff6f4
2018-06-28 11:24:47 +01:00
Zuul 282145a480 Merge "Use member instead of Member" 2018-06-27 09:06:11 +00:00
Zuul 94ca9f6756 Merge "Update all rpms for Fedora 28" 2018-06-25 12:53:54 +00:00
Zuul dc9e8943d0 Merge "Configure [neutron] in nova_cell*.conf" 2018-06-25 10:35:07 +00:00
Zuul d982367b5a Merge "Add the project under test to LIBS_FROM_GIT" 2018-06-25 08:30:02 +00:00
Zuul 56225e19fe Merge "fix typo in python3_version" 2018-06-22 15:28:37 +00:00
Ian Wienand 78dff2852b Update all rpms for Fedora 28
Bring along the required rpms for the ride on Fedora 28 (we really
should find a way to maybe do f* or something to avoid this
... consider it a todo :)

Change-Id: I37fd38de9baab478c86d23ea2cebca59dc8a5ed1
2018-06-22 22:17:00 +10:00
Sumit Jamgade 53e9aca6ce install and start elasticsearch on openSUSE
this will allow install and start of elasticsearch on openSUSE based
distributions

Change-Id: I4d778c260247e73b500ca7d17835655c21941541
2018-06-22 09:03:36 +02:00
Ian Wienand 2f57715412 Remove old packages from rpms/horizon
I'm not sure what the history of the (capital-D) Django package or
pyxattr; they've been there for a long time and should just be
installed like other dependencies these days.

Change-Id: I423230cc5cbb13d2cfb7b926a9571a8157ce5c46
2018-06-22 15:19:54 +10:00
Zuul 6110f40838 Merge "Switch to dnf when it exists" 2018-06-21 15:17:11 +00:00
Matt Riedemann e95f2a3664 Configure [neutron] in nova_cell*.conf
The nova-conductor service running in the cell
needs to be configured to talk to neutron for
things like deallocating networks during server
build failure. This changes the configure_neutron_nova
flows such that the top-level nova.conf is configured
as before, but we also configure each nova_cell*.conf
cell conductor config files to also be able to talk
to neutron.

Change-Id: Ic5e17298996b5fb085272425bb3b68583247aa34
Closes-Bug: #1777505
2018-06-18 16:20:39 -04:00
Lance Bragstad a7d0c6fa2c Use member instead of Member
Keystone now provides a set of default roles in addition to `admin`
by default [0]. This is done during the `keystone-manage bootstrap`
process.

This change aligns the `Member` role override from devstack with the
`member` role provided from keystone.

[0] https://review.openstack.org/#/c/572243/

Change-Id: I3da3530aa73a8a1500116bcefdcba7b947d5e05e
Closes-Bug: 1777359
2018-06-18 15:54:36 +00:00
Zuul 5e3a294210 Merge "Enable nova VNC configuration on the subnode" 2018-06-16 00:54:13 +00:00
James E. Blair 8e5f8c29b2 Add the project under test to LIBS_FROM_GIT
This automatically always adds the project under test to LIBS_FROM_GIT
which effectively makes the normal "tempest full" job the same as the
"forward testing" job when it is applied to a library repo.

Change-Id: Ibbdd8a86e0ff55f67bef73e08e693b34a61b24df
2018-06-15 16:11:29 -04:00
Zuul 9fd9799805 Merge "Modernize VIRT_DRIVER=fake usage" 2018-06-14 12:20:42 +00:00
Zuul 9106b291bd Merge "Init placement before nova" 2018-06-14 12:20:41 +00:00
Ian Wienand 7f33552d34 Switch to dnf when it exists
This has all been around for a *long* time, like when dnf was a weird
new thing.  Now it's the opposite and yum is a weird old thing :)
Choose it by default for platforms with it (Fedora, for now).

Change-Id: Id2bd7d145354b996de31944929fd0267ec24a08e
2018-06-14 21:11:10 +10: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 aed9300b71 Merge "doc: Describe running a command as a separate group" 2018-06-12 08:25:47 +00:00
Zuul d2e82a411d Merge "iniset: fix handling of keys with spaces" 2018-06-12 08:25:46 +00:00
qingszhao 51aec325e6 fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: Id83cb3cdd62517045c45388f88cb3de0e3d75da1
2018-06-12 08:26:17 +08:00
Zuul 330f19b860 Merge "Export OS_CACERT after sourcing .stackenv file" 2018-06-11 18:49:10 +00:00
Zuul ea2aff96ff Merge "Ensure passwordless ssh with stack between nodes" 2018-06-09 05:28:07 +00:00
Zuul 226dac2166 Merge "Only sync the local cell in superconductor mode" 2018-06-07 07:29:30 +00:00
Zuul cd2924c363 Merge "Set workers=$API_WORKERS in glance-registry.conf" 2018-06-07 07:29:28 +00:00
Zuul 6b6d1f22a1 Merge "neutron: Use openvswitch firewall driver by default" 2018-06-06 16:06:31 +00:00
Luigi Toscano c7c67658c1 iniset: fix handling of keys with spaces
Ceph for example uses them. Creation already worked, but not
updates of existing keys.

Closes-Bug: 1774956

Change-Id: I20cb61c08079b9cd9ad56ac875525abf1442bff6
2018-06-04 11:00:08 +02:00
Matt Riedemann 5e832d3061 Modernize VIRT_DRIVER=fake usage
This makes three changes:

1. The quota options set when using the fake
   virt driver have been renamed so we're getting
   deprecation warnings on using the old names.
   Rather than set each quota limit value individually,
   we can just use the noop quota driver for the same
   effect.

2. The enabled_filters list for the scheduler was last
   updated when using the fake virt driver back in Juno
   via Ic7ec87e4d497d9db58eec93f2b304fe9770a2bbc - with
   the Placement service, we don't need the CoreFilter,
   RamFilter or DiskFilter. Also, in general, we just
   don't need to hard-code a list of scheduler filters
   when using the fake virt driver. If one needs to set
   their own scheduler filter list, they can do so using
   the $FILTERS variable (or post-config for nova.conf).

3. The largeops job, which ran the Tempest scenario tests,
   has been gone for a few years now, as have the Tempest
   scenario tests, so the API_WORKERS modification when
   using the fake virt driver should be removed. If we had
   a CI job like the largeops job today, we would set the
   worker config via the job rather than in devstack.

Change-Id: I8d2bb2af40b5db8a555482a0852b1604aec29f15
2018-06-02 12:40:58 -04:00
Matt Riedemann 0f4af398a9 Set workers=$API_WORKERS in glance-registry.conf
We use $API_WORKERS to throttle the number of workers
in other services but were not doing it for g-reg for
some reason, which by default will run ncpu workers
up to a limit of 8.

Change-Id: Idc81ce05546e6d625c10e2229256eafbe7c057a5
Closes-Bug: #1774781
2018-06-02 09:34:20 -04:00
Zuul 0d1bee1768 Merge "swift expects an internal client config to start" 2018-05-31 14:36:31 +00:00
Stephen Finucane 43f25c0fc3 doc: Describe running a command as a separate group
Some commands must be run as a separate group to work. Users can use the
'sg' tool to do this.

This may be assumed knowledge for many users but it's helpful to note in
this, the definitive resource for DevStack's systemd integration.

Change-Id: I271c1d21b44fa972c152780c1caa01c21c265159
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2018-05-31 14:52:28 +01:00
Zuul 36b69c0b02 Merge "Add variable to set volume service version on tempest" 2018-05-31 12:25:10 +00:00
Sumit Jamgade 1fccf0b339 swift expects an internal client config to start
using the sample form the source

Change-Id: I01874b650cd5d662ca2feabe58cc880155c9421e
2018-05-29 12:07:13 +02:00
Zuul 007cbab4b9 Merge "Add dosfstools to files" 2018-05-22 02:56:36 +00:00
Zuul 270a8e65e2 Merge "Configure nova to auto-calculate compute RPC upgrade levels" 2018-05-21 20:00:37 +00:00
Zuul 4bf4e1884c Merge "Remove IRONIC_USE_RESOURCE_CLASSES check" 2018-05-21 19:55:14 +00:00
Zuul 7c66d9cde9 Merge "Changing openrc default Cinder API version to v3" 2018-05-17 15:42:00 +00:00
Zuul 8db91bc0e7 Merge "Configure console proxy settings for nova-cpu.conf" 2018-05-17 07:17:07 +00:00
Jens Harbott f8755bd468 Allow plugins to override initial network creation
The same code is already in place for the new lib/neutron library, allow
this functionality to be used also when the neutron legacy services are
still being deployed. This was mangled in [0].

[0] I868afeb065d80d8ccd57630b90658e330ab94251

Change-Id: I7214c4893943fbfbeb42ad140f433eecd6c3e9f0
2018-05-16 14:40:01 +00:00
Matt Riedemann 306fca807b Add dosfstools to files
dosfstools provides mkfs.vfat which is needed if n-cpu is
configured with 'config_drive_format=vfat'.

Change-Id: If1e1537a079e71847d91ae03ed0c18290a467c4e
Related-Bug: #1770640
2018-05-14 12:40:35 -04:00
Jakub Libosvar a99ab7002c neutron: Use openvswitch firewall driver by default
openvswitch firewall has been in Neutron tree since Newton and has gone
through lots of improvements since including simple upgrade path from
the iptables hybrid driver.

We have a tempest job running in Neutron tree with openvswitch firewall
that's been voting and stable for a while. For neutron_tempest_plugin,
we have had the openvswitch firewall in use since the beginning.

This patch proposes openvswitch firewall driver to become a default
driver for openvswitch agent deployments.

Change-Id: If26d0180e459210511f25f1faa83dd8ccea25ff4
2018-05-14 16:16:08 +02:00
melanie witt 65ad794095 Configure console proxy settings for nova-cpu.conf
Change 12579c3db7 moved console-related
settings from the global nova.conf to the per cell nova_cellN.conf
because of a recent change in nova that moved console token
authorizations from the nova-consoleauth service backend to the
database backend and thus changed the deployment layout requirements
from global console proxies to per cell console proxies.

The change erroneously also removed console configuration settings from
the nova-compute config file nova-cpu.conf because the nova-cpu.conf
begins as a copy of the global nova.conf.

This adds configuration of console proxies to the nova-cpu.conf in the
start_nova_compute routine. The settings have also been split up to
clarify which settings are used by the console proxy and which settings
are used by nova-compute.

Closes-Bug: #1770143

Change-Id: I2a98795674183e2c05c29e15a3a3bad1a22c0891
2018-05-11 04:30:54 +00:00
OpenStack Proposal Bot 827f6c1a4a Updated from generate-devstack-plugins-list
Change-Id: I3695c066799fb14f63050bf1ec05301b1d132d5d
2018-05-10 06:19:41 +00:00
OpenStack Proposal Bot b89bfa21b0 Updated from generate-devstack-plugins-list
Change-Id: I202b685740fe2b4ea53d115524d3bad01b038af6
2018-05-08 06:12:17 +00:00
Zuul 106545b5ab Merge "Set console proxy configuration according to cells v2 setup" 2018-05-08 01:00:48 +00:00
Matt Smith f774ecf4f9 Changing openrc default Cinder API version to v3
* v3 is a superset of v2 and has been the defacto Cinder version for
several years now.
* Devstack installs Cinder v3 API by default, so the default environment
variables should reflect this.

Change-Id: I86e1ae4e020e2be043cf8e190d7959b65b6c093c
2018-05-07 16:44:18 -05:00
melanie witt 12579c3db7 Set console proxy configuration according to cells v2 setup
Change 969239029d4a13956747e6e0b850d6c6ab4035f0 completed the
conversion of console token authorization storage from the
nova-consoleauth service to the database backend. With this change,
console proxies need to be configured on a per cell basis instead
of globally.

There was a devstack change 6645cf7a26
following it that re-enabled the novnc tempest tests, but the nova-next
job that runs the console proxies with TLS is *not* part of the normal
set of jobs that run on devstack changes (it's in the experimental
queue), so it was able to merge without the nova-next job passing.

This configures the nova console proxies in the per cell configuration
file if cells v2 is configured for multiple cells in order to pass the
nova-next job.

Closes-Bug: #1769286

Change-Id: Ic4fff4c59eda43dd1bc6e7b645b513b46b57c235
2018-05-07 15:16:22 +00:00
Zuul c5f59fc7d6 Merge "docs: Add placement-client to compute's ENABLED_SERVICES" 2018-05-07 12:51:13 +00:00
Zuul 37224aaa8f Merge "Switch to fedora-latest for nodeset name" 2018-05-07 12:51:12 +00:00
Zuul 3051d3ceff Merge "Re-enable novnc tempest tests" 2018-05-04 22:34:21 +00:00
Zuul 8cdf31e232 Merge "Run console proxies per cell instead of globally" 2018-05-04 16:16:10 +00:00
Paul Belanger bed03ea77a Switch to fedora-latest for nodeset name
To help avoid the amount zuul.yaml chrun when we bring a new version
of fedora online, switch to using fedora-latest. As of writing,
fedora-28 is the latest release which we update our testing for.

Also add fedora-28 support to stash.sh and remove fedora-25 /
fedora-26 as they are EOL.

Change-Id: I3d716554e8f270f4434cc9cac3408f8e890e0665
Depends-On: https://review.openstack.org/565758/
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-05-03 10:53:18 +10:00
Matt Riedemann 59e6ff10ce Remove IRONIC_USE_RESOURCE_CLASSES check
Nova has dropped support for non-resource class
baremetal scheduling, so the IRONIC_USE_RESOURCE_CLASSES
flag is no longer useful and has been removed.

Depends-On: https://review.openstack.org/565805/
Change-Id: Ib2e6c96409c98877f6a43b76f176c1420d2d415e
2018-05-02 11:45:09 -04:00
Artom Lifshitz 7e36ded0cf docs: Add placement-client to compute's ENABLED_SERVICES
In a multinode setup, the compute node needs to report to the
placement service. If it does not do so, it effectively does not exist
from the scheduler's point of view. This patch adds placement-client
to the compute node's ENABLED_SERVICES so that this can happen.

Change-Id: Ibfcd84e4626301bcdea70f719ade7f8365d03497
2018-05-02 15:13:37 +00:00
Zuul 200f8dd0fe Merge "Remove [placement]/os_region_name usage" 2018-05-02 11:01:26 +00:00
Monty Taylor 69057d4655 Register versioned endpoint for block-storage service
cinder does not yet support operations without project_id in the url.
The unversioned endpoint is not a usable endpoint for a user that
requests the block-storage service. Although it would be lovely to have
the block-storage service have the unversioned endpoint in the catalog,
we need to get project-id out of the urls first.

Change-Id: I4246708b6ea31496ba4d565ab422abc76f730ee7
Needed-By: https://review.openstack.org/564494
2018-05-01 05:57:21 -05:00
melanie witt 6645cf7a26 Re-enable novnc tempest tests
Once the nova patch series that converts from the nova-consoleauth
backend -> cell database backend lands, we can re-enable the novnc
tests in tempest.

Depends-On: If1b6e5f20d2ea82d94f5f0550f13189fc9bc16c4

Change-Id: I2939191a1c3ce49fa2104b4ffdf795fc416a1c33
2018-05-01 00:07:38 +00:00
melanie witt ed2d491960 Run console proxies per cell instead of globally
Along with converting to the database backend for console token auth,
the console proxies need to run per cell instead of globally. This way,
the instance UUID isn't needed in the access url as users will be
handed an access url local to the cell their instances is in. With
console proxies sharded across cells, a large cloud will no longer have
a bottleneck of one console proxy for the entire deployment.

This also disables the novnc tempest tests with a TODO to re-enable
them once the nova patch series that converts from the nova-consoleauth
backend -> cell database backend lands.

Change-Id: I67894a31b887a93de26f3d2d8a1fa84be5b9ea89
2018-05-01 00:07:27 +00:00
Chris Dent e8bad5cd6a Init placement before nova
With change I7e1e89cd66397883453935dcf7172d977bf82e84 the placement
service may optionally use its own database. In order for this to
work, however, the ordering of how both nova and placement are
configured and initialized in stack.sh requires careful control.

* nova.conf must be created first
* then placement must make some adjustments to it
* then lib/placement needs to create the placement database
* before nova does a database sync (of both databases)

Otherwise, when the placement_database/connection is defined, the nova
db_sync command will fail because the placement database does not yet
exist. If we try to do a sync before the nova_api database is created
_that_ sync will fail.

This patch adjusts the ordering and also removes a comment that will
no longer be true when I7e1e89cd66397883453935dcf7172d977bf82e84 is
merged.

Change-Id: Id5b5911c04d198fe7b94c7d827afeb5cdf43a076
2018-04-25 14:55:59 +01:00
Andrea Frittoli (andreaf) 05da9a9b1e Enable nova VNC configuration on the subnode
The n-novnc service only runs on the controller node, however novnc
settings must be enabled on both nodes for vnc to work, since both
hosts are compute hosts.

Change-Id: Icc29441f507e6e4df9fd900eb7f35b0862f52043
2018-04-25 13:52:44 +01:00
Zuul 24fa317234 Merge "Clean up Glance config files" 2018-04-24 15:13:37 +00:00
Zuul 928a463d61 Merge "Enable tempest tests for application credentials" 2018-04-23 22:21:42 +00:00
Andrea Frittoli afe1414019 Ensure passwordless ssh with stack between nodes
For compute migration to work, the stack user needs to be configured
with passwordless ssh between all hosts involved in the migration.

Reuse the build ssh-key for this, which is already distributed for
user root.

Depends-on: https://review.openstack.org/563584

Change-Id: Id07f55fea06509466add35315c135dbfba6aa714
2018-04-23 11:44:33 +00:00
Zuul 4d4e237e69 Merge "Remove the sample configuration file for keystone" 2018-04-23 10:44:57 +00:00
Lance Bragstad fe628b9fb2 Remove the sample configuration file for keystone
This commit just makes sure that the configuration file for keystone
exists on the system. We use iniset to actually populate the values
we want before we run keystone anyway.

This results in a cleaner configuration file that isn't bloated with
comments and help text.

Change-Id: I7a1f879e9e242a11e2c4663ec116e33da28db7f5
2018-04-20 02:13:14 +00:00
Zuul a0f319fc6d Merge "Automatically set LIBS_FROM_GIT based on required projects" 2018-04-19 12:44:31 +00:00
James E. Blair e1edde38ed Automatically set LIBS_FROM_GIT based on required projects
If a project shows up in zuul's required-projects list, add it
to LIBS_FROM_GIT automatically.  This way, when a user specifies
that a job requires a zuul-project, it gets used in testing, but
otherwise, it doesn't (pypi is used instead).

Also add information about what happens behind the scenes for both
LIBS_FROM_GIT and plugin dependencies.

This moves the check performed in check_libs_from_git to
a helper function which is installed for most kinds of
installations.  This means that if someone sets LIBS_FROM_GIT to
"foobar", devstack won't error anymore, as nothing is going to
try to install foobar, therefore the check won't run on that.
However, as we move to automated generation of the local config,
that error is not likely to happen.  This check was originally
added due to an error in the upper-constraints file (where a
constraint name did not match a package name).  This location of
the check would still catch that type of error.

Change-Id: Ifcf3ad008cf42d3d4762cfb3b6c31c93cfeb40db
2018-04-17 13:48:37 -07:00
Hongbin Lu f99d1771ba Do not use pip 10 or higher
It looks pip 10 failed the uninstallation of distutils installed
packages. This patch temporarily cap the version of pip to work-around. 

Closes-Bug: #1763966
Change-Id: I8bf80efc04883cd754c19bea0303064080112c6e
2018-04-14 20:58:31 +00:00
Zuul d10c0bbed1 Merge "Apply contraints to tempest plugins" 2018-04-13 11:50:34 +00:00
Zuul 219184504c Merge "Switch to mkisofs for openSUSE distributions" 2018-04-13 11:17:04 +00:00
Zuul 0f6ecb7ae4 Merge "Start OVS as root on Tumblweed to workaround bsc#1085971" 2018-04-13 11:13:18 +00:00
Daniel Mellado dc5d88bc0b Apply contraints to tempest plugins
This commit applies the constraints for the tempest plugin installation
so they won't go over the upper reqs.

Closes-Bug: 1763436
Change-Id: I5cf91157bbdae79dec01d5b3db32efea21f1b2b7
2018-04-12 17:54:07 +02:00
Dirk Mueller c114449bdb Switch to mkisofs for openSUSE distributions
In Tumbleweed genisoimage was dropped in favor of cdrtools,
so installing that no longer works. We can however install
mkisofs directly and switch to that as that is also available
in Leap 42.3 and Leap 15.0+ family distros.

Also drop dependency on libmysqlclient-devel which appears
unnecessary (and is no longer available with mariadb 10.2+)

Change-Id: Ie8402204b6cdf94c21865caba116d3fd1298c5ad
2018-04-11 23:44:48 +02:00
Zuul 72042fc6a7 Merge "Use Queens UCA" 2018-04-11 21:22:34 +00:00
Dirk Mueller 486057f339 Start OVS as root on Tumblweed to workaround bsc#1085971
There is currently a OVS 2.9.0 update in Tumbleweed that
fails to start as it is having a race with systemd on creating
the home directory. Workaround is to run it as root for now.

Change-Id: Ief610c6473834b02a1d644d8f50d11138a48e6e6
2018-04-11 21:31:53 +02:00
Colleen Murphy 931f82dc29 Enable tempest tests for application credentials
In Queens and later, the application credentials feature is available on
keystone and enabled by default. It should be tested in devstack.

Depends-on: https://review.openstack.org/545627
Change-Id: I4b0dc823487e79df16e1e603012ba4a7dc438389
2018-04-09 00:11:48 +00:00
Zuul 935a89801b Merge "Use NOVA_BIN_DIR / SWIFT_BIN_DIR for binaries" 2018-04-08 14:05:16 +00:00
Zuul 22855eb787 Merge "Add documention for setting up LDAP" 2018-04-08 12:38:01 +00:00
David Rabel c77c9497a5 Fix indentation in devstack-with-lbaas-v2
guides/devstack-with-lbaas-v2 contained an indentation misstake,
that formatted some of the text unintentionally as quotations.

Change-Id: Ibbad4974c45f028d3de461ba69e0cea837d9c871
2018-04-05 20:56:22 +02:00
Matt Riedemann 295610c89e Remove [placement]/os_region_name usage
The [placement]/os_region_name config option is deprecated
and no longer required to be set (the default is fine for
devstack) with the dependent nova change.

Depends-On: I973180d6a384b32838ab61d4e6aaf73c255fd116

Change-Id: I6379acf179ed511f1cdadbd7fb09e2454182a5d3
2018-04-05 12:10:30 -04:00
Lance Bragstad f3f7c07925 Add documention for setting up LDAP
Devstack supports deploying an LDAP server and configuring keystone
to use it, but we didn't have any documentation for it. This commit
adds some basic documentation that should help developers setup
LDAP-backed development environments.

Change-Id: I8ba07d73f52cb7f575ff2953977e9fdcade92d83
2018-04-05 14:57:01 +00:00
Zuul 4dde3b8b7c Merge "Updated from generate-devstack-plugins-list" 2018-04-05 10:20:06 +00:00
Zuul ebabcfd857 Merge "Extract a devstack-minimal base job" 2018-04-05 09:35:14 +00:00
Zuul 30b9d4879a Merge "remove unnecessary cleanup in nova startup" 2018-04-04 18:33:33 +00:00
Zuul d596a951e5 Merge "Add a new FAQ entry for dev environments" 2018-04-04 17:12:40 +00:00
Monty Taylor 4d7e337576 Extract a devstack-minimal base job
For folks who are doing functional testing with less than the full set
of normal base services. Should be a no-op/ignorable for most people.

Change-Id: If14ee018c01995e0a5b6bcdaac9ddc8810c6d503
2018-04-04 09:42:03 -05:00
Jens Harbott 87c0de5240 Export OS_CACERT after sourcing .stackenv file
This makes sure that it is available to subprocesses like the other
authentication data.

Change-Id: I513b7c2620b171ce20a1ceb5536226f3a69f2b82
Closes-Bug: 1760901
2018-04-04 08:11:50 +00:00
Paul Belanger a62ede7d50 Use NOVA_BIN_DIR / SWIFT_BIN_DIR for binaries
Fix a few path issues where we didn't properly use NOVA_BIN_DIR /
SWIFT_BIN_DIR.

This is part of the effort to start using a virtualenv for openstack
services.

Change-Id: I6eb383db65cc902c67c43e5cb1a16a9716a914b2
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-03-31 19:20:24 -04:00
OpenStack Proposal Bot d6558b8857 Updated from generate-devstack-plugins-list
Change-Id: I12b31df6f53926dd79a6094ca998957f485e8133
2018-03-31 06:11:19 +00:00
Tony Breeds d9060111d9 [trivial] Comment fix
In I5103b4331a8d7c5660848fc148ebe4139ce6dad9 it was noted that the
comment was wrong.  While this has no functional impact let's clean it
up while it's fresh.

Change-Id: Ia6cf8125214c69f8289fa7cff948afc10801ed2f
2018-03-29 12:10:28 +11:00
Dean Troyer aab248bc89 Another openstacksdk rename fix
Missed one, this is blocking OSc's functional-tips tests

Change-Id: Iecf848c1791b1f204b0867e9da3e2ed994f02da3
2018-03-28 13:51:31 -05:00
Zuul 95e988ddaf Merge "Update default ETCD_VERSION to latest 3.2 etcd release" 2018-03-28 09:19:16 +00:00
OpenStack Proposal Bot 40a58d0525 Updated from generate-devstack-plugins-list
Change-Id: I35e087b203f463532788284227fddd233cb6ba0d
2018-03-28 06:36:09 +00:00
esberglu b8fcb2594c Update default ETCD_VERSION to latest 3.2 etcd release
This updates the default ETCD_VERSION to the latest 3.2 etcd release,
v3.2.17.  3.2 is chosen as it is packaged in bionic and fedora; we
hope to move to packaged versions for distros that support it in due
course.

This version supports arm64 and ppc64le which were not supported by the
previous default, v3.1.10.

We have removed the override to tarballs.o.o, as these files are now
cached as described in [1]

[1] http://lists.openstack.org/pipermail/openstack-infra/2018-March/005871.html

Depends-On: https://review.openstack.org/556688
Change-Id: I5103b4331a8d7c5660848fc148ebe4139ce6dad9
2018-03-27 00:39:54 +00:00
Zuul 3aa49eabd8 Merge "Add bionic as supported distro" 2018-03-26 00:06:13 +00:00
OpenStack Proposal Bot 3e813ae7c3 Updated from generate-devstack-plugins-list
Change-Id: I64ec2bd77785744df7791c13ea2b3065a781db3e
2018-03-24 06:13:44 +00:00
Matt Riedemann 2b3bb30d99 Only sync the local cell in superconductor mode
When nova-manage db sync runs on cell1 in superconductor
mode, the [api_database]/connection config option isn't
set in the config file on purpose so the cell can't
reach the API database.

As a result, the db sync on the cell config can't hit
the API DB to sync cell0, which is not something we need
here anyway, but it results in an error message.

This tells the cell config db sync to just run it on the
cell database and not try to sync cell0.

Change-Id: Iac092762decd6de9e90e264f2998d255e8e40d00
2018-03-23 19:56:26 -04:00
Huan Xiong 63beab5243 init_cinder() shouldn't always create DEFAULT_VOLUME_GROUP_NAME
DEFAULT_VOLUME_GROUP_NAME volume group is LVM ephemeral storage used by
Nova. It is created by init_nova() if user sets NOVA_BACKEND to "LVM".
However, init_cinder() is also hardcoded to create it, based on the
asumption that CINDER_ENABLED_BACKENDS includes it. That assumption
doesn't hold for the current code. What's more important, even if user
wants to use DEFAULT_VOLUME_GROUP_NAME as one of cinder backends and
adds it to CINDER_ENABLED_BACKENDS, the current code in init_cinder()
are general enough and should work fine. This change removes relevant
code in init_cinder(). It also moves DEFAULT_VOLUME_GROUP_NAME clean-up
code from unstack.sh to cleanup_nova().

Change-Id: I53762f8eda6256f962cc4e1f1098406879bbcf5c
2018-03-23 14:42:37 +00:00
Monty Taylor 236250f1c3 Rename python-openstacksdk to openstacksdk
Change-Id: Ia77163f330f674146b369dfebea56bd97820057e
Depends-On: https://review.openstack.org/554662
2018-03-23 08:27:57 -05:00
Zuul 9cc3e636fc Merge "Zuul: support plugin dependencies" 2018-03-23 05:56:30 +00:00
Zuul 5bae5e93c7 Merge "Add nova-cells-v1 to experimental queue jobs" 2018-03-23 03:29:41 +00:00
James E. Blair 6f27fca4a7 Zuul: support plugin dependencies
Change-Id: I81302e8988fe6498fea9f08ed66f5d0cc1fce161
2018-03-22 11:50:49 -07:00
Zuul 8288bccc3c Merge "URL changes are modified to be correct" 2018-03-21 08:33:19 +00:00
Zuul f68884ae62 Merge "Allow public router external net to use a non-flat provider network." 2018-03-20 08:31:58 +00:00
Zuul a14b78082f Merge "functions-common: Don't reguess Python versions" 2018-03-19 18:39:14 +00:00
Matt Riedemann 23df4da0d4 Use Queens UCA
This updates the UCA usage from Pike to Queens. As a result,
the various volume multiattach checks can also be removed
because the Queens UCA has libvirt 4.0.0.

Change-Id: Icb971831c8d4fe5f940d9e7993d53f1c3765e30f
2018-03-19 14:27:01 -04:00
Zuul 61e0b16c66 Merge "Add project_tags identity feature flag" 2018-03-19 09:11:03 +00:00
Zuul f59311b816 Merge "Fix devstack job: the dict name is devstack_local_conf" 2018-03-18 20:44:01 +00:00
Zuul 07241f8b8a Merge "neutron: Do no longer set "url" in nova.conf" 2018-03-18 17:24:30 +00:00
Luigi Toscano 34e09dd3a9 Fix devstack job: the dict name is devstack_local_conf
It looks like a typo.

Change-Id: Id017b169f25a7589da3eca509c28f5d867fd5962
2018-03-18 17:56:27 +01:00
Zuul 37a72cf89a Merge "Add DVR support to lib/neutron" 2018-03-16 12:00:31 +00:00
Zuul bd857b928e Merge "Set [scheduler]workers=$API_WORKERS" 2018-03-16 08:14:22 +00:00
Felipe Monteiro 1ab9a2d144 Add project_tags identity feature flag
This PS adds the project_tags identity feature flag which allows
identity v3 project tags API functionality to be enabled for
releases after Pike. Once Pike is no longer supported in Tempest
this feature flag can be removed.

Depends-On: Ibaec1df79c9ac69c65cf5075c3519092bc609546
Change-Id: Iec6b34c10ea1bd7103720c773b48ce130643115d
2018-03-16 02:09:53 +00:00
Matt Riedemann 18abffb72b Mention test-config phase in config docs
I had to dig into the stack.sh code to figure out why
my tempest.conf post-config wasn't work, and it's because
post-config isn't the thing to use to configure tempest,
test-config is.

Change-Id: Ic5bbe36b5d44880d0a3a602f653b4f61fd89e9c8
Related-Bug: #1755947
2018-03-14 20:09:14 -04:00
Zuul 9f50f54138 Merge "Revert to using neutron-legacy based services" 2018-03-13 17:40:14 +00:00
Zuul a534913572 Merge "Remove default value for Cinder Auth Strategy" 2018-03-13 16:35:13 +00:00
Jens Harbott cb1448495b Add bionic as supported distro
Add the upcoming release Ubuntu 18.04 Bionic Beaver to the list of
supported distros. Drop the now unsupported 17.04 (zesty) instead.

Change-Id: Iea0b4bfdc510797f7886fac96eff6fdfb730252d
2018-03-13 14:27:37 +00:00
Jens Harbott e6faf84ec3 Revert to using neutron-legacy based services
The patch to remove the use of the test-matrix [0] also switched from
using the neutron-legacy based service names (q-*) to the new neutron-*
names. However it turns out that the new implementation is not yet working
properly for most neutron-consuming projects, so we switch back to the
previous situation for now.

[0] https://review.openstack.org/546765

Change-Id: Id6de87211d6c4ea8fd14aa9203d8d5b17e9e2f04
2018-03-13 12:21:34 +00:00
Zuul 780c4f4092 Merge "Save rc from stack.sh in run-devstack role" 2018-03-13 12:14:41 +00:00
Zuul cc4f6717fb Merge "Break up fixup_stuff" 2018-03-13 07:35:05 +00:00
Zuul 8d2f2644d4 Merge "Add an openSUSE Tumbleweed devstack non-voting check job" 2018-03-13 02:07:02 +00:00
Zuul 32bc9ef600 Merge "Updated from generate-devstack-plugins-list" 2018-03-13 02:06:46 +00:00
Zuul b1080c03a7 Merge "Remove use of git -C option from tempest venv creation" 2018-03-13 02:06:45 +00:00
Ivan Kolodyazhny 165199eebd Remove default value for Cinder Auth Strategy
Cinder supports both noauth and keystone auth mode. So now we can
configure this value via local.conf:

[[post-config|$CINDER_CONF]]
[DEFAULT]
auth_strategy = noauth

Change-Id: I1e434362117ab30dae71a8f3a80bc139e78f51bc
2018-03-12 22:26:17 +02:00
Stephen Finucane c81947a37d Remove remnants of SCREEN_LOGDIR
These appear to have been missed in commit 'cdba1b371'.

Change-Id: Ibb7fd7a0d54750c16360dfceb8e6b024ed8f504e
2018-03-12 15:21:13 +00:00
Jens Harbott dc78ef8880 Save rc from stack.sh in run-devstack role
Avoid overriding the failure state of stack.sh by the trailing echo
command.

Change-Id: I74820709edc98f67ff1a0c620ce5db3a3571b7f5
2018-03-12 14:48:53 +00:00
Sam Betts db5a5b3c20 Remove use of git -C option from tempest venv creation
The -C option is not available in git versions older than "1.8.5" which
are still shipped by several distributions including centos 7.

Due to this incompatibility the patch has broken third party CI for
Cisco on Ironic.

Change-Id: I09a6f83f8b2fee870e6e1c50cbfdf2da4d70dfb2
2018-03-12 10:42:51 +00:00
OpenStack Proposal Bot 1c9f1bf414 Updated from generate-devstack-plugins-list
Change-Id: I5147dda76b476a6d3caf977077f41f904b304059
2018-03-12 06:14:09 +00:00
Zuul 64c7c54f1e Merge "Enforce linear strategy for orchestrate-devstack" 2018-03-12 00:18:28 +00:00
Zuul 9f13030f53 Merge "use master upper-constraints when building tempest venv" 2018-03-11 13:19:42 +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
Andrea Frittoli 02bb57bfef Enforce linear strategy for orchestrate-devstack
Document that orchestrate-devstack requires a linear strategy in the
invoking play. Also enforce the strategy in devstack.yaml.

Change-Id: Ia081225ec2be959fc5a4ddfd491f526296a8ca10
2018-03-11 11:17:42 +00:00
Zuul 06fa9dfc17 Merge "Document v2 to v3 devstack job migration" 2018-03-11 10:57:05 +00:00
Zuul 6d9e483172 Merge "Document jobs" 2018-03-11 10:57:03 +00:00
Zuul 5a6683dba1 Merge "Fix multinode mode for devstack" 2018-03-11 10:57:01 +00:00
Zuul ea62df4b5b Merge "Define devstack services without the test-matrix" 2018-03-11 10:56:59 +00: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
Zuul a6a36d11d8 Merge "Allow overrides for ETCD ports" 2018-03-11 05:43:44 +00:00
Andrea Frittoli f32f3f5266 Document v2 to v3 devstack job migration
Document how to map DEVSTACK_GATE flags into the zuul v3 ansible
world. This is just an initial structure, the idea is to document
most of the flags as well as provide example in-line and links to
finished jobs.

Change-Id: I377ebb529bcd8f4971906563c577e8cfc48b98e6
2018-03-09 20:24:54 +00:00
Andrea Frittoli 067e36582b Document jobs
Add inline documentation to jobs and render it in the jobs doc page.
Adjust the roles page to match jobs for title and filename.

Change-Id: I47a2b4b379c8517b0dea59a75943f3f871c29046
2018-03-09 20:04:34 +00:00
Zuul f80c750d75 Merge "Allow a non-127.0.0.1 definition for the hostname." 2018-03-09 13:38:56 +00:00
Zuul b3ce23a83b Merge "Fixing a typo - internationalized" 2018-03-09 13:20:51 +00:00
Zuul 96c45614c5 Merge "fixed_key: By default use a hardcoded fixed_key across devstack envs" 2018-03-09 08:37:36 +00:00
Andrea Frittoli 5e714d3308 Fix multinode mode for devstack
Extend the devstack job so that it can support both single and multinode
cases.  Multinode mode require extra settings in devstack configuration,
some of which as subnode specific, some controller specific.

Also keep a simple devstack-multinode job defined for now so we can run
a multinode job in devstack gate, until the full tempest multinode job
is ready to match the old
gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial-nv.

Fixing multinode also requires sharing the CA configuration between
controller and peers, overlay network configuration for communication
between virtual machines and running discover_hosts for nova after the
subnode has been setup.

The extra orchestration required for multinode is encoded in a
dedicated role to allow for jobs in other repos to re-use it.

Change-Id: I2dcbd9bdb401860820e655d97aa3c4775af2827f
2018-03-07 12:47:55 +00:00
Matt Riedemann 21221d1ad1 Configure nova to auto-calculate compute RPC upgrade levels
The openstack-ansible team found a regression in Queens when setting
the compute RPC upgrade_levels to 'auto' on a fresh install before any
computes had started up. The dependent change fixes the issue in nova
but for future proofing against this sort of issue again, we can set
the compute RPC upgrade levels in devstack to 'auto' for fresh installs
as well. Note that grenade already sets 'auto' for compute upgrade
levels, which is why we didn't catch this in grenade testing with the
compute RPC 5.0 version bump that caused the issue.

Depends-On: https://review.openstack.org/549737/

Change-Id: I07f34dbc09b6108ba8f5b2a83a28c75eb42be495
Related-Bug: #1753443
2018-03-06 23:50:36 +00:00
Matt Riedemann 36c3aaa07e Add nova-cells-v1 to experimental queue jobs
The legacy-tempest-dsvm-cells job is being moved into the
nova repo and renamed to nova-cells-v1. This change adds
the new job name to the in-tree definition of the experimental
queue jobs that run on devstack changes. A project-config change
will depend on this patch to undefine the legacy job name from
being used on devstack changes.

Depends-On: https://review.openstack.org/549780
Change-Id: I22fa1411809c46ffc423e0dd1cde0d8f40362635
2018-03-06 10:59:49 -05:00
Zuul e184e762aa Merge "Add a note on experimental jobs" 2018-03-06 12:39:11 +00:00
Zuul 52de6ee247 Merge "Ensure that stack home is owned by stack" 2018-03-06 11:11:46 +00:00
Zuul 07fc8ef826 Merge "Remove references to hardcoded file writing in /tmp" 2018-03-06 03:58:18 +00:00
Zuul 8efc710937 Merge "devstack master is rocky now" 2018-03-06 02:19:28 +00:00
Ian Wienand 1610cc2219 Add a note on experimental jobs
With I4161e1f1c8d47070dd35fad38b00715438d94eb2 and
I37fe007dc6f387d43cbaf55771027718005ac40d we have removed most of the
legacy experimental jobs.

Add a short note so we don't go back to the Hotel California model of
"you can check in but never check out".  With zuulv3 it is possible to
have self-testing changes for testing indiviual jobs.  Experimental
should be for things with wider application to run against all
changes.

Change-Id: Ibfb902b17a8f7d5355689f2a584c061c001df0d8
2018-03-06 11:40:46 +11:00
Andrea Frittoli (andreaf) 2a2349be5f Stage .localrc.auto
Change-Id: I9beb713a0b037e0229b13fd13d7d4de156ed0b59
Depends-on: https://review.openstack.org/544606
2018-03-06 09:24:55 +11:00
Zuul 4b41c304aa Merge "Change lib/neutron-legacy to use openstackclient" 2018-03-05 16:40:06 +00:00
Zuul d8ad1b26ff Merge "Define devstack-base abstract job" 2018-03-05 14:38:16 +00:00
Zuul fb288abb2c Merge "Restore NEUTRON_CREATE_INITIAL_NETWORKS flag" 2018-03-05 14:25:46 +00:00
Zuul 132db9a06d Merge "Run local script after nova cellsv2 is configured" 2018-03-05 13:01:25 +00:00
Zuul 6d1bc15cdc Merge "Replace depricated iscsi_helper with target_helper" 2018-03-05 12:53:40 +00:00
Zuul 458543694d Merge "Update nova api_class setting to backend" 2018-03-05 12:48:01 +00:00
Zuul 96abf696f5 Merge "Increse api_max_retries and api_retry_interval for ironic" 2018-03-05 12:48:00 +00:00
Zuul edd4c8f6c1 Merge "Move platform jobs to zuulv3 native" 2018-03-05 12:47:59 +00:00
Zuul d3faa7ce99 Merge "Run swift-container-sync under run_process" 2018-03-05 12:47:57 +00:00
Andrea Frittoli acca80414f Ensure that stack home is owned by stack
The role that sets up the user and its home folder must ensure that
the home folder is owned by stack as well.

Change-Id: I2e72d7b9d68a2a14f8a148ef82cbb3f569bd1cea
2018-03-03 22:16:50 +00:00
Andrea Frittoli (andreaf) d9c1275c5d Define devstack services without the test-matrix
Emit a disable_all_services and define which service we run in
the job directly. This drops the dependency from the test matrix,
from devstack default list of services and it makes it easier for
jobs to add/remove services based on the list in the base job.

Change-Id: Ib1debefd541b933dbfc54d484c263cc0ed60423d
2018-03-03 08:44:50 +00:00
Dirk Mueller 6bab8321b4 Remove references to hardcoded file writing in /tmp
/tmp is a world writeable directory, so using hardcoded filenames
in there is just a bad coding style (susceptible to symlink attacks).
Avoid using it to not give a bad precedent.

Change-Id: Ia66763a0e4714f2226e98dbd85600b2035bd5088
2018-03-02 21:15:04 +01:00
Dirk Mueller 3360ffb5f2 devstack master is rocky now
See #snowpenstack!

Change-Id: I2df485c2acf1bec0d0f7ddc6538bff2c2ec141e3
2018-03-02 21:08:58 +01:00
Lenny Verkhovsky f63ddd609f Replace depricated iscsi_helper with target_helper
Cinder change I5231f8fe3399deb9c57e6efb121d0d008dc9c7f4
replaces iscsi_helper with more general one.



Change-Id: I49fe0365b170e5a5b0449d80003bcf970e4c191d
2018-03-01 07:38:28 +00:00
Zuul af43b82502 Merge "Actually generate pip freeze outputs" 2018-03-01 00:05:10 +00:00
Thomas Bechtold ca61966f47 neutron: Do no longer set "url" in nova.conf
Since[1], "url" in the [neutron] section in nova.conf should no
longer be set.

[1]
https://github.com/openstack/nova/commit/6cde77ebbab85bc8ccd2ab7ad977b1d4af4a13fa

Depends-On: https://review.openstack.org/548572
Related-Bug: #1752289
Change-Id: Ied6c155da9d51a25ba7a524e69d018d39ed3442c
2018-02-28 16:40:38 +01:00
Pavlo Shchelokovskyy b59c93cc44 Actually generate pip freeze outputs
the shell script used is actually being run thru 'sh', not bash,
which does not understand "[[" test operators.

Explicitly run this script with /bin/bash instead.

Change-Id: I551d2631bcb6aef49550d69b3830ffcb509abfb7
2018-02-28 10:45:54 +00:00
Zuul a30f89b417 Merge "ceph plugin installation: umount correct device if it existed." 2018-02-27 09:16:25 +00:00
Andrea Frittoli 7b1d5b64ac Define devstack-base abstract job
Define an abstract job devstack base that does not require any
project apart from devstack. This job defines basic devstack_localrc
settings that are common to any devstack job (mostly to work with
infra) and devstack_services to emit "disable_all_services" so to
cancel any devstack default.

The variables are defined as global ones as well as host-vars for
the controller and group-vars for peer nodes, so that any
descendent job may extend them, thanks for Zuul dict merging.

Change-Id: I2cdb723f6ee209683044fecec59ff7b510a2752b
2018-02-27 07:39:10 +00:00
Jacky Hu 7880904d15 Run local script after nova cellsv2 is configured
If user try to create a server in local script before nova cells is
configured, it will run into the following error:
Host 'x' is not mapped to any cell.

Change-Id: I4fe76865fd6e16d5beb5ed9e5d6a9f3542e990a5
2018-02-26 18:36:59 +08:00
Zuul 8408edbdfd Merge "XenAPI: remove xen tools" 2018-02-25 15:29:39 +00:00
Jens Harbott 730ce45466 Create NOVA_READY_TIMEOUT in is_nova_ready function
The function was introduced in [0] using a hardcoded timeout of 60
seconds which turns out to be too small on slow machines. Create a new
global variable NOVA_READY_TIMEOUT instead so that users can
override the timeout if necessary.

[0] I32eb59b9d6c225a3e93992be3a3b9f4b251d7189

Co-Authored-By: Mohammed Naser <mnaser@vexxhost.com>
Change-Id: I0cd7f193589a1a0776ae76dc30cecefe7ba9e5db
2018-02-23 16:52:23 -05:00
Jianghua Wang e619603bda XenAPI: remove xen tools
The xen tools have been moved to the project of *os-xenapi* since
os-xenapi 0.3.0. We also did some refact work on these tools in
os-xenapi. This commit is to remove these tools from devstack. So
that os-xenapi will be the single place for xen tools.

Change-Id: I4fdbe6bce12dfedd0d1e975ab8dd624ee3740c11
2018-02-23 03:58:56 +00:00
Ian Wienand 11641ce14d Move platform jobs to zuulv3 native
We've called the jobs that don't run on our main Ubuntu targets
"platform" jobs; start at moving these jobs to native jobs.

Depends-On: https://review.openstack.org/541010

Change-Id: Ib64d91206a9ac677f4d77873bc54c6a84702d6c3
2018-02-23 08:26:34 +11:00
Ian Wienand 2346e9a8b5 Run swift-container-sync under run_process
All the evidence from [1] suggests that on opensuse swift-init is not
detaching the daemon process correctly.  It's possible there's a pipe
still in play that somehow holds our ansible-streamer open.

This is a minimal fix to avoid swift-init.  Although it's possible in
non-default paths to still use swift-init (and hence possibly hit
another variant of this issue), after discussions with swift
developers it was decided the intersection of tests running under our
current ansible, on suse, that would enable these services is
sufficiently small that this is the best course for now.

[1] https://storyboard.openstack.org/#!/story/2001528

Change-Id: I1b68c08c07cf6653ea58506f738cbe0054b38f3a
2018-02-23 08:26:34 +11:00
Ian Wienand 83ecb97fec Add VERBOSE_NO_TIMESTAMP flag
As described in the documentation, this flag is intended for the case
where the console output is being captured by a tool that appends its
own timestamps.

In the gate this is the job-output.txt.  We want the console output as
people like to watch that scrolling by as part of the live console
log.  Although this gets saved to job-output.txt, we still want to
keep logging to the individual log files even though it's technically
a duplicate -- in the multinode case the job-output.txt gets
interleaved by all the running nodes; it's much easier to just look at
the individual log files.  Also, people are used to it where it is :)

Change-Id: I3486636f1c76139581f6cd9668426f507b7c621d
2018-02-23 08:26:34 +11:00
Ian Wienand e033e1b80f py3 changes for outfilter.py
I started running this with dib where we have pure python3
environments and it failed.

You can't have unbuffered text i/o in python3 for ... reasons? [1]
Changing the file to binary mode works around this.  Python3 opens
sys.stdin in text mode, so we need to manually convert the unicode
strings to bytes before we write them to the binary file.

[1] http://bugs.python.org/issue17404

Change-Id: Iebb26f0d3c2347d262cbc10dfd0912840cd05878
2018-02-23 08:26:34 +11:00
Ian Wienand a9e946471e Role apache-logs-conf: fix redhat matching
Ansible complains:

  The task includes an option with an undefined variable. The error
  was: 'dict object' has no attribute 'RedHat'

which is just a mismatch on the "Redhat" string

Change-Id: I447038256561740c224c68388fa5b6a068cc8fed
2018-02-23 08:26:32 +11:00
Zuul a7a8675cc1 Merge "Correct configuration setting using NUMBER_FAKE_NOVA_COMPUTE" 2018-02-22 20:47:57 +00:00
Paul Belanger d3106720d2 Suppress more stats tasks
By default stat is pretty verbose, we can set no_log: true to avoid
adding this info to our logs.

Change-Id: Ia18ebfe179443382cc670ffc4363ab037c43bb85
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-02-21 16:06:49 -05:00
Paul Belanger c9c39a4b04 Make the apache-logs-conf role even less verbose
Round 2 to add no_log to more things. Specific looping over stats, it
is pretty noise in logs and doesn't seem to add any value.

Change-Id: I580171e0061fa331f3ed510713f1ac7a1a6cb5ea
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-02-21 14:23:10 -05:00
Zuul 3e7b7c1dd6 Merge "Fix RedHat entry in apache_config_path" 2018-02-21 01:55:22 +00:00
Zuul 33ff3eaebe Merge "Updated from generate-devstack-plugins-list" 2018-02-20 16:26:54 +00:00
Daniel Mellado 2e9e90b9a8 Fix RedHat entry in apache_config_path
With CentOS 7, ansible is expecting to have RedHat as an attribute for
the dict so Discover configurations task fails with an undefined
variable error.

Closes-Bug: #1750573
Change-Id: I5bf9c4057ca9f75d730add9e429d0ef050c6d900
2018-02-20 14:20:45 +01:00
Zuul c5b8044726 Merge "Centralize setting default branch for stable branching" 2018-02-20 09:46:23 +00:00
Zuul 9f71c4ad4e Merge "nova: add support for TLS between novnc proxy & compute nodes" 2018-02-20 09:39:19 +00:00
OpenStack Proposal Bot 4d55aa734d Updated from generate-devstack-plugins-list
Change-Id: I7c5b33448df43c77fd188a3c44099d9c932d3173
2018-02-20 06:10:39 +00:00
Andrea Frittoli fddf3430d8 Render devstack ansible roles via zuul-sphinx
Change-Id: Ie0db5bcfdacc2543488704fe4428b68910bd6bf1
2018-02-19 18:34:43 +00:00
Matt Riedemann a3844240ab Set [scheduler]workers=$API_WORKERS
Since blueprint placement-claims in Pike, the Nova FilterScheduler
uses the placement service to make resource allocation 'claims'
before sending the build request to the chosen compute host to
perform the legacy style resource claim. This allows us to safely
scale out the number of scheduler workers when using the FilterScheduler.

The [scheduler]workers option defaults to ncpu if using the
FilterScheduler (which is the default scheduler driver) so to avoid
out of memory issues, we need to set $API_WORKERS scheduler workers
if using the FilterScheduler in devstack.

Depends-On: Ifdcd363d7bc22e73d76d69777483e5aaff4036e3
Change-Id: Ieae234eb5388560b3f66bf60c156a91a8e831bc4
2018-02-18 17:14:48 -05:00
Josh 8f7216290a Restore NEUTRON_CREATE_INITIAL_NETWORKS flag
Somehow this feature was lost in the transition
from q-svc to neutron-api. This patch does not
modify the default behavior but allows specifying
the flag to false to prevent devstack from creating
the public and private networks.

Change-Id: I952672496d007552c0c4d83db0d0df9be50326fc
Signed-off-by: Josh <jhershbe@redhat.com>
2018-02-18 14:21:39 +02:00
IWAMOTO Toshihiro 4d835e33b6 Break up fixup_stuff
Neutron functional tests want to use ubuntu cloud archive but it's
not possible to source the fixup_stuff.sh from a neutron CI setup
script. Break it up so that only the UCA portion can be executed
from neutron.

Change-Id: Ie18833bfa30f1789e63cbe9c86f5ece3453f43fb
2018-02-16 05:04:16 +00:00
Monty Taylor 22d70554ac Add /volume to block-storage endpoint
The block-storage endpoint was added to the catalog, but in the suburl
case it was not added with the /volume suburl. This leads to find it and
attempting to use it but not being able to because it's mis-formed.

Needed-By: https://review.openstack.org/545117
Change-Id: I84721c8ae637417e4b01be9e546ff77c250fc149
2018-02-15 16:42:49 -06:00
Sean McGinnis a492206700 Centralize setting default branch for stable branching
One of the steps when we create a new stable branch is to
branch devstack, then update the default branch for most
repos to use the new stable branch for each repo.

This requires making multiple updates throughout stackrc,
and to further complicate things, there are some repo
branch variables for branchless repos that should not be
updated along with the others.

This can be error prone if not fully aware of these
exceptions. To simplify this process a little, this
patch adds two common variables - one that can be set to
the new stable branch name for all of the repos that
should be branched, and one that can be used for all of
the branchless repos to make it explicit that those
values should be left alone. The cycle-trailing repos
have until two weeks after final release to branch, so
also adding another variable for those to make it easy
to update them at a later time, separately from the
other repos.

Change-Id: I82aa19e739eeda3721bac1cb5153ad0bf2d1125a
2018-02-15 11:21:15 -06:00
Zuul e46d6ad2b7 Merge "Make the apache-logs-conf role less verbose" 2018-02-14 03:17:23 +00:00
Zuul f2f49e5a55 Merge "Add the nova-next job to the experimental queue" 2018-02-13 21:30:23 +00:00
Zuul b3517ca103 Merge "Remove unneed devstack early log file" 2018-02-13 21:14:46 +00:00
Matt Riedemann 21e3be8a5e Add the nova-next job to the experimental queue
The nova-next job is being moved from openstack-zuul-jobs
to the nova repo and so we'll remove it's usage from
project-config, therefore we need to define it's usage for
devstack here.

The related project-config change is:

I36d96f89b3e5323746fcbcef5cc7e4d0384a184d

Depends-On: I24a5f73c29094a23e2fdef8ee8b43601300af593
Change-Id: I28971dc7e5cb0b5cf9698e5251a7bb099e63f3db
2018-02-13 10:31:09 -05:00
Zuul 3f2f418fbf Merge "Add Zuul v3 native unit-tests" 2018-02-12 23:24:54 +00:00
Chris Dent ac475bbb2a Correct configuration setting using NUMBER_FAKE_NOVA_COMPUTE
In Change-Id Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca the 'host'
setting used for each of the fake compute hosts was accidentally named
'nhost' ('\nhost' was edited poorly), so the setting doesn't actually do
anything: you create multiple nova-compute processes they think they are
all on the same host and only one hypervisor and resource provider is
created.

With the correction in place, the wait_for_compute function needs to be
updated to be aware of the fact that the hostnames on the compute
services will have a numeric prefix when the fake virt driver is used.

Change-Id: I5e8430d170c0b1c4f195ebe510aff8be59e4a3bc
2018-02-07 19:06:36 +00:00
Clark Boylan 81fac768b5 Remove unneed devstack early log file
In the run devstack role we specify a path to devstack_early_log then
hand it to stack.sh as a parameter which stack.sh does nothing with.
While looking at a fix for this it was pointed out that these early logs
make it into the job's output log now so we don't need a special file
for them. Rather than handle this as a special case just let the
job-output.txt log file pick up the logs for us which allows us to
remove this unneeded feature.

Change-Id: I9bedbe91c60257d94173b1c70676dd6c2b49dc91
2018-02-06 10:10:05 +11:00
Andreas Jaeger 838b833b63 Add Zuul v3 native unit-tests
Add new job to replace legacy-devstack-unit-tests.

Change-Id: I4fe59b1954514a7146a4412e3103a0a05a9250f2
2018-02-04 21:42:00 +01:00
Lee Yarwood da6de10f5d fixed_key: By default use a hardcoded fixed_key across devstack envs
This change mimics how fixed_key would actually be deployed in a real
world environment, with a single key shared across Nova and Cinder
across all hosts.

Change-Id: I50a48e2da57a1cc1ecd250150ea6e9c3745baaca
2018-02-04 16:22:34 +00:00
Andrea Frittoli 0f39756f61 Make the apache-logs-conf role less verbose
The role is logging a lot of useless data with all the stat info
from various config and log files. Remove verbosity using no_log.

Change-Id: I72c721573ffc4a14adc3e2b29285c1071b7ec4f7
2018-02-02 17:03:24 +00:00
Peter Penchev 854cb67636 Allow a non-127.0.0.1 definition for the hostname.
In some environments it might be useful to resolve the hostname to
an IP address that is reachable by other hosts in the local network.
If some of the configuration scripts have taken care of putting
a proper line in /etc/hosts, do not try to override it by appending
a 127.0.0.1 one.

Change-Id: I7ae20a66c473b0c683803cc44654cd95fcce3639
Closes-Bug: 1746751
2018-02-01 17:36:05 +02:00
Kaitlin Farr 8dd918c59e Update nova api_class setting to backend
Castellan switches the `api_class` config option to `backend`. The change
is still backwards compatible with the old `api_class` setting, but cinder
already updated to use the new option (see I5e46c738531d5d56777e91a00f4cee9531356f2e)
and it is better to use the new setting.

Change-Id: Ib609c82e7076d19676baaf4f08abd79ea11db0e3
2018-01-23 19:45:07 +00:00
Vasyl Saienko 64039ef300 Increse api_max_retries and api_retry_interval for ironic
There is no way to upgrade ironic before nova because of
grenade design. In multinode job we do not restart nova
as we test partial upgrade of ironic there.
On slow nodes upgrading ironic takes time and nova looses
ironic connectivity

This patch increases api_retry_interval and api_max_retries
to make sure we have a time to upgrade ironic before nova
compute stuck.

Change-Id: I3b1429d6561431a82edda04a0e574cac38771837
2018-01-23 12:07:19 +02:00
Tim Swanson bb7d2f233b Allow public router external net to use a non-flat provider network.
Allow users to auto-create a neutron non-flat providernet public network
and use it for external router interfaces.  By default, keep the existing
flat network type behavior.

Change-Id: I64f71b0c9fcac97b9b84b7d30ee61659b2a690f1
2018-01-18 10:59:51 -05: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
chengebj5238 789301240a URL changes are modified to be correct
Change-Id: Ied5ee7da0a37405f130f7cecff48919f16435952
2018-01-18 15:56:17 +08:00
Brian Haley 9aaa529f65 Add DVR support to lib/neutron
Added NEUTRON_DISTRIBUTED_ROUTING to more easily control DVR
configuration.  If set to True, DVR will be enabled and the
default agent mode will be set to 'dvr_snat' since that works
with all types of routers by default.  Advanced users can
override that by setting NEUTRON_DVR_MODE, for example in
multi-node configurations where different agent modes are
desired.

This should bring lib/neutron inline with lib/neutron-legacy
in supporting all the different DVR modes.

Change-Id: I9f25921eefc5b935aad3bb1edc5e41ee0ce43a84
2018-01-09 23:07:51 -05:00
Harald Jensas f0636bac05 Fixing a typo - internationalized
Assuming confusingness a few lines down is intentional ...

Change-Id: I3bd18aa32e1166bb1012ac65e83461b75be4f006
2017-12-20 12:09:41 +01:00
ghanshyam 7a8d850dcc Add variable to set volume service version on tempest
Tempest is going to test volume v3 APIs as default
in gate and running a separate job to run tests on v2 APIs.

To give this ability, this commit provide a var to tell
which API version need to be tested and accordingly it
configure the catalog_type and microversion setting on tempest.

Change-Id: I531f3b32e81ac5d282461597ca286c09429cb143
Needed-By: I0c9193501eb9eaa25eb5f0786bb72eb7855099fb
2017-12-14 09:23:52 +00:00
liumk 38a23d901a ceph plugin installation: umount correct device if it existed.
The loopback device is created for ceph osd. If the directory
${storage_data_dir} has been mounted when create disk, we should
umount ${storage_data_dir} instead of ${storage_data_dir}/drives/sdb1.

Change-Id: Ie9fe81c820c485dab9f049cf5a81c02424925728
Closes-Bug: #1689089
2017-12-13 15:53:08 +08:00
Brian Rosmaita 44a19b4fdc Clean up Glance config files
The current Glance config files are a combination of copied and
generated files.  This patch makes all the files generated and
removes now unnecssary ini(un)comment statements.  It additionally
removes some ini(un)comment statements that weren't having any
effect on the previously generated files.

Change-Id: I6e4b7694e8bebb7fe6661ead034ee257c768e342
2017-12-11 18:18:04 -05:00
Davanum Srinivas 27367bea48 Allow overrides for ETCD ports
This will enable us to run one etcd for devstack and another
for kubernetes in the same box if necessary

Change-Id: Ib71ded24727b80afd4d98eb68bade0f8c0f72311
2017-11-30 20:04:05 +00:00
Claudiu Belu 34c1679f2e use master upper-constraints when building tempest venv
The local requirements repo can be checked out to a stable branch,
in which case, the requirements might conflict with tempest's master
requirements.

Master branch's upper-constraints should be used when building tempest's
venv.

Closes-Bug: #1706009

Change-Id: Ifd64638cae2886671421149dbbff3a57f9c64257
2017-11-28 10:53:21 +00:00
Brian Haley 4bc42c7197 Change lib/neutron-legacy to use openstackclient
neutronclient has been deprecated, use openstack.

Change-Id: I55ea7b8c90b54c05aa0e3f3d4543732e516dc2e6
2017-11-16 17:20:21 +00:00
Daniel P. Berrange e9870eb18d nova: add support for TLS between novnc proxy & compute nodes
Nova is gaining the ability to run TLS over the connection between the
novnc proxy service and the QEMU/KVM compute node VNC server.

This adds a new config param - 'NOVA_CONSOLE_PROXY_COMPUTE_TLS=True' -
which instructs devstack to configure libvirt/QEMU to enable TLS for the
VNC server, and to configure the novncproxy to use TLS when connecting.
NB this use of TLS is distinct from use of TLS for the public facing API
controlled by USE_SSL, they can be enabled independently.

This is done in a generic manner so that it is easy to extend to cover
use of TLS with the SPICE and serial console proxy services too.

Change-Id: Ib29d3f5f18533115b9c51e27b373e92fc0a28d1a
Depends-on: I9cc9a380500715e60bd05aa5c29ee46bc6f8d6c2
Implements bp: websocket-proxy-to-host-security
2017-10-19 18:32:51 +00:00
YAMAMOTO Takashi 6839d42819 neutron-legacy: Remove no longer necessary vpnaas conditional
VPNaaS agent is going to be an L3 agent extention.

Related-Bug: #1692128
Depends-On: I0b86c432e4b2210e5f2a73a7e3ba16d10467f0f2
Change-Id: Id827274b7c74cdf71db6d1f2ab3eadb5fef099f5
2017-10-17 12:59:27 +09:00
Chris 0ffd5a944c remove unnecessary cleanup in nova startup
nova's instances directory may be a shared directory (ie nfs), in
these cases, we do not want to call nova_cleanup at startup since it
deletes everything under $NOVA_INSTANCES_PATH.

The nova_cleanup routine will still be called by the clean.sh script
which is fine since we're presumably cleaning up the whole openstack
cluster at that point.

Change-Id: Ieb4e5d0508d4ed4c5349c497554c5da2993c9cb0
Closes-Bug: #1649389
2017-06-23 11:38:41 -06:00
Sylvain Bauza b75a492870 Add a new FAQ entry for dev environments
Since it's pretty common to see blogposts recommending to mount /opt/stack
remotely or editing inline the code, adding some notes about the potential
risk of a reclone that could impact weeks of work.

Change-Id: I733d40b76fb02d8edf3719533fc8202547771871
Co-Authored-By: Stephen Finucane <sfinucan@redhat.com>
2017-03-09 09:39:58 +00:00
275 changed files with 11559 additions and 10528 deletions
+7 -2
View File
@@ -1,8 +1,11 @@
*~
.*.sw?
*.log
*.log.[1-9]
*-log
*.log.*
*-log.*
*.pem
*.pyc
.localrc.auto
.localrc.password
.prereqs
@@ -25,7 +28,7 @@ files/get-pip.py*
files/ir-deploy*
files/ironic-inspector*
files/etcd*
local.conf
/local.conf
local.sh
localrc
proto
@@ -35,3 +38,5 @@ stack-screenrc
userrc_early
AUTHORS
ChangeLog
tools/dbcounter/build/
tools/dbcounter/dbcounter.egg-info/
+2 -2
View File
@@ -1,4 +1,4 @@
[gerrit]
host=review.openstack.org
host=review.opendev.org
port=29418
project=openstack-dev/devstack.git
project=openstack/devstack.git
+885 -79
View File
File diff suppressed because it is too large Load Diff
+19
View File
@@ -0,0 +1,19 @@
The source repository for this project can be found at:
https://opendev.org/openstack/devstack
Pull requests submitted through GitHub are not monitored.
To start contributing to OpenStack, follow the steps in the contribution guide
to set up and use Gerrit:
https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
Bugs should be filed on Launchpad:
https://bugs.launchpad.net/devstack
For more specific information about contributing to this repository, see the
Devstack contributor guide:
https://docs.openstack.org/devstack/latest/contributor/contributing.html
+10 -101
View File
@@ -10,8 +10,8 @@ and so is limited to Bash (version 4 and up) and compatible shells.
Shell script was chosen because it best illustrates the steps used to
set up and interact with OpenStack components.
DevStack's official repository is located on git.openstack.org at
https://git.openstack.org/openstack-dev/devstack. Besides the master branch that
DevStack's official repository is located on opendev.org at
https://opendev.org/openstack/devstack. Besides the master branch that
tracks the OpenStack trunk branches a separate branch is maintained for all
OpenStack releases starting with Diablo (stable/diablo).
@@ -23,10 +23,10 @@ __ contribute_
.. _contribute: https://docs.openstack.org/infra/manual/developers.html
__ lp_
.. _lp: https://launchpad.net/~devstack
.. _lp: https://launchpad.net/devstack
The `Gerrit review
queue <https://review.openstack.org/#/q/project:openstack-dev/devstack,n,z>`__
queue <https://review.opendev.org/#/q/project:openstack/devstack>`__
is used for all commits.
The primary script in DevStack is ``stack.sh``, which performs the bulk of the
@@ -47,12 +47,7 @@ The DevStack repo generally keeps all of the primary scripts at the root
level.
``doc`` - Contains the Sphinx source for the documentation.
``tools/build_docs.sh`` is used to generate the HTML versions of the
DevStack scripts. A complete doc build can be run with ``tox -edocs``.
``exercises`` - Contains the test scripts used to sanity-check and
demonstrate some OpenStack functions. These scripts know how to exit
early or skip services that are not enabled.
A complete doc build can be run with ``tox -edocs``.
``extras.d`` - Contains the dispatch scripts called by the hooks in
``stack.sh``, ``unstack.sh`` and ``clean.sh``. See :doc:`the plugins
@@ -79,8 +74,7 @@ of test of specific fragile functions in the ``functions`` and
``tools`` - Contains a collection of stand-alone scripts. While these
may reference the top-level DevStack configuration they can generally be
run alone. There are also some sub-directories to support specific
environments such as XenServer.
run alone.
Scripts
@@ -150,8 +144,8 @@ follows:
* Global configuration that may be referenced in ``local.conf``, i.e. ``DEST``, ``DATA_DIR``
* Global service configuration like ``ENABLED_SERVICES``
* Variables used by multiple services that do not have a clear owner, i.e.
``VOLUME_BACKING_FILE_SIZE`` (nova-compute, nova-volumes and cinder) or
``PUBLIC_NETWORK_NAME`` (nova-network and neutron)
``VOLUME_BACKING_FILE_SIZE`` (nova-compute and cinder) or
``PUBLIC_NETWORK_NAME`` (only neutron but formerly nova-network too)
* Variables that can not be cleanly declared in a project file due to
dependency ordering, i.e. the order of sourcing the project files can
not be changed for other reasons but the earlier file needs to dereference a
@@ -168,7 +162,7 @@ Documentation
The DevStack repo now contains all of the static pages of devstack.org in
the ``doc/source`` directory. The OpenStack CI system rebuilds the docs after every
commit and updates devstack.org (now a redirect to docs.openstack.org/developer/devstack).
commit and updates devstack.org (now a redirect to https://docs.openstack.org/devstack/latest/).
All of the scripts are processed with shocco_ to render them with the comments
as text describing the script below. For this reason we tend to be a little
@@ -183,88 +177,6 @@ The complete docs build is also handled with <code>tox -edocs</code> per the
OpenStack project standard.
Exercises
---------
The scripts in the exercises directory are meant to 1) perform basic operational
checks on certain aspects of OpenStack; and b) document the use of the
OpenStack command-line clients.
In addition to the guidelines above, exercise scripts MUST follow the structure
outlined here. ``swift.sh`` is perhaps the clearest example of these guidelines.
These scripts are executed serially by ``exercise.sh`` in testing situations.
* Begin and end with a banner that stands out in a sea of script logs to aid
in debugging failures, particularly in automated testing situations. If the
end banner is not displayed, the script ended prematurely and can be assumed
to have failed.
::
echo "**************************************************"
echo "Begin DevStack Exercise: $0"
echo "**************************************************"
...
set +o xtrace
echo "**************************************************"
echo "End DevStack Exercise: $0"
echo "**************************************************"
* The scripts will generally have the shell ``xtrace`` attribute set to display
the actual commands being executed, and the ``errexit`` attribute set to exit
the script on non-zero exit codes::
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
* Settings and configuration are stored in ``exerciserc``, which must be
sourced after ``openrc`` or ``stackrc``::
# Import exercise configuration
source $TOP_DIR/exerciserc
* There are a couple of helper functions in the common ``functions`` sub-script
that will check for non-zero exit codes and unset environment variables and
print a message and exit the script. These should be called after most client
commands that are not otherwise checked to short-circuit long timeouts
(instance boot failure, for example)::
swift post $CONTAINER
die_if_error "Failure creating container $CONTAINER"
FLOATING_IP=`euca-allocate-address | cut -f2`
die_if_not_set FLOATING_IP "Failure allocating floating IP"
* If you want an exercise to be skipped when for example a service wasn't
enabled for the exercise to be run, you can exit your exercise with the
special exitcode 55 and it will be detected as skipped.
* The exercise scripts should only use the various OpenStack client binaries to
interact with OpenStack. This specifically excludes any ``*-manage`` tools
as those assume direct access to configuration and databases, as well as direct
database access from the exercise itself.
* If specific configuration needs to be present for the exercise to complete,
it should be staged in ``stack.sh``, or called from ``stack.sh``.
* The ``OS_*`` environment variables should be the only ones used for all
authentication to OpenStack clients as documented in the CLIAuth_ wiki page.
.. _CLIAuth: https://wiki.openstack.org/CLIAuth
* The exercise MUST clean up after itself if successful. If it is not successful,
it is assumed that state will be left behind; this allows a chance for developers
to look around and attempt to debug the problem. The exercise SHOULD clean up
or graciously handle possible artifacts left over from previous runs if executed
again. It is acceptable to require a reboot or even a re-install of DevStack
to restore a clean test environment.
Bash Style Guidelines
~~~~~~~~~~~~~~~~~~~~~
DevStack defines a bash set of best practices for maintaining large
@@ -276,7 +188,7 @@ to enforce basic guidelines, similar to pep8 and flake8 tools for Python. The
list below is not complete for what bashate checks, nor is it all checked
by bashate. So many lines of code, so little time.
.. _bashate: https://pypi.python.org/pypi/bashate
.. _bashate: https://pypi.org/project/bashate/
Whitespace Rules
----------------
@@ -362,9 +274,6 @@ your change
even years from now -- why we were motivated to make a change at the
time.
* **Reviewers** -- please see ``MAINTAINERS.rst`` for a list of people
that should be added to reviews of various sub-systems.
Making Changes, Testing, and CI
-------------------------------
-92
View File
@@ -1,92 +0,0 @@
MAINTAINERS
===========
Overview
--------
The following is a list of people known to have interests in
particular areas or sub-systems of devstack.
It is a rather general guide intended to help seed the initial
reviewers list of a change. A +1 on a review from someone identified
as being a maintainer of its affected area is a very positive flag to
the core team for the veracity of the change.
The ``devstack-core`` group can still be added to all reviews.
Format
~~~~~~
The format of the file is the name of the maintainer and their
gerrit-registered email.
Maintainers
-----------
.. contents:: :local:
Ceph
~~~~
* Sebastien Han <sebastien.han@enovance.com>
Cinder
~~~~~~
Fedora/CentOS/RHEL
~~~~~~~~~~~~~~~~~~
* Ian Wienand <iwienand@redhat.com>
Neutron
~~~~~~~
MidoNet
~~~~~~~
* Jaume Devesa <devvesa@gmail.com>
* Ryu Ishimoto <ryu@midokura.com>
* YAMAMOTO Takashi <yamamoto@midokura.com>
OpenDaylight
~~~~~~~~~~~~
* Kyle Mestery <mestery@mestery.com>
OpenFlow Agent (ofagent)
~~~~~~~~~~~~~~~~~~~~~~~~
* YAMAMOTO Takashi <yamamoto@valinux.co.jp>
* Fumihiko Kakuma <kakuma@valinux.co.jp>
Swift
~~~~~
* Chmouel Boudjnah <chmouel@enovance.com>
SUSE
~~~~
* Ralf Haferkamp <rhafer@suse.de>
* Vincent Untz <vuntz@suse.com>
Tempest
~~~~~~~
Xen
~~~
* Bob Ball <bob.ball@citrix.com>
Zaqar (Marconi)
~~~~~~~~~~~~~~~
* Flavio Percoco <flaper87@gmail.com>
* Malini Kamalambal <malini.kamalambal@rackspace.com>
Oracle Linux
~~~~~~~~~~~~
* Wiekus Beukes <wiekus.beukes@oracle.com>
+5 -5
View File
@@ -4,7 +4,7 @@ from git source trees.
Goals
=====
* To quickly build dev OpenStack environments in a clean Ubuntu or Fedora
* To quickly build dev OpenStack environments in a clean Ubuntu or RockyLinux
environment
* To describe working configurations of OpenStack (which code branches
work together? what do config files look like for those branches?)
@@ -28,9 +28,9 @@ Versions
The DevStack master branch generally points to trunk versions of OpenStack
components. For older, stable versions, look for branches named
stable/[release] in the DevStack repo. For example, you can do the
following to create a Pike OpenStack cloud::
following to create a Zed OpenStack cloud::
git checkout stable/pike
git checkout stable/zed
./stack.sh
You can also pick specific OpenStack project releases by setting the appropriate
@@ -38,7 +38,7 @@ You can also pick specific OpenStack project releases by setting the appropriate
`stackrc` for the default set). Usually just before a release there will be
milestone-proposed branches that need to be tested::
GLANCE_REPO=git://git.openstack.org/openstack/glance.git
GLANCE_REPO=https://opendev.org/openstack/glance.git
GLANCE_BRANCH=milestone-proposed
Start A Dev Cloud
@@ -55,7 +55,7 @@ When the script finishes executing, you should be able to access OpenStack
endpoints, like so:
* Horizon: http://myhost/
* Keystone: http://myhost/identity/v2.0/
* Keystone: http://myhost/identity/v3/
We also provide an environment file that you can use to interact with your
cloud via CLI::
+7 -20
View File
@@ -50,7 +50,6 @@ source $TOP_DIR/lib/placement
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/swift
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
set -o xtrace
@@ -113,7 +112,7 @@ cleanup_rpc_backend
cleanup_database
# Clean out data and status
sudo rm -rf $DATA_DIR $DEST/status
sudo rm -rf $DATA_DIR $DEST/status $DEST/async
# Clean out the log file and log directories
if [[ -n "$LOGFILE" ]] && [[ -f "$LOGFILE" ]]; then
@@ -122,16 +121,11 @@ fi
if [[ -n "$LOGDIR" ]] && [[ -d "$LOGDIR" ]]; then
sudo rm -rf $LOGDIR
fi
if [[ -n "$SCREEN_LOGDIR" ]] && [[ -d "$SCREEN_LOGDIR" ]]; then
sudo rm -rf $SCREEN_LOGDIR
fi
# Clean out the sytemd user unit files if systemd was used.
if [[ "$USE_SYSTEMD" = "True" ]]; then
sudo find $SYSTEMD_DIR -type f -name '*devstack@*service' -delete
# Make systemd aware of the deletion.
$SYSTEMCTL daemon-reload
fi
# Clean out the systemd unit files.
sudo find $SYSTEMD_DIR -type f -name '*devstack@*service' -delete
# Make systemd aware of the deletion.
$SYSTEMCTL daemon-reload
# Clean up venvs
DIRS_TO_CLEAN="$WHEELHOUSE ${PROJECT_VENV[@]} .config/openstack"
@@ -150,12 +144,5 @@ done
rm -rf ~/.config/openstack
# Clean up all *.pyc files
if [[ -n "$DEST" ]] && [[ -d "$DEST" ]]; then
find_version=`find --version | awk '{ print $NF; exit}'`
if vercmp "$find_version" "<" "4.2.3" ; then
sudo find $DEST -name "*.pyc" -print0 | xargs -0 rm
else
sudo find $DEST -name "*.pyc" -delete
fi
fi
# Clear any fstab entries made
sudo sed -i '/.*comment=devstack-.*/ d' /etc/fstab
+3 -6
View File
@@ -2,9 +2,6 @@ pbr>=2.0.0,!=2.1.0
Pygments
docutils
sphinx>=1.6.2
openstackdocstheme>=1.11.0
nwdiag
blockdiag
sphinxcontrib-blockdiag
sphinxcontrib-nwdiag
sphinx>=2.0.0,!=2.1.0 # BSD
openstackdocstheme>=2.2.1 # Apache-2.0
zuul-sphinx>=0.2.0
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

+1
View File
@@ -0,0 +1 @@
../../../samples/local.conf
+16 -26
View File
@@ -11,9 +11,6 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys
import os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
@@ -26,13 +23,22 @@ import os
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [ 'openstackdocstheme', 'sphinxcontrib.blockdiag', 'sphinxcontrib.nwdiag' ]
extensions = [
'sphinx.ext.autodoc',
'zuul_sphinx',
'openstackdocstheme',
]
# openstackdocstheme options
repository_name = 'openstack-dev/devstack'
bug_project = 'devstack'
bug_tag = ''
html_last_updated_fmt = '%Y-%m-%d %H:%M'
openstackdocs_repo_name = 'openstack/devstack'
openstackdocs_pdf_link = True
openstackdocs_bug_project = 'devstack'
openstackdocs_bug_tag = ''
openstackdocs_auto_name = False
# This repo is not tagged, so don't set versions
openstackdocs_auto_version = False
version = ''
release = ''
todo_include_todos = True
@@ -81,7 +87,7 @@ add_module_names = False
show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
pygments_style = 'native'
# A list of ignored prefixes for module index sorting.
modindex_common_prefix = ['DevStack-doc.']
@@ -119,11 +125,6 @@ html_theme = 'openstackdocs'
# pixels large.
#html_favicon = None
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
git_cmd = "git log --pretty=format:'%ad, commit %h' --date=local -n1"
html_last_updated_fmt = os.popen(git_cmd).read()
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
@@ -167,21 +168,10 @@ htmlhelp_basename = 'DevStack-doc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'DevStack-doc.tex', u'DevStack Docs',
('index', 'doc-devstack.tex', u'DevStack Docs',
u'OpenStack DevStack Team', 'manual'),
]
+150 -150
View File
@@ -41,6 +41,7 @@ The defined phases are:
- **extra** - runs after services are started and before any files in
``extra.d`` are executed
- **post-extra** - runs after files in ``extra.d`` are executed
- **test-config** - runs after tempest (and plugins) are configured
The file is processed strictly in sequence; meta-sections may be
specified more than once but if any settings are duplicated the last to
@@ -180,6 +181,9 @@ values that most often need to be set.
If the ``*_PASSWORD`` variables are not set here you will be prompted to
enter values for them by ``stack.sh``.
.. warning:: Only use alphanumeric characters in your passwords, as some
services fail to work when using special characters.
The network ranges must not overlap with any networks in use on the
host. Overlap is not uncommon as RFC-1918 'private' ranges are commonly
used for both the local networking and Nova's fixed and floating ranges.
@@ -204,7 +208,7 @@ Historical Notes
Historically DevStack obtained all local configuration and
customizations from a ``localrc`` file. In Oct 2013 the
``local.conf`` configuration method was introduced (in `review 46768
<https://review.openstack.org/#/c/46768/>`__) to simplify this
<https://review.opendev.org/#/c/46768/>`__) to simplify this
process.
Configuration Notes
@@ -223,25 +227,22 @@ check out. These may be overridden in ``local.conf`` to pull source
from a different repo for testing, such as a Gerrit branch
proposal. ``GIT_BASE`` points to the primary repository server.
::
::
NOVA_REPO=$GIT_BASE/openstack/nova.git
NOVA_BRANCH=master
NOVA_REPO=$GIT_BASE/openstack/nova.git
NOVA_BRANCH=master
To pull a branch directly from Gerrit, get the repo and branch from
the Gerrit review page:
the Gerrit review page::
::
git fetch https://review.opendev.org/openstack/nova \
refs/changes/50/5050/1 && git checkout FETCH_HEAD
git fetch https://review.openstack.org/p/openstack/nova refs/changes/50/5050/1 && git checkout FETCH_HEAD
The repo is the stanza following ``fetch`` and the branch is the
stanza following that::
The repo is the stanza following ``fetch`` and the branch is the
stanza following that:
::
NOVA_REPO=https://review.openstack.org/p/openstack/nova
NOVA_BRANCH=refs/changes/50/5050/1
NOVA_REPO=https://review.opendev.org/openstack/nova
NOVA_BRANCH=refs/changes/50/5050/1
Installation Directory
@@ -254,13 +255,15 @@ By setting it early in the ``localrc`` section you can reference it in
later variables. It can be useful to set it even though it is not
changed from the default value.
::
::
DEST=/opt/stack
DEST=/opt/stack
Logging
-------
.. _enable_logging:
Enable Logging
~~~~~~~~~~~~~~
@@ -270,21 +273,33 @@ runs. It can be sent to a file in addition to the console by setting
timestamp will be appended to the given filename for each run of
``stack.sh``.
::
::
LOGFILE=$DEST/logs/stack.sh.log
LOGFILE=$DEST/logs/stack.sh.log
Old log files are cleaned automatically if ``LOGDAYS`` is set to the
number of days of old log files to keep.
::
::
LOGDAYS=1
LOGDAYS=2
Some coloring is used during the DevStack runs to make it easier to
see what is going on. This can be disabled with::
LOG_COLOR=False
LOG_COLOR=False
When using the logfile, by default logs are sent to the console and
the file. You can set ``VERBOSE`` to ``false`` if you only wish the
logs to be sent to the file (this may avoid having double-logging in
some cases where you are capturing the script output and the log
files). If ``VERBOSE`` is ``true`` you can additionally set
``VERBOSE_NO_TIMESTAMP`` to avoid timestamps being added to each
output line sent to the console. This can be useful in some
situations where the console output is being captured by a runner or
framework (e.g. Ansible) that adds its own timestamps. Note that the
log lines sent to the ``LOGFILE`` will still be prefixed with a
timestamp.
Logging the Service Output
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -304,12 +319,12 @@ Example Logging Configuration
For example, non-interactive installs probably wish to save output to
a file, keep service logs and disable color in the stored files.
::
::
[[local|localrc]]
DEST=/opt/stack/
LOGFILE=$LOGDIR/stack.sh.log
LOG_COLOR=False
[[local|localrc]]
DEST=/opt/stack/
LOGFILE=$LOGDIR/stack.sh.log
LOG_COLOR=False
Database Backend
----------------
@@ -317,12 +332,10 @@ Database Backend
Multiple database backends are available. The available databases are defined
in the lib/databases directory.
``mysql`` is the default database, choose a different one by putting the
following in the ``localrc`` section:
following in the ``localrc`` section::
::
disable_service mysql
enable_service postgresql
disable_service mysql
enable_service postgresql
``mysql`` is the default database.
@@ -334,11 +347,9 @@ backends may be available via external plugins. Enabling or disabling
RabbitMQ is handled via the usual service functions and
``ENABLED_SERVICES``.
Example disabling RabbitMQ in ``local.conf``:
Example disabling RabbitMQ in ``local.conf``::
::
disable_service rabbit
disable_service rabbit
Apache Frontend
@@ -357,34 +368,23 @@ override toggle available that can be set in your ``local.conf``.
Keystone is run under Apache with ``mod_wsgi`` by default.
Example (Keystone)
::
Example (Keystone)::
KEYSTONE_USE_MOD_WSGI="True"
Example (Nova):
::
Example (Nova)::
NOVA_USE_MOD_WSGI="True"
Example (Swift):
::
Example (Swift)::
SWIFT_USE_MOD_WSGI="True"
Example (Heat):
::
Example (Heat)::
HEAT_USE_MOD_WSGI="True"
Example (Cinder):
::
Example (Cinder)::
CINDER_USE_MOD_WSGI="True"
@@ -400,9 +400,9 @@ system you can have devstack install it from upstream, or from local
git trees by specifying it in ``LIBS_FROM_GIT``. Multiple libraries
can be specified as a comma separated list.
::
::
LIBS_FROM_GIT=python-keystoneclient,oslo.config
LIBS_FROM_GIT=python-keystoneclient,oslo.config
Setting the variable to ``ALL`` will activate the download for all
libraries.
@@ -418,9 +418,9 @@ Each entry in the ``PROJECT_VENV`` array contains the directory name
of a venv to be used for the project. The array index is the project
name. Multiple projects can use the same venv if desired.
::
::
PROJECT_VENV["glance"]=${GLANCE_DIR}.venv
PROJECT_VENV["glance"]=${GLANCE_DIR}.venv
``ADDITIONAL_VENV_PACKAGES`` is a comma-separated list of additional
packages to be installed into each venv. Often projects will not have
@@ -429,10 +429,9 @@ are 'optional' requirements, i.e. only needed for certain
configurations. By default, the enabled databases will have their
Python bindings added when they are enabled.
::
ADDITIONAL_VENV_PACKAGES="python-foo, python-bar"
::
ADDITIONAL_VENV_PACKAGES="python-foo, python-bar"
A clean install every time
--------------------------
@@ -442,9 +441,9 @@ exist in ``$DEST``. ``stack.sh`` will freshen each repo on each run if
``RECLONE`` is set to ``yes``. This avoids having to manually remove
repos in order to get the current branch from ``$GIT_BASE``.
::
::
RECLONE=yes
RECLONE=yes
Upgrade packages installed by pip
---------------------------------
@@ -455,9 +454,9 @@ requirement. If ``PIP_UPGRADE`` is set to ``True`` then existing
required Python packages will be upgraded to the most recent version
that matches requirements.
::
::
PIP_UPGRADE=True
PIP_UPGRADE=True
Guest Images
------------
@@ -471,11 +470,11 @@ their testing-requirements in ``stack.sh``. Setting
these default images; in that case, you will want to populate
``IMAGE_URLS`` with sufficient images to satisfy testing-requirements.
::
::
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://foo.bar.com/image.qcow,"
IMAGE_URLS+="http://foo.bar.com/image2.qcow"
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://foo.bar.com/image.qcow,"
IMAGE_URLS+="http://foo.bar.com/image2.qcow"
Instance Type
@@ -490,13 +489,13 @@ should be specified in the configuration file so Tempest selects the
default flavors instead.
KVM on Power with QEMU 2.4 requires 512 MB to load the firmware -
`QEMU 2.4 - PowerPC <http://wiki.qemu.org/ChangeLog/2.4>`__ so users
`QEMU 2.4 - PowerPC <https://wiki.qemu.org/ChangeLog/2.4>`__ so users
running instances on ppc64/ppc64le can choose one of the default
created flavors as follows:
::
::
DEFAULT_INSTANCE_TYPE=m1.tiny
DEFAULT_INSTANCE_TYPE=m1.tiny
IP Version
@@ -507,26 +506,26 @@ IPv4, IPv6, or dual-stack self-service project data-network by with
either ``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6``
respectively.
::
::
IP_VERSION=4+6
IP_VERSION=4+6
The following optional variables can be used to alter the default IPv6
behavior:
::
::
IPV6_RA_MODE=slaac
IPV6_ADDRESS_MODE=slaac
IPV6_ADDRS_SAFE_TO_USE=fd$IPV6_GLOBAL_ID::/56
IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1
IPV6_RA_MODE=slaac
IPV6_ADDRESS_MODE=slaac
IPV6_ADDRS_SAFE_TO_USE=fd$IPV6_GLOBAL_ID::/56
IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1
*Note*: ``IPV6_ADDRS_SAFE_TO_USE`` and ``IPV6_PRIVATE_NETWORK_GATEWAY``
can be configured with any valid IPv6 prefix. The default values make
use of an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC4193.
Service Version
~~~~~~~~~~~~~~~
Service IP Version
~~~~~~~~~~~~~~~~~~
DevStack can enable service operation over either IPv4 or IPv6 by
setting ``SERVICE_IP_VERSION`` to either ``SERVICE_IP_VERSION=4`` or
@@ -542,11 +541,30 @@ address.
The default value for this setting is ``4``. Dual-mode support, for
example ``4+6`` is not currently supported. ``HOST_IPV6`` can
optionally be used to alter the default IPv6 address
optionally be used to alter the default IPv6 address::
::
HOST_IPV6=${some_local_ipv6_address}
HOST_IPV6=${some_local_ipv6_address}
Tunnel IP Version
~~~~~~~~~~~~~~~~~
DevStack can enable tunnel operation over either IPv4 or IPv6 by
setting ``TUNNEL_IP_VERSION`` to either ``TUNNEL_IP_VERSION=4`` or
``TUNNEL_IP_VERSION=6`` respectively.
When set to ``4`` Neutron will use an IPv4 address for tunnel endpoints,
for example, ``HOST_IP``.
When set to ``6`` Neutron will use an IPv6 address for tunnel endpoints,
for example, ``HOST_IPV6``.
The default value for this setting is ``4``. Dual-mode support, for
example ``4+6`` is not supported, as this value must match the address
family of the local tunnel endpoint IP(v6) address.
The value of ``TUNNEL_IP_VERSION`` has a direct relationship to the
setting of ``TUNNEL_ENDPOINT_IP``, which will default to ``HOST_IP``
when set to ``4``, and ``HOST_IPV6`` when set to ``6``.
Multi-node setup
~~~~~~~~~~~~~~~~
@@ -604,8 +622,8 @@ used when adding nodes to the Swift rings.
Swift S3
++++++++
If you are enabling ``swift3`` in ``ENABLED_SERVICES`` DevStack will
install the swift3 middleware emulation. Swift will be configured to
If you are enabling ``s3api`` in ``ENABLED_SERVICES`` DevStack will
install the s3api middleware emulation. Swift will be configured to
act as a S3 endpoint for Keystone so effectively replacing the
``nova-objectstore``.
@@ -621,7 +639,7 @@ tests can be run as follows:
::
$ cd /opt/stack/tempest
$ tox -efull tempest.scenario.test_network_basic_ops
$ tox -e smoke
By default tempest is downloaded and the config file is generated, but the
tempest package is not installed in the system's global site-packages (the
@@ -634,27 +652,6 @@ outside of tox. If you would like to install it add the following to your
INSTALL_TEMPEST=True
Xenserver
~~~~~~~~~
If you would like to use Xenserver as the hypervisor, please refer to
the instructions in ``./tools/xen/README.md``.
Cells
~~~~~
`Cells <http://wiki.openstack.org/blueprint-nova-compute-cells>`__ is
an alternative scaling option. To setup a cells environment add the
following to your ``localrc`` section:
::
enable_service n-cell
Be aware that there are some features currently missing in cells, one
notable one being security groups. The exercises have been patched to
disable functionality not supported by cells.
Cinder
~~~~~~
@@ -663,11 +660,46 @@ set by ``VOLUME_GROUP_NAME``, the logical volume name prefix is set with
``VOLUME_NAME_PREFIX`` and the size of the volume backing file is set
with ``VOLUME_BACKING_FILE_SIZE``.
::
::
VOLUME_GROUP_NAME="stack-volumes"
VOLUME_NAME_PREFIX="volume-"
VOLUME_BACKING_FILE_SIZE=24G
VOLUME_GROUP_NAME="stack-volumes"
VOLUME_NAME_PREFIX="volume-"
VOLUME_BACKING_FILE_SIZE=24G
When running highly concurrent tests, the default per-project quotas
for volumes, backups, or snapshots may be too small. These can be
adjusted by setting ``CINDER_QUOTA_VOLUMES``, ``CINDER_QUOTA_BACKUPS``,
or ``CINDER_QUOTA_SNAPSHOTS`` to the desired value. (The default for
each is 10.)
DevStack's Cinder LVM configuration module currently supports both iSCSI and
NVMe connections, and we can choose which one to use with options
``CINDER_TARGET_HELPER``, ``CINDER_TARGET_PROTOCOL``, ``CINDER_TARGET_PREFIX``,
and ``CINDER_TARGET_PORT``.
Defaults use iSCSI with the LIO target manager::
CINDER_TARGET_HELPER="lioadm"
CINDER_TARGET_PROTOCOL="iscsi"
CINDER_TARGET_PREFIX="iqn.2010-10.org.openstack:"
CINDER_TARGET_PORT=3260
Additionally there are 3 supported transport protocols for NVMe,
``nvmet_rdma``, ``nvmet_tcp``, and ``nvmet_fc``, and when the ``nvmet`` target
is selected the protocol, prefix, and port defaults will change to more
sensible defaults for NVMe::
CINDER_TARGET_HELPER="nvmet"
CINDER_TARGET_PROTOCOL="nvmet_rdma"
CINDER_TARGET_PREFIX="nvme-subsystem-1"
CINDER_TARGET_PORT=4420
When selecting the RDMA transport protocol DevStack will create on Cinder nodes
a Software RoCE device on top of the ``HOST_IP_IFACE`` and if it is not defined
then on top of the interface with IP address ``HOST_IP`` or ``HOST_IPV6``.
This Soft-RoCE device will always be created on the Nova compute side since we
cannot tell beforehand whether there will be an RDMA connection or not.
Keystone
@@ -693,7 +725,6 @@ In RegionTwo:
disable_service horizon
KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
REGION_NAME=RegionTwo
KEYSTONE_REGION_NAME=RegionOne
@@ -706,53 +737,22 @@ KEYSTONE_REGION_NAME to specify the region of Keystone service.
KEYSTONE_REGION_NAME has a default value the same as REGION_NAME thus we omit
it in the configuration of RegionOne.
Disabling Identity API v2
+++++++++++++++++++++++++
Glance
++++++
The Identity API v2 is deprecated as of Mitaka and it is recommended to only
use the v3 API. It is possible to setup keystone without v2 API, by doing:
The default image size quota of 1GiB may be too small if larger images
are to be used. Change the default at setup time with:
::
ENABLE_IDENTITY_V2=False
GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
Exercises
~~~~~~~~~
or at runtime via:
``exerciserc`` is used to configure settings for the exercise scripts.
The values shown below are the default values. These can all be
overridden by setting them in the ``localrc`` section.
* Max time to wait while vm goes from build to active state
::
ACTIVE_TIMEOUT==30
* Max time to wait for proper IP association and dis-association.
::
ASSOCIATE_TIMEOUT=15
* Max time till the vm is bootable
::
BOOT_TIMEOUT=30
* Max time from run instance command until it is running
::
RUNNING_TIMEOUT=$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))
* Max time to wait for a vm to terminate
::
TERMINATE_TIMEOUT=30
::
openstack --os-cloud devstack-system-admin registered limit set \
--service glance --default-limit 5000 --region RegionOne image_size_total
.. _arch-configuration:
+57
View File
@@ -0,0 +1,57 @@
============================
So You Want to Contribute...
============================
For general information on contributing to OpenStack, please check out the
`contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
It covers all the basics that are common to all OpenStack projects: the accounts
you need, the basics of interacting with our Gerrit review system, how we
communicate as a community, etc.
Below will cover the more project specific information you need to get started
with Devstack.
Communication
~~~~~~~~~~~~~
* IRC channel ``#openstack-qa`` at OFTC.
* Mailing list (prefix subjects with ``[qa][devstack]`` for faster responses)
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
Please refer to the `Devstack Core Team
<https://review.opendev.org/#/admin/groups/50,members>`_ contacts.
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
If you want to propose a new feature please read `Feature Proposal Process`_
Devstack features are tracked on `Launchpad BP <https://blueprints.launchpad.net/devstack>`_.
Task Tracking
~~~~~~~~~~~~~
We track our tasks in `Launchpad <https://bugs.launchpad.net/devstack>`_.
Reporting a Bug
~~~~~~~~~~~~~~~
You found an issue and want to make sure we are aware of it? You can do so on
`Launchpad <https://bugs.launchpad.net/devstack/+filebug>`__.
More info about Launchpad usage can be found on `OpenStack docs page
<https://docs.openstack.org/contributors/common/task-tracking.html#launchpad>`_
Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
All changes proposed to the Devstack require two ``Code-Review +2`` votes from
Devstack core reviewers before one of the core reviewers can approve the patch
by giving ``Workflow +1`` vote. There are 2 exceptions, approving patches to
unblock the gate and patches that do not relate to the Devstack's core logic,
like for example old job cleanups, can be approved by single core reviewers.
Project Team Lead Duties
~~~~~~~~~~~~~~~~~~~~~~~~
All common PTL duties are enumerated in the `PTL guide
<https://docs.openstack.org/project-team-guide/ptl.html>`_.
The Release Process for QA is documented in `QA Release Process
<https://wiki.openstack.org/wiki/QA/releases>`_.
.. _Feature Proposal Process: https://wiki.openstack.org/wiki/QA#Feature_Proposal_.26_Design_discussions
+52
View File
@@ -0,0 +1,52 @@
=====================
System-wide debugging
=====================
A lot can go wrong during a devstack run, and there are a few inbuilt
tools to help you.
dstat
-----
Enable the ``dstat`` service to produce performance logs during the
devstack run. These will be logged to the journal and also as a CSV
file.
memory_tracker
--------------
The ``memory_tracker`` service periodically monitors RAM usage and
provides consumption output when available memory is seen to be
falling (i.e. processes are consuming memory). It also provides
output showing locked (unswappable) memory.
file_tracker
------------
The ``file_tracker`` service periodically monitors the number of
open files in the system.
tcpdump
-------
Enable the ``tcpdump`` service to run a background tcpdump. You must
set the ``TCPDUMP_ARGS`` variable to something suitable (there is no
default). For example, to trace iSCSI communication during a job in
the OpenStack gate and copy the result into the log output, you might
use:
.. code-block:: yaml
job:
name: devstack-job
parent: devstack
vars:
devstack_services:
tcpdump: true
devstack_localrc:
TCPDUMP_ARGS: "-i any tcp port 3260"
zuul_copy_output:
'{{ devstack_log_dir }}/tcpdump.pcap': logs
+52 -2
View File
@@ -18,6 +18,57 @@ production systems.
Your best choice is probably to choose a `distribution of OpenStack
<https://www.openstack.org/marketplace/distros/>`__.
Can I use DevStack as a development environment?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sure, you can. That said, there are a couple of things you should note before
doing so:
- DevStack makes a lot of configuration changes to your system and should not
be run in your main development environment.
- All the repositories that DevStack clones when deploying are considered
volatile by default and thus are subject to hard resets. This is necessary to
keep you in sync with the latest upstream, which is what you want in a CI
situation, but it can result in branches being overwritten and files being
removed.
The corollary of this is that if you are working on a specific project, using
the DevStack project repository (defaulted to ``/opt/stack/<project>``) as
the single master repository for storing all your work is not recommended.
This behavior can be overridden by setting the ``RECLONE`` config option to
``no``. Alternatively, you can avoid running ``stack.sh`` to redeploy by
restarting services manually. In any case, you should generally ensure work
in progress is pushed to Gerrit or otherwise backed up before running
``stack.sh``.
- If you use DevStack within a VM, you may wish to mount a local OpenStack
directory, such as ``~/src/openstack``, inside the VM and configure DevStack
to use this as the clone location using the ``{PROJECT}_REPO`` config
variables. For example, assuming you're using Vagrant and sharing your home
directory, you should place the following in ``local.conf``:
.. code-block:: shell
NEUTRON_REPO=/home/vagrant/src/neutron
NOVA_REPO=/home/vagrant/src/nova
KEYSTONE_REPO=/home/vagrant/src/keystone
GLANCE_REPO=/home/vagrant/src/glance
SWIFT_REPO=/home/vagrant/src/swift
HORIZON_REPO=/home/vagrant/src/horizon
CINDER_REPO=/home/vagrant/src/cinder
HEAT_REPO=/home/vagrant/src/heat
TEMPEST_REPO=/home/vagrant/src/tempest
HEATCLIENT_REPO=/home/vagrant/src/python-heatclient
GLANCECLIENT_REPO=/home/vagrant/src/python-glanceclient
NOVACLIENT_REPO=/home/vagrant/src/python-novaclient
NEUTRONCLIENT_REPO=/home/vagrant/src/python-neutronclient
OPENSTACKCLIENT_REPO=/home/vagrant/src/python-openstackclient
HEAT_CFNTOOLS_REPO=/home/vagrant/src/heat-cfntools
HEAT_TEMPLATES_REPO=/home/vagrant/src/heat-templates
NEUTRON_FWAAS_REPO=/home/vagrant/src/neutron-fwaas
# ...
Why a shell script, why not chef/puppet/...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -29,8 +80,7 @@ I'd like to help!
~~~~~~~~~~~~~~~~~
That isn't a question, but please do! The source for DevStack is at
`git.openstack.org
<https://git.openstack.org/cgit/openstack-dev/devstack>`__ and bug
`opendev.org <https://opendev.org/openstack/devstack>`__ and bug
reports go to `LaunchPad
<https://bugs.launchpad.net/devstack/>`__. Contributions follow the
usual process as described in the `developer guide
+13 -1
View File
@@ -10,6 +10,7 @@ Walk through various setups used by stackers
.. toctree::
:glob:
:hidden:
:maxdepth: 1
guides/single-vm
@@ -19,7 +20,8 @@ Walk through various setups used by stackers
guides/neutron
guides/devstack-with-nested-kvm
guides/nova
guides/devstack-with-lbaas-v2
guides/devstack-with-octavia
guides/devstack-with-ldap
All-In-One Single VM
--------------------
@@ -66,3 +68,13 @@ Nova and devstack
--------------------------------
Guide to working with nova features :doc:`Nova and devstack <guides/nova>`.
Configure Octavia
-----------------
Guide on :doc:`Configure Octavia <guides/devstack-with-octavia>`.
Deploying DevStack with LDAP
----------------------------
Guide to setting up :doc:`DevStack with LDAP <guides/devstack-with-ldap>`.
@@ -1,109 +0,0 @@
Configure Load-Balancer Version 2
=================================
Starting in the OpenStack Liberty release, the
`neutron LBaaS v2 API <http://developer.openstack.org/api-ref-networking-v2-ext.html>`_
is now stable while the LBaaS v1 API has been deprecated. The LBaaS v2 reference
driver is based on Octavia.
Phase 1: Create DevStack + 2 nova instances
--------------------------------------------
First, set up a vm of your choice with at least 8 GB RAM and 16 GB disk space,
make sure it is updated. Install git and any other developer tools you find useful.
Install devstack
::
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
Edit your ``local.conf`` to look like
::
[[local|localrc]]
# Load the external LBaaS plugin.
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
# ===== BEGIN localrc =====
DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
RABBIT_PASSWORD=password
# Enable Logging
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
# Pre-requisite
ENABLED_SERVICES=rabbit,mysql,key
# Horizon
ENABLED_SERVICES+=,horizon
# Nova
ENABLED_SERVICES+=,n-api,n-cpu,n-cond,n-sch
# Glance
ENABLED_SERVICES+=,g-api,g-reg
# Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta
# Enable LBaaS v2
ENABLED_SERVICES+=,q-lbaasv2
ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api
# Cinder
ENABLED_SERVICES+=,c-api,c-vol,c-sch
# Tempest
ENABLED_SERVICES+=,tempest
# ===== END localrc =====
Run stack.sh and do some sanity checks
::
./stack.sh
. ./openrc
openstack network list # should show public and private networks
Create two nova instances that we can use as test http servers:
::
#create nova instances on private network
nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(openstack network list | awk '/ private / {print $2}') node1
nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(openstack network list | awk '/ private / {print $2}') node2
nova list # should show the nova instances just created
#add secgroup rules to allow ssh etc..
openstack security group rule create default --protocol icmp
openstack security group rule create default --protocol tcp --dst-port 22:22
openstack security group rule create default --protocol tcp --dst-port 80:80
Set up a simple web server on each of these instances. ssh into each instance (username 'cirros', password 'cubswin:)') and run
::
MYIP=$(ifconfig eth0|grep 'inet addr'|awk -F: '{print $2}'| awk '{print $1}')
while true; do echo -e "HTTP/1.0 200 OK\r\n\r\nWelcome to $MYIP" | sudo nc -l -p 80 ; done&
Phase 2: Create your load balancers
------------------------------------
::
neutron lbaas-loadbalancer-create --name lb1 private-subnet
neutron lbaas-loadbalancer-show lb1 # Wait for the provisioning_status to be ACTIVE.
neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1
sleep 10 # Sleep since LBaaS actions can take a few seconds depending on the environment.
neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
sleep 10
neutron lbaas-member-create --subnet private-subnet --address 10.0.0.3 --protocol-port 80 pool1
sleep 10
neutron lbaas-member-create --subnet private-subnet --address 10.0.0.5 --protocol-port 80 pool1
Please note here that the "10.0.0.3" and "10.0.0.5" in the above commands are the IPs of the nodes
(in my test run-thru, they were actually 10.2 and 10.4), and the address of the created LB will be
reported as "vip_address" from the lbaas-loadbalancer-create, and a quick test of that LB is
"curl that-lb-ip", which should alternate between showing the IPs of the two nodes.
+174
View File
@@ -0,0 +1,174 @@
============================
Deploying DevStack with LDAP
============================
The OpenStack Identity service has the ability to integrate with LDAP. The goal
of this guide is to walk you through setting up an LDAP-backed OpenStack
development environment.
Introduction
============
LDAP support in keystone is read-only. You can use it to back an entire
OpenStack deployment to a single LDAP server, or you can use it to back
separate LDAP servers to specific keystone domains. Users within those domains
can authenticate against keystone, assume role assignments, and interact with
other OpenStack services.
Configuration
=============
To deploy an OpenLDAP server, make sure ``ldap`` is added to the list of
``ENABLED_SERVICES`` in the ``local.conf`` file::
enable_service ldap
Devstack will require a password to set up an LDAP administrator. This
administrative user is also the bind user specified in keystone's configuration
files, similar to a ``keystone`` user for MySQL databases.
Devstack will prompt you for a password when running ``stack.sh`` if
``LDAP_PASSWORD`` is not set. You can add the following to your
``local.conf``::
LDAP_PASSWORD=super_secret_password
At this point, devstack should have everything it needs to deploy OpenLDAP,
bootstrap it with a minimal set of users, and configure it to back to a domain
in keystone. You can do this by running the ``stack.sh`` script::
$ ./stack.sh
Once ``stack.sh`` completes, you should have a running keystone deployment with
a basic set of users. It is important to note that not all users will live
within LDAP. Instead, keystone will back different domains to different
identity sources. For example, the ``default`` domain will be backed by MySQL.
This is usually where you'll find your administrative and services users. If
you query keystone for a list of domains, you should see a domain called
``Users``. This domain is set up by devstack and points to OpenLDAP.
User Management
===============
Initially, there will only be two users in the LDAP server. The ``Manager``
user is used by keystone to talk to OpenLDAP. The ``demo`` user is a generic
user that you should be able to see if you query keystone for users within the
``Users`` domain. Both of these users were added to LDAP using basic LDAP
utilities installed by devstack (e.g. ``ldap-utils``) and LDIFs. The LDIFs used
to create these users can be found in ``devstack/files/ldap/``.
Listing Users
-------------
To list all users in LDAP directly, you can use ``ldapsearch`` with the LDAP
user bootstrapped by devstack::
$ ldapsearch -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
-H ldap://localhost -b dc=openstack,dc=org
As you can see, devstack creates an OpenStack domain called ``openstack.org``
as a container for the ``Manager`` and ``demo`` users.
Creating Users
--------------
Since keystone's LDAP integration is read-only, users must be added directly to
LDAP. Users added directly to OpenLDAP will automatically be placed into the
``Users`` domain.
LDIFs can be used to add users via the command line. The following is an
example LDIF that can be used to create a new LDAP user, let's call it
``peter.ldif.in``::
dn: cn=peter,ou=Users,dc=openstack,dc=org
cn: peter
displayName: Peter Quill
givenName: Peter Quill
mail: starlord@openstack.org
objectClass: inetOrgPerson
objectClass: top
sn: peter
uid: peter
userPassword: im-a-better-pilot-than-rocket
Now, we use the ``Manager`` user to create a user for Peter in LDAP::
$ ldapadd -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
-H ldap://localhost -c -f peter.ldif.in
We should be able to assign Peter roles on projects. After Peter has some level
of authorization, he should be able to login to Horizon by specifying the
``Users`` domain and using his ``peter`` username and password. Authorization
can be given to Peter by creating a project within the ``Users`` domain and
giving him a role assignment on that project::
$ openstack project create --domain Users awesome-mix-vol-1
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | |
| domain_id | 61a2de23107c46bea2d758167af707b9 |
| enabled | True |
| id | 7d422396d54945cdac8fe1e8e32baec4 |
| is_domain | False |
| name | awesome-mix-vol-1 |
| parent_id | 61a2de23107c46bea2d758167af707b9 |
| tags | [] |
+-------------+----------------------------------+
$ openstack role add --user peter --user-domain Users \
--project awesome-mix-vol-1 --project-domain Users admin
Deleting Users
--------------
We can use the same basic steps to remove users from LDAP, but instead of using
LDIFs, we can just pass the ``dn`` of the user we want to delete::
$ ldapdelete -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
-H ldap://localhost cn=peter,ou=Users,dc=openstack,dc=org
Group Management
================
Like users, groups are considered specific identities. This means that groups
also fall under the same read-only constraints as users and they can be managed
directly with LDAP in the same way users are with LDIFs.
Adding Groups
-------------
Let's define a specific group with the following LDIF::
dn: cn=guardians,ou=UserGroups,dc=openstack,dc=org
objectClass: groupOfNames
cn: guardians
description: Guardians of the Galaxy
member: cn=peter,dc=openstack,dc=org
member: cn=gamora,dc=openstack,dc=org
member: cn=drax,dc=openstack,dc=org
member: cn=rocket,dc=openstack,dc=org
member: cn=groot,dc=openstack,dc=org
We can create the group using the same ``ldapadd`` command as we did with
users::
$ ldapadd -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
-H ldap://localhost -c -f guardian-group.ldif.in
If we check the group membership in Horizon, we'll see that only Peter is a
member of the ``guardians`` group, despite the whole crew being specified in
the LDIF. Once those accounts are created in LDAP, they will automatically be
added to the ``guardians`` group. They will also assume any role assignments
given to the ``guardians`` group.
Deleting Groups
---------------
Just like users, groups can be deleted using the ``dn``::
$ ldapdelete -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
-H ldap://localhost cn=guardians,ou=UserGroups,dc=openstack,dc=org
Note that this operation will not remove users within that group. It will only
remove the group itself and the memberships any users had with that group.
@@ -1,3 +1,5 @@
.. _kvm_nested_virt:
=======================================================
Configure DevStack with KVM-based Nested Virtualization
=======================================================
+144
View File
@@ -0,0 +1,144 @@
Devstack with Octavia Load Balancing
====================================
Starting with the OpenStack Pike release, Octavia is now a standalone service
providing load balancing services for OpenStack.
This guide will show you how to create a devstack with `Octavia API`_ enabled.
.. _Octavia API: https://docs.openstack.org/api-ref/load-balancer/v2/index.html
Phase 1: Create DevStack + 2 nova instances
--------------------------------------------
First, set up a VM of your choice with at least 8 GB RAM and 16 GB disk space,
make sure it is updated. Install git and any other developer tools you find
useful.
Install devstack::
git clone https://opendev.org/openstack/devstack
cd devstack/tools
sudo ./create-stack-user.sh
cd ../..
sudo mv devstack /opt/stack
sudo chown -R stack.stack /opt/stack/devstack
This will clone the current devstack code locally, then setup the "stack"
account that devstack services will run under. Finally, it will move devstack
into its default location in /opt/stack/devstack.
Edit your ``/opt/stack/devstack/local.conf`` to look like::
[[local|localrc]]
# ===== BEGIN localrc =====
DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password
RABBIT_PASSWORD=password
GIT_BASE=https://opendev.org
# Optional settings:
# OCTAVIA_AMP_BASE_OS=centos
# OCTAVIA_AMP_DISTRIBUTION_RELEASE_ID=9-stream
# OCTAVIA_AMP_IMAGE_SIZE=3
# OCTAVIA_LB_TOPOLOGY=ACTIVE_STANDBY
# OCTAVIA_ENABLE_AMPHORAV2_JOBBOARD=True
# LIBS_FROM_GIT+=octavia-lib,
# Enable Logging
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
enable_service rabbit
enable_plugin neutron $GIT_BASE/openstack/neutron
# Octavia supports using QoS policies on the VIP port:
enable_service q-qos
enable_service placement-api placement-client
# Octavia services
enable_plugin octavia $GIT_BASE/openstack/octavia master
enable_plugin octavia-dashboard $GIT_BASE/openstack/octavia-dashboard
enable_plugin ovn-octavia-provider $GIT_BASE/openstack/ovn-octavia-provider
enable_plugin octavia-tempest-plugin $GIT_BASE/openstack/octavia-tempest-plugin
enable_service octavia o-api o-cw o-hm o-hk o-da
# If you are enabling barbican for TLS offload in Octavia, include it here.
# enable_plugin barbican $GIT_BASE/openstack/barbican
# enable_service barbican
# Cinder (optional)
disable_service c-api c-vol c-sch
# Tempest
enable_service tempest
# ===== END localrc =====
.. note::
For best performance it is highly recommended to use KVM
virtualization instead of QEMU.
Also make sure nested virtualization is enabled as documented in
:ref:`the respective guide <kvm_nested_virt>`.
By adding ``LIBVIRT_CPU_MODE="host-passthrough"`` to your
``local.conf`` you enable the guest VMs to make use of all features your
host's CPU provides.
Run stack.sh and do some sanity checks::
sudo su - stack
cd /opt/stack/devstack
./stack.sh
. ./openrc
openstack network list # should show public and private networks
Create two nova instances that we can use as test http servers::
# create nova instances on private network
openstack server create --image $(openstack image list | awk '/ cirros-.*-x86_64-.* / {print $2}') --flavor 1 --nic net-id=$(openstack network list | awk '/ private / {print $2}') node1
openstack server create --image $(openstack image list | awk '/ cirros-.*-x86_64-.* / {print $2}') --flavor 1 --nic net-id=$(openstack network list | awk '/ private / {print $2}') node2
openstack server list # should show the nova instances just created
# add secgroup rules to allow ssh etc..
openstack security group rule create default --protocol icmp
openstack security group rule create default --protocol tcp --dst-port 22:22
openstack security group rule create default --protocol tcp --dst-port 80:80
Set up a simple web server on each of these instances. One possibility is to use
the `Golang test server`_ that is used by the Octavia project for CI testing
as well.
Copy the binary to your instances and start it as shown below
(username 'cirros', password 'gocubsgo')::
INST_IP=<instance IP>
scp -O test_server.bin cirros@${INST_IP}:
ssh -f cirros@${INST_IP} ./test_server.bin -id ${INST_IP}
When started this way the test server will respond to HTTP requests with
its own IP.
Phase 2: Create your load balancer
----------------------------------
Create your load balancer::
openstack loadbalancer create --wait --name lb1 --vip-subnet-id private-subnet
openstack loadbalancer listener create --wait --protocol HTTP --protocol-port 80 --name listener1 lb1
openstack loadbalancer pool create --wait --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
openstack loadbalancer healthmonitor create --wait --delay 5 --timeout 2 --max-retries 1 --type HTTP pool1
openstack loadbalancer member create --wait --subnet-id private-subnet --address <web server 1 address> --protocol-port 80 pool1
openstack loadbalancer member create --wait --subnet-id private-subnet --address <web server 2 address> --protocol-port 80 pool1
Please note: The <web server # address> fields are the IP addresses of the nova
servers created in Phase 1.
Also note, using the API directly you can do all of the above commands in one
API call.
Phase 3: Test your load balancer
--------------------------------
::
openstack loadbalancer show lb1 # Note the vip_address
curl http://<vip_address>
curl http://<vip_address>
This should show the "Welcome to <IP>" message from each member server.
.. _Golang test server: https://opendev.org/openstack/octavia-tempest-plugin/src/branch/master/octavia_tempest_plugin/contrib/test_server
+1 -1
View File
@@ -105,7 +105,7 @@ The commands in this section should all be run inside your container.
::
git clone https://git.openstack.org/openstack-dev/devstack
git clone https://opendev.org/openstack/devstack
#. Configure
+19 -33
View File
@@ -75,13 +75,21 @@ Otherwise create the stack user:
useradd -s /bin/bash -d /opt/stack -m stack
Ensure home directory for the ``stack`` user has executable permission for all,
as RHEL based distros create it with ``700`` and Ubuntu 21.04+ with ``750``
which can cause issues during deployment.
::
chmod +x /opt/stack
This user will be making many changes to your system during installation
and operation so it needs to have sudo privileges to root without a
password:
::
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
From here on use the ``stack`` user. **Logout** and **login** as the
``stack`` user.
@@ -103,7 +111,7 @@ Grab the latest version of DevStack:
::
git clone https://git.openstack.org/openstack-dev/devstack
git clone https://opendev.org/openstack/devstack
cd devstack
Up to this point all of the steps apply to each node in the cluster.
@@ -120,11 +128,8 @@ cluster controller's DevStack in ``local.conf``:
[[local|localrc]]
HOST_IP=192.168.42.11
FLAT_INTERFACE=eth0
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.42.128/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=labstack
DATABASE_PASSWORD=supersecret
@@ -160,11 +165,8 @@ machines, create a ``local.conf`` with:
[[local|localrc]]
HOST_IP=192.168.42.12 # change this per compute node
FLAT_INTERFACE=eth0
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.42.128/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=labstack
DATABASE_PASSWORD=supersecret
@@ -175,17 +177,12 @@ machines, create a ``local.conf`` with:
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
ENABLED_SERVICES=n-cpu,c-vol,placement-client,ovn-controller,ovs-vswitchd,ovsdb-server,q-ovn-metadata-agent
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_lite.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
**Note:** the ``n-api-meta`` service is a version of the api server
that only serves the metadata service. It's needed because the
computes created won't have a routing path to the metadata service on
the controller.
Fire up OpenStack:
::
@@ -240,8 +237,8 @@ this when it runs but there are times it needs to still be done by hand:
sudo rm -rf /etc/libvirt/qemu/inst*
sudo virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh destroy
Options pimp your stack
=======================
Going further
=============
Additional Users
----------------
@@ -302,10 +299,10 @@ Volumes
DevStack will automatically use an existing LVM volume group named
``stack-volumes`` to store cloud-created volumes. If ``stack-volumes``
doesn't exist, DevStack will set up a 10Gb loop-mounted file to contain
it. This obviously limits the number and size of volumes that can be
created inside OpenStack. The size can be overridden by setting
``VOLUME_BACKING_FILE_SIZE`` in ``local.conf``.
doesn't exist, DevStack will set up a loop-mounted file to contain
it. If the default size is insufficient for the number and size of volumes
required, it can be overridden by setting ``VOLUME_BACKING_FILE_SIZE`` in
``local.conf`` (sizes given in ``truncate`` compatible format, e.g. ``24G``).
``stack-volumes`` can be pre-created on any physical volume supported by
Linux's LVM. The name of the volume group can be changed by setting
@@ -369,17 +366,6 @@ To pull glance, OpenStack Image service, from an experimental fork:
Notes stuff you might need to know
==================================
Reset the Bridge
----------------
How to reset the bridge configuration:
::
sudo brctl delif br100 eth0.926
sudo ip link set dev br100 down
sudo brctl delbr br100
Set MySQL Password
------------------
@@ -417,7 +403,7 @@ SSH keys need to be exchanged between each compute node:
3. Verify that login via ssh works without a password::
ssh -i /root/.ssh/id_rsa.pub stack@DESTINATION
ssh -i /root/.ssh/id_rsa stack@DESTINATION
In essence, this means that every compute node's root user's public RSA key
must exist in every other compute node's stack user's authorized_keys file and
+12 -60
View File
@@ -41,19 +41,8 @@ network and is on a shared subnet with other machines. The
`local.conf` exhibited here assumes that 1500 is a reasonable MTU to
use on that network.
.. nwdiag::
nwdiag {
inet [ shape = cloud ];
router;
inet -- router;
network hardware_network {
address = "172.18.161.0/24"
router [ address = "172.18.161.1" ];
devstack-1 [ address = "172.18.161.6" ];
}
}
.. image:: /assets/images/neutron-network-1.png
:alt: Network configuration for a single DevStack node
DevStack Configuration
@@ -100,21 +89,8 @@ also want to do multinode testing and networking.
Physical Network Setup
~~~~~~~~~~~~~~~~~~~~~~
.. nwdiag::
nwdiag {
inet [ shape = cloud ];
router;
inet -- router;
network hardware_network {
address = "172.18.161.0/24"
router [ address = "172.18.161.1" ];
devstack-1 [ address = "172.18.161.6" ];
devstack-2 [ address = "172.18.161.7" ];
}
}
.. image:: /assets/images/neutron-network-2.png
:alt: Network configuration for multiple DevStack nodes
After DevStack installs and configures Neutron, traffic from guest VMs
flows out of `devstack-2` (the compute node) and is encapsulated in a
@@ -222,8 +198,6 @@ connect OpenStack nodes (like `devstack-2`) together. This bridge is
used so that project network traffic, using the VXLAN tunneling
protocol, flows between each compute node where project instances run.
DevStack Compute Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -244,7 +218,7 @@ The host `devstack-2` has a very minimal `local.conf`.
## Neutron options
PUBLIC_INTERFACE=eth0
ENABLED_SERVICES=n-cpu,rabbit,q-agt
ENABLED_SERVICES=n-cpu,rabbit,q-agt,placement-client
Network traffic from `eth0` on the compute nodes is then NAT'd by the
controller node that runs Neutron's `neutron-l3-agent` and provides L3
@@ -268,30 +242,8 @@ to the neutron L3 service.
Physical Network Setup
----------------------
.. nwdiag::
nwdiag {
inet [ shape = cloud ];
router;
inet -- router;
network provider_net {
address = "203.0.113.0/24"
router [ address = "203.0.113.1" ];
controller;
compute1;
compute2;
}
network control_plane {
router [ address = "10.0.0.1" ]
address = "10.0.0.0/24"
controller [ address = "10.0.0.2" ]
compute1 [ address = "10.0.0.3" ]
compute2 [ address = "10.0.0.4" ]
}
}
.. image:: /assets/images/neutron-network-3.png
:alt: Network configuration for provider networks
On a compute node, the first interface, eth0 is used for the OpenStack
management (API, message bus, etc) as well as for ssh for an
@@ -376,8 +328,8 @@ controller node.
## Neutron options
Q_USE_SECGROUP=True
ENABLE_PROJECT_VLANS=True
PROJECT_VLAN_RANGE=3001:4000
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
@@ -396,7 +348,7 @@ controller node.
In this configuration we are defining IPV4_ADDRS_SAFE_TO_USE to be a
publicly routed IPv4 subnet. In this specific instance we are using
the special TEST-NET-3 subnet defined in `RFC 5737 <http://tools.ietf.org/html/rfc5737>`_,
the special TEST-NET-3 subnet defined in `RFC 5737 <https://tools.ietf.org/html/rfc5737>`_,
which is used for documentation. In your DevStack setup, IPV4_ADDRS_SAFE_TO_USE
would be a public IP address range that you or your organization has
allocated to you, so that you could access your instances from the
@@ -567,7 +519,7 @@ you do not require them.
Q_ML2_PLUGIN_MECHANISM_DRIVERS=macvtap
Q_USE_PROVIDER_NETWORKING=True
enable_plugin neutron git://git.openstack.org/openstack/neutron
enable_plugin neutron https://opendev.org/openstack/neutron
## MacVTap agent options
Q_AGENT=macvtap
@@ -622,7 +574,7 @@ For the MacVTap compute node, use this local.conf:
# Services that a compute node runs
disable_all_services
enable_plugin neutron git://git.openstack.org/openstack/neutron
enable_plugin neutron https://opendev.org/openstack/neutron
ENABLED_SERVICES+=n-cpu,q-agt
## MacVTap agent options
+68 -2
View File
@@ -10,7 +10,7 @@ nova-serialproxy
================
In Juno, nova implemented a `spec
<http://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/serial-ports.html>`_
<https://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/serial-ports.html>`_
to allow read/write access to the serial console of an instance via
`nova-serialproxy
<https://docs.openstack.org/nova/latest/cli/nova-serialproxy.html>`_.
@@ -63,8 +63,74 @@ The service can be enabled by adding ``n-sproxy`` to
Enabling the service is enough to be functional for a single machine DevStack.
These config options are defined in `nova.conf.serial_console
<https://github.com/openstack/nova/blob/master/nova/conf/serial_console.py>`_.
<https://opendev.org/openstack/nova/src/master/nova/conf/serial_console.py>`_.
For more information on OpenStack configuration see the `OpenStack
Compute Service Configuration Reference
<https://docs.openstack.org/nova/latest/admin/configuration/index.html>`_
Fake virt driver
================
Nova has a `fake virt driver`_ which can be used for scale testing the control
plane services or testing "move" operations between fake compute nodes, for
example cold/live migration, evacuate and unshelve.
The fake virt driver does not communicate with any hypervisor, it just reports
some fake resource inventory values and keeps track of the state of the
"guests" created, moved and deleted. It is not feature-complete with the
compute API but is good enough for most API testing, and is also used within
the nova functional tests themselves so is fairly robust.
.. _fake virt driver: https://opendev.org/openstack/nova/src/branch/master/nova/virt/fake.py
Configuration
-------------
Set the following in your devstack ``local.conf``:
.. code-block:: ini
[[local|localrc]]
VIRT_DRIVER=fake
NUMBER_FAKE_NOVA_COMPUTE=<number>
The ``NUMBER_FAKE_NOVA_COMPUTE`` variable controls the number of fake
``nova-compute`` services to run and defaults to 1.
When ``VIRT_DRIVER=fake`` is used, devstack will disable quota checking in
nova and neutron automatically. However, other services, like cinder, will
still enforce quota limits by default.
Scaling
-------
The actual value to use for ``NUMBER_FAKE_NOVA_COMPUTE`` depends on factors
such as:
* The size of the host (physical or virtualized) on which devstack is running.
* The number of API workers. By default, devstack will run ``max($nproc/2, 2)``
workers per API service. If you are running several fake compute services on
a single host, then consider setting ``API_WORKERS=1`` in ``local.conf``.
In addition, while quota will be disabled in neutron, there is no fake ML2
backend for neutron so creating fake VMs will still result in real ports being
created. To create servers without networking, you can specify ``--nic=none``
when creating the server, for example:
.. code-block:: shell
$ openstack --os-compute-api-version 2.37 server create --flavor cirros256 \
--image cirros-0.6.3-x86_64-disk --nic none --wait test-server
.. note:: ``--os-compute-api-version`` greater than or equal to 2.37 is
required to use ``--nic=none``.
To avoid overhead from other services which you may not need, disable them in
your ``local.conf``, for example:
.. code-block:: ini
disable_service horizon
disable_service tempest
+35 -24
View File
@@ -45,31 +45,45 @@ We need to add a user to install DevStack. (if you created a user during
install you can skip this step and just give the user sudo privileges
below)
::
.. code-block:: console
useradd -s /bin/bash -d /opt/stack -m stack
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
Ensure home directory for the ``stack`` user has executable permission for all,
as RHEL based distros create it with ``700`` and Ubuntu 21.04+ with ``750``
which can cause issues during deployment.
.. code-block:: console
$ sudo chmod +x /opt/stack
Since this user will be making many changes to your system, it will need
to have sudo privileges:
::
.. code-block:: console
apt-get install sudo -y || yum install -y sudo
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
$ apt-get install sudo -y || yum install -y sudo
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
.. note:: On some systems you may need to use ``sudo visudo``.
From here on you should use the user you created. **Logout** and
**login** as that user.
**login** as that user:
.. code-block:: console
$ sudo su stack && cd ~
Download DevStack
-----------------
We'll grab the latest version of DevStack via https:
::
.. code-block:: console
sudo apt-get install git -y || sudo yum install -y git
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
$ sudo apt-get install git -y || sudo yum install -y git
$ git clone https://opendev.org/openstack/devstack
$ cd devstack
Run DevStack
------------
@@ -81,11 +95,8 @@ do the following:
- Set ``FLOATING_RANGE`` to a range not used on the local network, i.e.
192.168.1.224/27. This configures IP addresses ending in 225-254 to
be used as floating IPs.
- Set ``FIXED_RANGE`` and ``FIXED_NETWORK_SIZE`` to configure the
internal address space used by the instances.
- Set ``FLAT_INTERFACE`` to the Ethernet interface that connects the
host to your local network. This is the interface that should be
configured with the static IP address mentioned above.
- Set ``FIXED_RANGE`` to configure the internal address space used by the
instances.
- Set the administrative password. This password is used for the
**admin** and **demo** accounts set up as OpenStack users.
- Set the MySQL administrative password. The default here is a random
@@ -95,25 +106,29 @@ do the following:
- Set the service password. This is used by the OpenStack services
(Nova, Glance, etc) to authenticate with Keystone.
.. warning:: Only use alphanumeric characters in your passwords, as some
services fail to work when using special characters.
``local.conf`` should look something like this:
::
.. code-block:: ini
[[local|localrc]]
FLOATING_RANGE=192.168.1.224/27
FIXED_RANGE=10.11.12.0/24
FIXED_NETWORK_SIZE=256
FLAT_INTERFACE=eth0
ADMIN_PASSWORD=supersecret
DATABASE_PASSWORD=iheartdatabases
RABBIT_PASSWORD=flopsymopsy
SERVICE_PASSWORD=iheartksl
.. note:: There is a sample :download:`local.conf </assets/local.conf>` file
under the *samples* directory in the devstack repository.
Run DevStack:
::
.. code-block:: console
./stack.sh
$ ./stack.sh
A seemingly endless stream of activity ensues. When complete you will
see a summary of ``stack.sh``'s work, including the relevant URLs,
@@ -127,7 +142,3 @@ computers on the local network. In this example that would be
http://192.168.1.201/ for the dashboard (aka Horizon). Launch VMs and if
you give them floating IPs and security group access those VMs will be
accessible from other machines on your network.
Some examples of using the OpenStack command-line clients ``nova`` and
``glance`` are in the shakedown scripts in ``devstack/exercises``.
``exercise.sh`` will run all of those scripts and report on the results.
+2 -2
View File
@@ -60,7 +60,7 @@ passed as the user-data file when booting the VM.
DEBIAN_FRONTEND=noninteractive sudo apt-get install -qqy git || sudo yum install -qy git
sudo chown stack:stack /home/stack
cd /home/stack
git clone https://git.openstack.org/openstack-dev/devstack
git clone https://opendev.org/openstack/devstack
cd devstack
echo '[[local|localrc]]' > local.conf
echo ADMIN_PASSWORD=password >> local.conf
@@ -78,7 +78,7 @@ As DevStack will refuse to run as root, this configures ``cloud-init``
to create a non-root user and run the ``start.sh`` script as that user.
If you are using cloud-init and you have not
`enabled custom logging <../configuration.html#enable-logging>`_ of the stack
:ref:`enabled custom logging <enable_logging>` of the stack
output, then the stack output can be found in
``/var/log/cloud-init-output.log`` by default.
+56 -29
View File
@@ -11,9 +11,8 @@
and how to go beyond this setup. Both should be a set of quick
links to other documents to let people explore from there.
==========
DevStack
==========
DevStack
========
.. image:: assets/images/logo-blue.png
@@ -23,8 +22,7 @@ everything from git master. It is used interactively as a development
environment and as the basis for much of the OpenStack project's
functional testing.
The source is available at
`<https://git.openstack.org/cgit/openstack-dev/devstack>`__.
The source is available at `<https://opendev.org/openstack/devstack>`__.
.. warning::
@@ -33,56 +31,66 @@ The source is available at
are dedicated to this purpose.
Quick Start
===========
+++++++++++
Install Linux
-------------
Start with a clean and minimal install of a Linux system. Devstack
attempts to support Ubuntu 16.04/17.04, Fedora 24/25, CentOS/RHEL 7,
as well as Debian and OpenSUSE.
Start with a clean and minimal install of a Linux system. DevStack
attempts to support the two latest LTS releases of Ubuntu,
Rocky Linux 9 and openEuler.
If you do not have a preference, Ubuntu 16.04 is the most tested, and
will probably go the smoothest.
If you do not have a preference, Ubuntu 22.04 (Jammy) is the
most tested, and will probably go the smoothest.
Add Stack User
--------------
Add Stack User (optional)
-------------------------
Devstack should be run as a non-root user with sudo enabled
DevStack should be run as a non-root user with sudo enabled
(standard logins to cloud images such as "ubuntu" or "cloud-user"
are usually fine).
You can quickly create a separate `stack` user to run DevStack with
If you are not using a cloud image, you can create a separate `stack` user
to run DevStack with
::
.. code-block:: console
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
Ensure home directory for the ``stack`` user has executable permission for all,
as RHEL based distros create it with ``700`` and Ubuntu 21.04+ with ``750``
which can cause issues during deployment.
.. code-block:: console
$ sudo chmod +x /opt/stack
Since this user will be making many changes to your system, it should
have sudo privileges:
::
.. code-block:: console
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
$ sudo su - stack
$ sudo -u stack -i
Download DevStack
-----------------
::
.. code-block:: console
$ git clone https://git.openstack.org/openstack-dev/devstack
$ git clone https://opendev.org/openstack/devstack
$ cd devstack
The ``devstack`` repo contains a script that installs OpenStack and
templates for configuration files
templates for configuration files.
Create a local.conf
-------------------
Create a ``local.conf`` file with 4 passwords preset at the root of the
Create a ``local.conf`` file with four passwords preset at the root of the
devstack git repo.
::
.. code-block:: ini
[[local|localrc]]
ADMIN_PASSWORD=secret
@@ -92,14 +100,20 @@ devstack git repo.
This is the minimum required config to get started with DevStack.
.. note:: There is a sample :download:`local.conf </assets/local.conf>` file
under the *samples* directory in the devstack repository.
.. warning:: Only use alphanumeric characters in your passwords, as some
services fail to work when using special characters.
Start the install
-----------------
::
.. code-block:: console
./stack.sh
$ ./stack.sh
This will take a 15 - 20 minutes, largely depending on the speed of
This will take 15 - 30 minutes, largely depending on the speed of
your internet connection. Many git trees and packages will be
installed during this process.
@@ -109,8 +123,8 @@ Profit!
You now have a working DevStack! Congrats!
Your devstack will have installed ``keystone``, ``glance``, ``nova``,
``cinder``, ``neutron``, and ``horizon``. Floating IPs will be
available, guests have access to the external world.
``placement``, ``cinder``, ``neutron``, and ``horizon``. Floating IPs
will be available, guests have access to the external world.
You can access horizon to experience the web interface to
OpenStack, and manage vms, networks, volumes, and images from
@@ -119,6 +133,8 @@ there.
You can ``source openrc`` in your shell, and then use the
``openstack`` command line tool to manage your devstack.
You can :ref:`create a VM and SSH into it <ssh>`.
You can ``cd /opt/stack/tempest`` and run tempest tests that have
been configured to work with your devstack.
@@ -139,12 +155,23 @@ up to date to the latest devstack).
Enable :doc:`devstack plugins <plugins>` to support additional
services, features, and configuration not present in base devstack.
Use devstack in your CI with :doc:`Ansible roles <zuul_roles>` and
:doc:`Jobs <zuul_jobs>` for Zuul V3. Migrate your devstack Zuul V2 jobs to Zuul
V3 with this full migration :doc:`how-to <zuul_ci_jobs_migration>`.
Get :doc:`the big picture <overview>` of what we are trying to do
with devstack, and help us by :doc:`contributing to the project
<hacking>`.
If you are a new contributor to devstack please refer: :doc:`contributor/contributing`
.. toctree::
:hidden:
contributor/contributing
Contents
--------
++++++++
.. toctree::
:glob:
+125 -3
View File
@@ -40,7 +40,7 @@ updates. Tempest tests will work in this environment.
Locally Accessible Guests
=========================
If you want to make you guests accessible from other machines on your
If you want to make your guests accessible from other machines on your
network, we have to connect ``br-ex`` to a physical interface.
Dedicated Guest Interface
@@ -68,7 +68,7 @@ Shared Guest Interface
.. warning::
This is not a recommended configuration. Because of interactions
between ovs and bridging, if you reboot your box with active
between OVS and bridging, if you reboot your box with active
networking you may lose network connectivity to your system.
If you need your guests accessible on the network, but only have 1
@@ -81,7 +81,7 @@ of addresses, and have them all exactly correct.
[[local|localrc]]
PUBLIC_INTERFACE=eth0
HOST_IP=10.42.0.52
FLOATING_RANGE=10.42.0.52/24
FLOATING_RANGE=10.42.0.0/24
PUBLIC_NETWORK_GATEWAY=10.42.0.1
Q_FLOATING_ALLOCATION_POOL=start=10.42.0.250,end=10.42.0.254
@@ -114,3 +114,125 @@ For IPv6, ``FIXED_RANGE_V6`` will default to the first /64 of the value of
``FIXED_RANGE_V6`` will just use the value of that directly.
``SUBNETPOOL_PREFIX_V6`` will just default to the value of
``IPV6_ADDRS_SAFE_TO_USE`` directly.
.. _ssh:
SSH access to instances
=======================
To validate connectivity, you can create an instance using the
``$PRIVATE_NETWORK_NAME`` network (default: ``private``), create a floating IP
using the ``$PUBLIC_NETWORK_NAME`` network (default: ``public``), and attach
this floating IP to the instance:
.. code-block:: shell
openstack keypair create --public-key ~/.ssh/id_rsa.pub test-keypair
openstack server create --network private --key-name test-keypair ... test-server
fip_id=$(openstack floating ip create public -f value -c id)
openstack server add floating ip test-server ${fip_id}
Once done, ensure you have enabled SSH and ICMP (ping) access for the security
group used for the instance. You can either create a custom security group and
specify it when creating the instance or add it after creation, or you can
modify the ``default`` security group created by default for each project.
Let's do the latter:
.. code-block:: shell
openstack security group rule create --proto icmp --dst-port 0 default
openstack security group rule create --proto tcp --dst-port 22 default
Finally, SSH into the instance. If you used the Cirros instance uploaded by
default, then you can run the following:
.. code-block:: shell
openstack server ssh test-server -- -l cirros
This will connect using the ``cirros`` user and the keypair you configured when
creating the instance.
Remote SSH access to instances
==============================
You can also SSH to created instances on your DevStack host from other hosts.
This can be helpful if you are e.g. deploying DevStack in a VM on an existing
cloud and wish to do development on your local machine. There are a few ways to
do this.
.. rubric:: Configure instances to be locally accessible
The most obvious way is to configure guests to be locally accessible, as
described `above <Locally Accessible Guests>`__. This has the advantage of
requiring no further effort on the client. However, it is more involved and
requires either support from your cloud or some inadvisable workarounds.
.. rubric:: Use your DevStack host as a jump host
You can choose to use your DevStack host as a jump host. To SSH to a instance
this way, pass the standard ``-J`` option to the ``openstack ssh`` / ``ssh``
command. For example:
.. code-block::
openstack server ssh test-server -- -l cirros -J username@devstack-host
(where ``test-server`` is name of an existing instance, as described
:ref:`previously <ssh>`, and ``username`` and ``devstack-host`` are the
username and hostname of your DevStack host).
This can also be configured via your ``~/.ssh/config`` file, making it rather
effortless. However, it only allows SSH access. If you want to access e.g. a
web application on the instance, you will need to configure an SSH tunnel and
forward select ports using the ``-L`` option. For example, to forward HTTP
traffic:
.. code-block::
openstack server ssh test-server -- -l cirros -L 8080:username@devstack-host:80
(where ``test-server`` is name of an existing instance, as described
:ref:`previously <ssh>`, and ``username`` and ``devstack-host`` are the
username and hostname of your DevStack host).
As you can imagine, this can quickly get out of hand, particularly for more
complex guest applications with multiple ports.
.. rubric:: Use a proxy or VPN tool
You can use a proxy or VPN tool to enable tunneling for the floating IP
address range of the ``$PUBLIC_NETWORK_NAME`` network (default: ``public``)
defined by ``$FLOATING_RANGE`` (default: ``172.24.4.0/24``). There are many
such tools available to do this. For example, we could use a useful utility
called `shuttle`__. To enable tunneling using ``shuttle``, first ensure you
have allowed SSH and HTTP(S) traffic to your DevStack host. Allowing HTTP(S)
traffic is necessary so you can use the OpenStack APIs remotely. How you do
this will depend on where your DevStack host is running. Once this is done,
install ``sshuttle`` on your localhost:
.. code-block:: bash
sudo apt-get install sshuttle || yum install sshuttle
Finally, start ``sshuttle`` on your localhost using the floating IP address
range. For example, assuming you are using the default value for
``$FLOATING_RANGE``, you can do:
.. code-block:: bash
sshuttle -r username@devstack-host 172.24.4.0/24
(where ``username`` and ``devstack-host`` are the username and hostname of your
DevStack host).
You should now be able to create an instance and SSH into it:
.. code-block:: bash
openstack server ssh test-server -- -l cirros
(where ``test-server`` is name of an existing instance, as described
:ref:`previously <ssh>`)
.. __: https://github.com/sshuttle/sshuttle
+4 -12
View File
@@ -23,13 +23,12 @@ strategy to include the latest Ubuntu release and the latest RHEL
release.*
- Ubuntu: current LTS release plus current development release
- Fedora: current release plus previous release
- RHEL/CentOS: current major release
- RHEL/CentOS/RockyLinux: current major release
- Other OS platforms may continue to be included but the maintenance of
those platforms shall not be assumed simply due to their presence.
Having a listed point-of-contact for each additional OS will greatly
increase its chance of being well-maintained.
- Patches for Ubuntu and/or Fedora will not be held up due to
- Patches for Ubuntu and/or RockyLinux will not be held up due to
side-effects on other OS platforms.
Databases
@@ -64,7 +63,8 @@ Services
The default services configured by DevStack are Identity (keystone),
Object Storage (swift), Image Service (glance), Block Storage
(cinder), Compute (nova), Networking (neutron), Dashboard (horizon)
(cinder), Compute (nova), Placement (placement),
Networking (neutron), Dashboard (horizon).
Additional services not included directly in DevStack can be tied in to
``stack.sh`` using the :doc:`plugin mechanism <plugins>` to call
@@ -75,11 +75,3 @@ Node Configurations
- single node
- multi-node configurations as are tested by the gate
Exercises
---------
The DevStack exercise scripts are no longer used as integration and gate
testing as that job has transitioned to Tempest. They are still
maintained as a demonstrations of using OpenStack from the command line
and for quick operational testing.
+155 -167
View File
@@ -21,172 +21,160 @@ available DevStack plugins. This includes, but is not limited to,
official OpenStack projects.
====================================== ===
Plugin Name URL
====================================== ===
almanach `git://git.openstack.org/openstack/almanach <https://git.openstack.org/cgit/openstack/almanach>`__
aodh `git://git.openstack.org/openstack/aodh <https://git.openstack.org/cgit/openstack/aodh>`__
astara `git://git.openstack.org/openstack/astara <https://git.openstack.org/cgit/openstack/astara>`__
barbican `git://git.openstack.org/openstack/barbican <https://git.openstack.org/cgit/openstack/barbican>`__
bilean `git://git.openstack.org/openstack/bilean <https://git.openstack.org/cgit/openstack/bilean>`__
blazar `git://git.openstack.org/openstack/blazar <https://git.openstack.org/cgit/openstack/blazar>`__
broadview-collector `git://git.openstack.org/openstack/broadview-collector <https://git.openstack.org/cgit/openstack/broadview-collector>`__
ceilometer `git://git.openstack.org/openstack/ceilometer <https://git.openstack.org/cgit/openstack/ceilometer>`__
ceilometer-powervm `git://git.openstack.org/openstack/ceilometer-powervm <https://git.openstack.org/cgit/openstack/ceilometer-powervm>`__
cloudkitty `git://git.openstack.org/openstack/cloudkitty <https://git.openstack.org/cgit/openstack/cloudkitty>`__
collectd-ceilometer-plugin `git://git.openstack.org/openstack/collectd-ceilometer-plugin <https://git.openstack.org/cgit/openstack/collectd-ceilometer-plugin>`__
congress `git://git.openstack.org/openstack/congress <https://git.openstack.org/cgit/openstack/congress>`__
cue `git://git.openstack.org/openstack/cue <https://git.openstack.org/cgit/openstack/cue>`__
cyborg `git://git.openstack.org/openstack/cyborg <https://git.openstack.org/cgit/openstack/cyborg>`__
designate `git://git.openstack.org/openstack/designate <https://git.openstack.org/cgit/openstack/designate>`__
devstack-plugin-additional-pkg-repos `git://git.openstack.org/openstack/devstack-plugin-additional-pkg-repos <https://git.openstack.org/cgit/openstack/devstack-plugin-additional-pkg-repos>`__
devstack-plugin-amqp1 `git://git.openstack.org/openstack/devstack-plugin-amqp1 <https://git.openstack.org/cgit/openstack/devstack-plugin-amqp1>`__
devstack-plugin-bdd `git://git.openstack.org/openstack/devstack-plugin-bdd <https://git.openstack.org/cgit/openstack/devstack-plugin-bdd>`__
devstack-plugin-ceph `git://git.openstack.org/openstack/devstack-plugin-ceph <https://git.openstack.org/cgit/openstack/devstack-plugin-ceph>`__
devstack-plugin-container `git://git.openstack.org/openstack/devstack-plugin-container <https://git.openstack.org/cgit/openstack/devstack-plugin-container>`__
devstack-plugin-glusterfs `git://git.openstack.org/openstack/devstack-plugin-glusterfs <https://git.openstack.org/cgit/openstack/devstack-plugin-glusterfs>`__
devstack-plugin-hdfs `git://git.openstack.org/openstack/devstack-plugin-hdfs <https://git.openstack.org/cgit/openstack/devstack-plugin-hdfs>`__
devstack-plugin-kafka `git://git.openstack.org/openstack/devstack-plugin-kafka <https://git.openstack.org/cgit/openstack/devstack-plugin-kafka>`__
devstack-plugin-libvirt-qemu `git://git.openstack.org/openstack/devstack-plugin-libvirt-qemu <https://git.openstack.org/cgit/openstack/devstack-plugin-libvirt-qemu>`__
devstack-plugin-mariadb `git://git.openstack.org/openstack/devstack-plugin-mariadb <https://git.openstack.org/cgit/openstack/devstack-plugin-mariadb>`__
devstack-plugin-nfs `git://git.openstack.org/openstack/devstack-plugin-nfs <https://git.openstack.org/cgit/openstack/devstack-plugin-nfs>`__
devstack-plugin-pika `git://git.openstack.org/openstack/devstack-plugin-pika <https://git.openstack.org/cgit/openstack/devstack-plugin-pika>`__
devstack-plugin-sheepdog `git://git.openstack.org/openstack/devstack-plugin-sheepdog <https://git.openstack.org/cgit/openstack/devstack-plugin-sheepdog>`__
devstack-plugin-vmax `git://git.openstack.org/openstack/devstack-plugin-vmax <https://git.openstack.org/cgit/openstack/devstack-plugin-vmax>`__
devstack-plugin-zmq `git://git.openstack.org/openstack/devstack-plugin-zmq <https://git.openstack.org/cgit/openstack/devstack-plugin-zmq>`__
dragonflow `git://git.openstack.org/openstack/dragonflow <https://git.openstack.org/cgit/openstack/dragonflow>`__
drbd-devstack `git://git.openstack.org/openstack/drbd-devstack <https://git.openstack.org/cgit/openstack/drbd-devstack>`__
ec2-api `git://git.openstack.org/openstack/ec2-api <https://git.openstack.org/cgit/openstack/ec2-api>`__
freezer `git://git.openstack.org/openstack/freezer <https://git.openstack.org/cgit/openstack/freezer>`__
freezer-api `git://git.openstack.org/openstack/freezer-api <https://git.openstack.org/cgit/openstack/freezer-api>`__
freezer-web-ui `git://git.openstack.org/openstack/freezer-web-ui <https://git.openstack.org/cgit/openstack/freezer-web-ui>`__
fuxi `git://git.openstack.org/openstack/fuxi <https://git.openstack.org/cgit/openstack/fuxi>`__
gce-api `git://git.openstack.org/openstack/gce-api <https://git.openstack.org/cgit/openstack/gce-api>`__
glare `git://git.openstack.org/openstack/glare <https://git.openstack.org/cgit/openstack/glare>`__
group-based-policy `git://git.openstack.org/openstack/group-based-policy <https://git.openstack.org/cgit/openstack/group-based-policy>`__
heat `git://git.openstack.org/openstack/heat <https://git.openstack.org/cgit/openstack/heat>`__
heat-dashboard `git://git.openstack.org/openstack/heat-dashboard <https://git.openstack.org/cgit/openstack/heat-dashboard>`__
horizon-mellanox `git://git.openstack.org/openstack/horizon-mellanox <https://git.openstack.org/cgit/openstack/horizon-mellanox>`__
ironic `git://git.openstack.org/openstack/ironic <https://git.openstack.org/cgit/openstack/ironic>`__
ironic-inspector `git://git.openstack.org/openstack/ironic-inspector <https://git.openstack.org/cgit/openstack/ironic-inspector>`__
ironic-staging-drivers `git://git.openstack.org/openstack/ironic-staging-drivers <https://git.openstack.org/cgit/openstack/ironic-staging-drivers>`__
ironic-ui `git://git.openstack.org/openstack/ironic-ui <https://git.openstack.org/cgit/openstack/ironic-ui>`__
k8s-cloud-provider `git://git.openstack.org/openstack/k8s-cloud-provider <https://git.openstack.org/cgit/openstack/k8s-cloud-provider>`__
karbor `git://git.openstack.org/openstack/karbor <https://git.openstack.org/cgit/openstack/karbor>`__
karbor-dashboard `git://git.openstack.org/openstack/karbor-dashboard <https://git.openstack.org/cgit/openstack/karbor-dashboard>`__
keystone `git://git.openstack.org/openstack/keystone <https://git.openstack.org/cgit/openstack/keystone>`__
kingbird `git://git.openstack.org/openstack/kingbird <https://git.openstack.org/cgit/openstack/kingbird>`__
kuryr-kubernetes `git://git.openstack.org/openstack/kuryr-kubernetes <https://git.openstack.org/cgit/openstack/kuryr-kubernetes>`__
kuryr-libnetwork `git://git.openstack.org/openstack/kuryr-libnetwork <https://git.openstack.org/cgit/openstack/kuryr-libnetwork>`__
kuryr-tempest-plugin `git://git.openstack.org/openstack/kuryr-tempest-plugin <https://git.openstack.org/cgit/openstack/kuryr-tempest-plugin>`__
magnum `git://git.openstack.org/openstack/magnum <https://git.openstack.org/cgit/openstack/magnum>`__
magnum-ui `git://git.openstack.org/openstack/magnum-ui <https://git.openstack.org/cgit/openstack/magnum-ui>`__
manila `git://git.openstack.org/openstack/manila <https://git.openstack.org/cgit/openstack/manila>`__
manila-ui `git://git.openstack.org/openstack/manila-ui <https://git.openstack.org/cgit/openstack/manila-ui>`__
masakari `git://git.openstack.org/openstack/masakari <https://git.openstack.org/cgit/openstack/masakari>`__
meteos `git://git.openstack.org/openstack/meteos <https://git.openstack.org/cgit/openstack/meteos>`__
meteos-ui `git://git.openstack.org/openstack/meteos-ui <https://git.openstack.org/cgit/openstack/meteos-ui>`__
mistral `git://git.openstack.org/openstack/mistral <https://git.openstack.org/cgit/openstack/mistral>`__
mixmatch `git://git.openstack.org/openstack/mixmatch <https://git.openstack.org/cgit/openstack/mixmatch>`__
mogan `git://git.openstack.org/openstack/mogan <https://git.openstack.org/cgit/openstack/mogan>`__
mogan-ui `git://git.openstack.org/openstack/mogan-ui <https://git.openstack.org/cgit/openstack/mogan-ui>`__
monasca-analytics `git://git.openstack.org/openstack/monasca-analytics <https://git.openstack.org/cgit/openstack/monasca-analytics>`__
monasca-api `git://git.openstack.org/openstack/monasca-api <https://git.openstack.org/cgit/openstack/monasca-api>`__
monasca-ceilometer `git://git.openstack.org/openstack/monasca-ceilometer <https://git.openstack.org/cgit/openstack/monasca-ceilometer>`__
monasca-events-api `git://git.openstack.org/openstack/monasca-events-api <https://git.openstack.org/cgit/openstack/monasca-events-api>`__
monasca-log-api `git://git.openstack.org/openstack/monasca-log-api <https://git.openstack.org/cgit/openstack/monasca-log-api>`__
monasca-tempest-plugin `git://git.openstack.org/openstack/monasca-tempest-plugin <https://git.openstack.org/cgit/openstack/monasca-tempest-plugin>`__
monasca-transform `git://git.openstack.org/openstack/monasca-transform <https://git.openstack.org/cgit/openstack/monasca-transform>`__
murano `git://git.openstack.org/openstack/murano <https://git.openstack.org/cgit/openstack/murano>`__
networking-6wind `git://git.openstack.org/openstack/networking-6wind <https://git.openstack.org/cgit/openstack/networking-6wind>`__
networking-arista `git://git.openstack.org/openstack/networking-arista <https://git.openstack.org/cgit/openstack/networking-arista>`__
networking-bagpipe `git://git.openstack.org/openstack/networking-bagpipe <https://git.openstack.org/cgit/openstack/networking-bagpipe>`__
networking-baremetal `git://git.openstack.org/openstack/networking-baremetal <https://git.openstack.org/cgit/openstack/networking-baremetal>`__
networking-bgpvpn `git://git.openstack.org/openstack/networking-bgpvpn <https://git.openstack.org/cgit/openstack/networking-bgpvpn>`__
networking-brocade `git://git.openstack.org/openstack/networking-brocade <https://git.openstack.org/cgit/openstack/networking-brocade>`__
networking-calico `git://git.openstack.org/openstack/networking-calico <https://git.openstack.org/cgit/openstack/networking-calico>`__
networking-cisco `git://git.openstack.org/openstack/networking-cisco <https://git.openstack.org/cgit/openstack/networking-cisco>`__
networking-cumulus `git://git.openstack.org/openstack/networking-cumulus <https://git.openstack.org/cgit/openstack/networking-cumulus>`__
networking-dpm `git://git.openstack.org/openstack/networking-dpm <https://git.openstack.org/cgit/openstack/networking-dpm>`__
networking-fortinet `git://git.openstack.org/openstack/networking-fortinet <https://git.openstack.org/cgit/openstack/networking-fortinet>`__
networking-generic-switch `git://git.openstack.org/openstack/networking-generic-switch <https://git.openstack.org/cgit/openstack/networking-generic-switch>`__
networking-hpe `git://git.openstack.org/openstack/networking-hpe <https://git.openstack.org/cgit/openstack/networking-hpe>`__
networking-huawei `git://git.openstack.org/openstack/networking-huawei <https://git.openstack.org/cgit/openstack/networking-huawei>`__
networking-hyperv `git://git.openstack.org/openstack/networking-hyperv <https://git.openstack.org/cgit/openstack/networking-hyperv>`__
networking-infoblox `git://git.openstack.org/openstack/networking-infoblox <https://git.openstack.org/cgit/openstack/networking-infoblox>`__
networking-l2gw `git://git.openstack.org/openstack/networking-l2gw <https://git.openstack.org/cgit/openstack/networking-l2gw>`__
networking-lagopus `git://git.openstack.org/openstack/networking-lagopus <https://git.openstack.org/cgit/openstack/networking-lagopus>`__
networking-midonet `git://git.openstack.org/openstack/networking-midonet <https://git.openstack.org/cgit/openstack/networking-midonet>`__
networking-mlnx `git://git.openstack.org/openstack/networking-mlnx <https://git.openstack.org/cgit/openstack/networking-mlnx>`__
networking-nec `git://git.openstack.org/openstack/networking-nec <https://git.openstack.org/cgit/openstack/networking-nec>`__
networking-odl `git://git.openstack.org/openstack/networking-odl <https://git.openstack.org/cgit/openstack/networking-odl>`__
networking-onos `git://git.openstack.org/openstack/networking-onos <https://git.openstack.org/cgit/openstack/networking-onos>`__
networking-opencontrail `git://git.openstack.org/openstack/networking-opencontrail <https://git.openstack.org/cgit/openstack/networking-opencontrail>`__
networking-ovn `git://git.openstack.org/openstack/networking-ovn <https://git.openstack.org/cgit/openstack/networking-ovn>`__
networking-ovs-dpdk `git://git.openstack.org/openstack/networking-ovs-dpdk <https://git.openstack.org/cgit/openstack/networking-ovs-dpdk>`__
networking-plumgrid `git://git.openstack.org/openstack/networking-plumgrid <https://git.openstack.org/cgit/openstack/networking-plumgrid>`__
networking-powervm `git://git.openstack.org/openstack/networking-powervm <https://git.openstack.org/cgit/openstack/networking-powervm>`__
networking-sfc `git://git.openstack.org/openstack/networking-sfc <https://git.openstack.org/cgit/openstack/networking-sfc>`__
networking-spp `git://git.openstack.org/openstack/networking-spp <https://git.openstack.org/cgit/openstack/networking-spp>`__
networking-vpp `git://git.openstack.org/openstack/networking-vpp <https://git.openstack.org/cgit/openstack/networking-vpp>`__
networking-vsphere `git://git.openstack.org/openstack/networking-vsphere <https://git.openstack.org/cgit/openstack/networking-vsphere>`__
neutron `git://git.openstack.org/openstack/neutron <https://git.openstack.org/cgit/openstack/neutron>`__
neutron-classifier `git://git.openstack.org/openstack/neutron-classifier <https://git.openstack.org/cgit/openstack/neutron-classifier>`__
neutron-dynamic-routing `git://git.openstack.org/openstack/neutron-dynamic-routing <https://git.openstack.org/cgit/openstack/neutron-dynamic-routing>`__
neutron-fwaas `git://git.openstack.org/openstack/neutron-fwaas <https://git.openstack.org/cgit/openstack/neutron-fwaas>`__
neutron-fwaas-dashboard `git://git.openstack.org/openstack/neutron-fwaas-dashboard <https://git.openstack.org/cgit/openstack/neutron-fwaas-dashboard>`__
neutron-lbaas `git://git.openstack.org/openstack/neutron-lbaas <https://git.openstack.org/cgit/openstack/neutron-lbaas>`__
neutron-lbaas-dashboard `git://git.openstack.org/openstack/neutron-lbaas-dashboard <https://git.openstack.org/cgit/openstack/neutron-lbaas-dashboard>`__
neutron-tempest-plugin `git://git.openstack.org/openstack/neutron-tempest-plugin <https://git.openstack.org/cgit/openstack/neutron-tempest-plugin>`__
neutron-vpnaas `git://git.openstack.org/openstack/neutron-vpnaas <https://git.openstack.org/cgit/openstack/neutron-vpnaas>`__
neutron-vpnaas-dashboard `git://git.openstack.org/openstack/neutron-vpnaas-dashboard <https://git.openstack.org/cgit/openstack/neutron-vpnaas-dashboard>`__
nova-dpm `git://git.openstack.org/openstack/nova-dpm <https://git.openstack.org/cgit/openstack/nova-dpm>`__
nova-lxd `git://git.openstack.org/openstack/nova-lxd <https://git.openstack.org/cgit/openstack/nova-lxd>`__
nova-mksproxy `git://git.openstack.org/openstack/nova-mksproxy <https://git.openstack.org/cgit/openstack/nova-mksproxy>`__
nova-powervm `git://git.openstack.org/openstack/nova-powervm <https://git.openstack.org/cgit/openstack/nova-powervm>`__
oaktree `git://git.openstack.org/openstack/oaktree <https://git.openstack.org/cgit/openstack/oaktree>`__
octavia `git://git.openstack.org/openstack/octavia <https://git.openstack.org/cgit/openstack/octavia>`__
octavia-dashboard `git://git.openstack.org/openstack/octavia-dashboard <https://git.openstack.org/cgit/openstack/octavia-dashboard>`__
omni `git://git.openstack.org/openstack/omni <https://git.openstack.org/cgit/openstack/omni>`__
os-xenapi `git://git.openstack.org/openstack/os-xenapi <https://git.openstack.org/cgit/openstack/os-xenapi>`__
osprofiler `git://git.openstack.org/openstack/osprofiler <https://git.openstack.org/cgit/openstack/osprofiler>`__
oswin-tempest-plugin `git://git.openstack.org/openstack/oswin-tempest-plugin <https://git.openstack.org/cgit/openstack/oswin-tempest-plugin>`__
panko `git://git.openstack.org/openstack/panko <https://git.openstack.org/cgit/openstack/panko>`__
patrole `git://git.openstack.org/openstack/patrole <https://git.openstack.org/cgit/openstack/patrole>`__
picasso `git://git.openstack.org/openstack/picasso <https://git.openstack.org/cgit/openstack/picasso>`__
python-openstacksdk `git://git.openstack.org/openstack/python-openstacksdk <https://git.openstack.org/cgit/openstack/python-openstacksdk>`__
qinling `git://git.openstack.org/openstack/qinling <https://git.openstack.org/cgit/openstack/qinling>`__
rally `git://git.openstack.org/openstack/rally <https://git.openstack.org/cgit/openstack/rally>`__
sahara `git://git.openstack.org/openstack/sahara <https://git.openstack.org/cgit/openstack/sahara>`__
sahara-dashboard `git://git.openstack.org/openstack/sahara-dashboard <https://git.openstack.org/cgit/openstack/sahara-dashboard>`__
scalpels `git://git.openstack.org/openstack/scalpels <https://git.openstack.org/cgit/openstack/scalpels>`__
searchlight `git://git.openstack.org/openstack/searchlight <https://git.openstack.org/cgit/openstack/searchlight>`__
searchlight-ui `git://git.openstack.org/openstack/searchlight-ui <https://git.openstack.org/cgit/openstack/searchlight-ui>`__
senlin `git://git.openstack.org/openstack/senlin <https://git.openstack.org/cgit/openstack/senlin>`__
solum `git://git.openstack.org/openstack/solum <https://git.openstack.org/cgit/openstack/solum>`__
stackube `git://git.openstack.org/openstack/stackube <https://git.openstack.org/cgit/openstack/stackube>`__
storlets `git://git.openstack.org/openstack/storlets <https://git.openstack.org/cgit/openstack/storlets>`__
tacker `git://git.openstack.org/openstack/tacker <https://git.openstack.org/cgit/openstack/tacker>`__
tap-as-a-service `git://git.openstack.org/openstack/tap-as-a-service <https://git.openstack.org/cgit/openstack/tap-as-a-service>`__
tap-as-a-service-dashboard `git://git.openstack.org/openstack/tap-as-a-service-dashboard <https://git.openstack.org/cgit/openstack/tap-as-a-service-dashboard>`__
tatu `git://git.openstack.org/openstack/tatu <https://git.openstack.org/cgit/openstack/tatu>`__
telemetry-tempest-plugin `git://git.openstack.org/openstack/telemetry-tempest-plugin <https://git.openstack.org/cgit/openstack/telemetry-tempest-plugin>`__
tricircle `git://git.openstack.org/openstack/tricircle <https://git.openstack.org/cgit/openstack/tricircle>`__
trio2o `git://git.openstack.org/openstack/trio2o <https://git.openstack.org/cgit/openstack/trio2o>`__
trove `git://git.openstack.org/openstack/trove <https://git.openstack.org/cgit/openstack/trove>`__
trove-dashboard `git://git.openstack.org/openstack/trove-dashboard <https://git.openstack.org/cgit/openstack/trove-dashboard>`__
valet `git://git.openstack.org/openstack/valet <https://git.openstack.org/cgit/openstack/valet>`__
vitrage `git://git.openstack.org/openstack/vitrage <https://git.openstack.org/cgit/openstack/vitrage>`__
vitrage-dashboard `git://git.openstack.org/openstack/vitrage-dashboard <https://git.openstack.org/cgit/openstack/vitrage-dashboard>`__
vitrage-tempest-plugin `git://git.openstack.org/openstack/vitrage-tempest-plugin <https://git.openstack.org/cgit/openstack/vitrage-tempest-plugin>`__
vmware-nsx `git://git.openstack.org/openstack/vmware-nsx <https://git.openstack.org/cgit/openstack/vmware-nsx>`__
vmware-vspc `git://git.openstack.org/openstack/vmware-vspc <https://git.openstack.org/cgit/openstack/vmware-vspc>`__
watcher `git://git.openstack.org/openstack/watcher <https://git.openstack.org/cgit/openstack/watcher>`__
watcher-dashboard `git://git.openstack.org/openstack/watcher-dashboard <https://git.openstack.org/cgit/openstack/watcher-dashboard>`__
zaqar `git://git.openstack.org/openstack/zaqar <https://git.openstack.org/cgit/openstack/zaqar>`__
zaqar-ui `git://git.openstack.org/openstack/zaqar-ui <https://git.openstack.org/cgit/openstack/zaqar-ui>`__
zun `git://git.openstack.org/openstack/zun <https://git.openstack.org/cgit/openstack/zun>`__
zun-ui `git://git.openstack.org/openstack/zun-ui <https://git.openstack.org/cgit/openstack/zun-ui>`__
====================================== ===
======================================== ===
Plugin Name URL
======================================== ===
openstack/aodh `https://opendev.org/openstack/aodh <https://opendev.org/openstack/aodh>`__
openstack/barbican `https://opendev.org/openstack/barbican <https://opendev.org/openstack/barbican>`__
openstack/blazar `https://opendev.org/openstack/blazar <https://opendev.org/openstack/blazar>`__
openstack/ceilometer `https://opendev.org/openstack/ceilometer <https://opendev.org/openstack/ceilometer>`__
openstack/cloudkitty `https://opendev.org/openstack/cloudkitty <https://opendev.org/openstack/cloudkitty>`__
openstack/cyborg `https://opendev.org/openstack/cyborg <https://opendev.org/openstack/cyborg>`__
openstack/designate `https://opendev.org/openstack/designate <https://opendev.org/openstack/designate>`__
openstack/devstack-plugin-amqp1 `https://opendev.org/openstack/devstack-plugin-amqp1 <https://opendev.org/openstack/devstack-plugin-amqp1>`__
openstack/devstack-plugin-ceph `https://opendev.org/openstack/devstack-plugin-ceph <https://opendev.org/openstack/devstack-plugin-ceph>`__
openstack/devstack-plugin-container `https://opendev.org/openstack/devstack-plugin-container <https://opendev.org/openstack/devstack-plugin-container>`__
openstack/devstack-plugin-kafka `https://opendev.org/openstack/devstack-plugin-kafka <https://opendev.org/openstack/devstack-plugin-kafka>`__
openstack/devstack-plugin-nfs `https://opendev.org/openstack/devstack-plugin-nfs <https://opendev.org/openstack/devstack-plugin-nfs>`__
openstack/devstack-plugin-open-cas `https://opendev.org/openstack/devstack-plugin-open-cas <https://opendev.org/openstack/devstack-plugin-open-cas>`__
openstack/freezer `https://opendev.org/openstack/freezer <https://opendev.org/openstack/freezer>`__
openstack/freezer-api `https://opendev.org/openstack/freezer-api <https://opendev.org/openstack/freezer-api>`__
openstack/freezer-tempest-plugin `https://opendev.org/openstack/freezer-tempest-plugin <https://opendev.org/openstack/freezer-tempest-plugin>`__
openstack/freezer-web-ui `https://opendev.org/openstack/freezer-web-ui <https://opendev.org/openstack/freezer-web-ui>`__
openstack/heat `https://opendev.org/openstack/heat <https://opendev.org/openstack/heat>`__
openstack/heat-dashboard `https://opendev.org/openstack/heat-dashboard <https://opendev.org/openstack/heat-dashboard>`__
openstack/ironic `https://opendev.org/openstack/ironic <https://opendev.org/openstack/ironic>`__
openstack/ironic-inspector `https://opendev.org/openstack/ironic-inspector <https://opendev.org/openstack/ironic-inspector>`__
openstack/ironic-prometheus-exporter `https://opendev.org/openstack/ironic-prometheus-exporter <https://opendev.org/openstack/ironic-prometheus-exporter>`__
openstack/ironic-ui `https://opendev.org/openstack/ironic-ui <https://opendev.org/openstack/ironic-ui>`__
openstack/keystone `https://opendev.org/openstack/keystone <https://opendev.org/openstack/keystone>`__
openstack/kuryr-libnetwork `https://opendev.org/openstack/kuryr-libnetwork <https://opendev.org/openstack/kuryr-libnetwork>`__
openstack/magnum `https://opendev.org/openstack/magnum <https://opendev.org/openstack/magnum>`__
openstack/magnum-ui `https://opendev.org/openstack/magnum-ui <https://opendev.org/openstack/magnum-ui>`__
openstack/manila `https://opendev.org/openstack/manila <https://opendev.org/openstack/manila>`__
openstack/manila-tempest-plugin `https://opendev.org/openstack/manila-tempest-plugin <https://opendev.org/openstack/manila-tempest-plugin>`__
openstack/manila-ui `https://opendev.org/openstack/manila-ui <https://opendev.org/openstack/manila-ui>`__
openstack/masakari `https://opendev.org/openstack/masakari <https://opendev.org/openstack/masakari>`__
openstack/mistral `https://opendev.org/openstack/mistral <https://opendev.org/openstack/mistral>`__
openstack/monasca-api `https://opendev.org/openstack/monasca-api <https://opendev.org/openstack/monasca-api>`__
openstack/monasca-events-api `https://opendev.org/openstack/monasca-events-api <https://opendev.org/openstack/monasca-events-api>`__
openstack/monasca-tempest-plugin `https://opendev.org/openstack/monasca-tempest-plugin <https://opendev.org/openstack/monasca-tempest-plugin>`__
openstack/networking-bagpipe `https://opendev.org/openstack/networking-bagpipe <https://opendev.org/openstack/networking-bagpipe>`__
openstack/networking-baremetal `https://opendev.org/openstack/networking-baremetal <https://opendev.org/openstack/networking-baremetal>`__
openstack/networking-bgpvpn `https://opendev.org/openstack/networking-bgpvpn <https://opendev.org/openstack/networking-bgpvpn>`__
openstack/networking-generic-switch `https://opendev.org/openstack/networking-generic-switch <https://opendev.org/openstack/networking-generic-switch>`__
openstack/networking-sfc `https://opendev.org/openstack/networking-sfc <https://opendev.org/openstack/networking-sfc>`__
openstack/neutron `https://opendev.org/openstack/neutron <https://opendev.org/openstack/neutron>`__
openstack/neutron-dynamic-routing `https://opendev.org/openstack/neutron-dynamic-routing <https://opendev.org/openstack/neutron-dynamic-routing>`__
openstack/neutron-fwaas `https://opendev.org/openstack/neutron-fwaas <https://opendev.org/openstack/neutron-fwaas>`__
openstack/neutron-fwaas-dashboard `https://opendev.org/openstack/neutron-fwaas-dashboard <https://opendev.org/openstack/neutron-fwaas-dashboard>`__
openstack/neutron-tempest-plugin `https://opendev.org/openstack/neutron-tempest-plugin <https://opendev.org/openstack/neutron-tempest-plugin>`__
openstack/neutron-vpnaas `https://opendev.org/openstack/neutron-vpnaas <https://opendev.org/openstack/neutron-vpnaas>`__
openstack/neutron-vpnaas-dashboard `https://opendev.org/openstack/neutron-vpnaas-dashboard <https://opendev.org/openstack/neutron-vpnaas-dashboard>`__
openstack/nova `https://opendev.org/openstack/nova <https://opendev.org/openstack/nova>`__
openstack/octavia `https://opendev.org/openstack/octavia <https://opendev.org/openstack/octavia>`__
openstack/octavia-dashboard `https://opendev.org/openstack/octavia-dashboard <https://opendev.org/openstack/octavia-dashboard>`__
openstack/octavia-tempest-plugin `https://opendev.org/openstack/octavia-tempest-plugin <https://opendev.org/openstack/octavia-tempest-plugin>`__
openstack/openstacksdk `https://opendev.org/openstack/openstacksdk <https://opendev.org/openstack/openstacksdk>`__
openstack/osprofiler `https://opendev.org/openstack/osprofiler <https://opendev.org/openstack/osprofiler>`__
openstack/ovn-bgp-agent `https://opendev.org/openstack/ovn-bgp-agent <https://opendev.org/openstack/ovn-bgp-agent>`__
openstack/ovn-octavia-provider `https://opendev.org/openstack/ovn-octavia-provider <https://opendev.org/openstack/ovn-octavia-provider>`__
openstack/rally-openstack `https://opendev.org/openstack/rally-openstack <https://opendev.org/openstack/rally-openstack>`__
openstack/shade `https://opendev.org/openstack/shade <https://opendev.org/openstack/shade>`__
openstack/skyline-apiserver `https://opendev.org/openstack/skyline-apiserver <https://opendev.org/openstack/skyline-apiserver>`__
openstack/storlets `https://opendev.org/openstack/storlets <https://opendev.org/openstack/storlets>`__
openstack/tacker `https://opendev.org/openstack/tacker <https://opendev.org/openstack/tacker>`__
openstack/tap-as-a-service `https://opendev.org/openstack/tap-as-a-service <https://opendev.org/openstack/tap-as-a-service>`__
openstack/telemetry-tempest-plugin `https://opendev.org/openstack/telemetry-tempest-plugin <https://opendev.org/openstack/telemetry-tempest-plugin>`__
openstack/trove `https://opendev.org/openstack/trove <https://opendev.org/openstack/trove>`__
openstack/trove-dashboard `https://opendev.org/openstack/trove-dashboard <https://opendev.org/openstack/trove-dashboard>`__
openstack/venus `https://opendev.org/openstack/venus <https://opendev.org/openstack/venus>`__
openstack/venus-dashboard `https://opendev.org/openstack/venus-dashboard <https://opendev.org/openstack/venus-dashboard>`__
openstack/vitrage `https://opendev.org/openstack/vitrage <https://opendev.org/openstack/vitrage>`__
openstack/vitrage-dashboard `https://opendev.org/openstack/vitrage-dashboard <https://opendev.org/openstack/vitrage-dashboard>`__
openstack/vitrage-tempest-plugin `https://opendev.org/openstack/vitrage-tempest-plugin <https://opendev.org/openstack/vitrage-tempest-plugin>`__
openstack/watcher `https://opendev.org/openstack/watcher <https://opendev.org/openstack/watcher>`__
openstack/watcher-dashboard `https://opendev.org/openstack/watcher-dashboard <https://opendev.org/openstack/watcher-dashboard>`__
openstack/whitebox-tempest-plugin `https://opendev.org/openstack/whitebox-tempest-plugin <https://opendev.org/openstack/whitebox-tempest-plugin>`__
openstack/zaqar `https://opendev.org/openstack/zaqar <https://opendev.org/openstack/zaqar>`__
openstack/zaqar-ui `https://opendev.org/openstack/zaqar-ui <https://opendev.org/openstack/zaqar-ui>`__
openstack/zun `https://opendev.org/openstack/zun <https://opendev.org/openstack/zun>`__
openstack/zun-ui `https://opendev.org/openstack/zun-ui <https://opendev.org/openstack/zun-ui>`__
performa/os-faults `https://opendev.org/performa/os-faults <https://opendev.org/performa/os-faults>`__
starlingx/config `https://opendev.org/starlingx/config <https://opendev.org/starlingx/config>`__
starlingx/fault `https://opendev.org/starlingx/fault <https://opendev.org/starlingx/fault>`__
starlingx/ha `https://opendev.org/starlingx/ha <https://opendev.org/starlingx/ha>`__
starlingx/integ `https://opendev.org/starlingx/integ <https://opendev.org/starlingx/integ>`__
starlingx/metal `https://opendev.org/starlingx/metal <https://opendev.org/starlingx/metal>`__
starlingx/nfv `https://opendev.org/starlingx/nfv <https://opendev.org/starlingx/nfv>`__
starlingx/update `https://opendev.org/starlingx/update <https://opendev.org/starlingx/update>`__
vexxhost/openstack-operator `https://opendev.org/vexxhost/openstack-operator <https://opendev.org/vexxhost/openstack-operator>`__
x/almanach `https://opendev.org/x/almanach <https://opendev.org/x/almanach>`__
x/apmec `https://opendev.org/x/apmec <https://opendev.org/x/apmec>`__
x/bilean `https://opendev.org/x/bilean <https://opendev.org/x/bilean>`__
x/broadview-collector `https://opendev.org/x/broadview-collector <https://opendev.org/x/broadview-collector>`__
x/collectd-openstack-plugins `https://opendev.org/x/collectd-openstack-plugins <https://opendev.org/x/collectd-openstack-plugins>`__
x/devstack-plugin-additional-pkg-repos `https://opendev.org/x/devstack-plugin-additional-pkg-repos <https://opendev.org/x/devstack-plugin-additional-pkg-repos>`__
x/devstack-plugin-glusterfs `https://opendev.org/x/devstack-plugin-glusterfs <https://opendev.org/x/devstack-plugin-glusterfs>`__
x/devstack-plugin-hdfs `https://opendev.org/x/devstack-plugin-hdfs <https://opendev.org/x/devstack-plugin-hdfs>`__
x/devstack-plugin-libvirt-qemu `https://opendev.org/x/devstack-plugin-libvirt-qemu <https://opendev.org/x/devstack-plugin-libvirt-qemu>`__
x/devstack-plugin-mariadb `https://opendev.org/x/devstack-plugin-mariadb <https://opendev.org/x/devstack-plugin-mariadb>`__
x/devstack-plugin-tobiko `https://opendev.org/x/devstack-plugin-tobiko <https://opendev.org/x/devstack-plugin-tobiko>`__
x/devstack-plugin-vmax `https://opendev.org/x/devstack-plugin-vmax <https://opendev.org/x/devstack-plugin-vmax>`__
x/drbd-devstack `https://opendev.org/x/drbd-devstack <https://opendev.org/x/drbd-devstack>`__
x/fenix `https://opendev.org/x/fenix <https://opendev.org/x/fenix>`__
x/gce-api `https://opendev.org/x/gce-api <https://opendev.org/x/gce-api>`__
x/glare `https://opendev.org/x/glare <https://opendev.org/x/glare>`__
x/group-based-policy `https://opendev.org/x/group-based-policy <https://opendev.org/x/group-based-policy>`__
x/gyan `https://opendev.org/x/gyan <https://opendev.org/x/gyan>`__
x/horizon-mellanox `https://opendev.org/x/horizon-mellanox <https://opendev.org/x/horizon-mellanox>`__
x/ironic-staging-drivers `https://opendev.org/x/ironic-staging-drivers <https://opendev.org/x/ironic-staging-drivers>`__
x/kingbird `https://opendev.org/x/kingbird <https://opendev.org/x/kingbird>`__
x/meteos `https://opendev.org/x/meteos <https://opendev.org/x/meteos>`__
x/meteos-ui `https://opendev.org/x/meteos-ui <https://opendev.org/x/meteos-ui>`__
x/mixmatch `https://opendev.org/x/mixmatch <https://opendev.org/x/mixmatch>`__
x/mogan `https://opendev.org/x/mogan <https://opendev.org/x/mogan>`__
x/mogan-ui `https://opendev.org/x/mogan-ui <https://opendev.org/x/mogan-ui>`__
x/networking-6wind `https://opendev.org/x/networking-6wind <https://opendev.org/x/networking-6wind>`__
x/networking-ansible `https://opendev.org/x/networking-ansible <https://opendev.org/x/networking-ansible>`__
x/networking-arista `https://opendev.org/x/networking-arista <https://opendev.org/x/networking-arista>`__
x/networking-brocade `https://opendev.org/x/networking-brocade <https://opendev.org/x/networking-brocade>`__
x/networking-cisco `https://opendev.org/x/networking-cisco <https://opendev.org/x/networking-cisco>`__
x/networking-cumulus `https://opendev.org/x/networking-cumulus <https://opendev.org/x/networking-cumulus>`__
x/networking-dpm `https://opendev.org/x/networking-dpm <https://opendev.org/x/networking-dpm>`__
x/networking-fortinet `https://opendev.org/x/networking-fortinet <https://opendev.org/x/networking-fortinet>`__
x/networking-hpe `https://opendev.org/x/networking-hpe <https://opendev.org/x/networking-hpe>`__
x/networking-huawei `https://opendev.org/x/networking-huawei <https://opendev.org/x/networking-huawei>`__
x/networking-infoblox `https://opendev.org/x/networking-infoblox <https://opendev.org/x/networking-infoblox>`__
x/networking-l2gw `https://opendev.org/x/networking-l2gw <https://opendev.org/x/networking-l2gw>`__
x/networking-lagopus `https://opendev.org/x/networking-lagopus <https://opendev.org/x/networking-lagopus>`__
x/networking-mlnx `https://opendev.org/x/networking-mlnx <https://opendev.org/x/networking-mlnx>`__
x/networking-nec `https://opendev.org/x/networking-nec <https://opendev.org/x/networking-nec>`__
x/networking-omnipath `https://opendev.org/x/networking-omnipath <https://opendev.org/x/networking-omnipath>`__
x/networking-opencontrail `https://opendev.org/x/networking-opencontrail <https://opendev.org/x/networking-opencontrail>`__
x/networking-ovs-dpdk `https://opendev.org/x/networking-ovs-dpdk <https://opendev.org/x/networking-ovs-dpdk>`__
x/networking-plumgrid `https://opendev.org/x/networking-plumgrid <https://opendev.org/x/networking-plumgrid>`__
x/networking-spp `https://opendev.org/x/networking-spp <https://opendev.org/x/networking-spp>`__
x/networking-vpp `https://opendev.org/x/networking-vpp <https://opendev.org/x/networking-vpp>`__
x/networking-vsphere `https://opendev.org/x/networking-vsphere <https://opendev.org/x/networking-vsphere>`__
x/neutron-classifier `https://opendev.org/x/neutron-classifier <https://opendev.org/x/neutron-classifier>`__
x/nova-dpm `https://opendev.org/x/nova-dpm <https://opendev.org/x/nova-dpm>`__
x/nova-mksproxy `https://opendev.org/x/nova-mksproxy <https://opendev.org/x/nova-mksproxy>`__
x/oaktree `https://opendev.org/x/oaktree <https://opendev.org/x/oaktree>`__
x/omni `https://opendev.org/x/omni <https://opendev.org/x/omni>`__
x/os-xenapi `https://opendev.org/x/os-xenapi <https://opendev.org/x/os-xenapi>`__
x/picasso `https://opendev.org/x/picasso <https://opendev.org/x/picasso>`__
x/rsd-virt-for-nova `https://opendev.org/x/rsd-virt-for-nova <https://opendev.org/x/rsd-virt-for-nova>`__
x/scalpels `https://opendev.org/x/scalpels <https://opendev.org/x/scalpels>`__
x/slogging `https://opendev.org/x/slogging <https://opendev.org/x/slogging>`__
x/stackube `https://opendev.org/x/stackube <https://opendev.org/x/stackube>`__
x/tap-as-a-service-dashboard `https://opendev.org/x/tap-as-a-service-dashboard <https://opendev.org/x/tap-as-a-service-dashboard>`__
x/tatu `https://opendev.org/x/tatu <https://opendev.org/x/tatu>`__
x/trio2o `https://opendev.org/x/trio2o <https://opendev.org/x/trio2o>`__
x/valet `https://opendev.org/x/valet <https://opendev.org/x/valet>`__
x/vmware-nsx `https://opendev.org/x/vmware-nsx <https://opendev.org/x/vmware-nsx>`__
x/vmware-vspc `https://opendev.org/x/vmware-vspc <https://opendev.org/x/vmware-vspc>`__
x/whitebox-neutron-tempest-plugin `https://opendev.org/x/whitebox-neutron-tempest-plugin <https://opendev.org/x/whitebox-neutron-tempest-plugin>`__
======================================== ===
+64 -18
View File
@@ -58,7 +58,7 @@ directory. Inside this directory there can be 3 files.
plugin's name, which is the name that should be used by users on
"enable_plugin" lines. It should generally be the last component of
the git repo path (e.g., if the plugin's repo is
openstack/devstack-foo, then the name here should be "foo") ::
openstack/foo, then the name here should be "foo") ::
define_plugin <YOUR PLUGIN>
@@ -99,7 +99,7 @@ They are added in the following format::
An example would be as follows::
enable_plugin ec2-api git://git.openstack.org/openstack/ec2-api
enable_plugin ec2-api https://opendev.org/openstack/ec2-api
plugin.sh contract
==================
@@ -148,7 +148,7 @@ An example plugin would look something as follows.
``devstack/settings``::
# settings file for template
# settings file for template
enable_service template
@@ -222,23 +222,62 @@ dependency mechanism is beyond the scope of the current work.
System Packages
===============
Devstack provides a framework for getting packages installed at an early
phase of its execution. These packages may be defined in a plugin as files
that contain new-line separated lists of packages required by the plugin
Supported packaging systems include apt and yum across multiple distributions.
To enable a plugin to hook into this and install package dependencies, packages
may be listed at the following locations in the top-level of the plugin
repository:
Devstack based
--------------
Devstack provides a custom framework for getting packages installed at
an early phase of its execution. These packages may be defined in a
plugin as files that contain new-line separated lists of packages
required by the plugin
Supported packaging systems include apt and yum across multiple
distributions. To enable a plugin to hook into this and install
package dependencies, packages may be listed at the following
locations in the top-level of the plugin repository:
- ``./devstack/files/debs/$plugin_name`` - Packages to install when running
on Ubuntu, Debian or Linux Mint.
on Ubuntu or Debian.
- ``./devstack/files/rpms/$plugin_name`` - Packages to install when running
on Red Hat, Fedora, CentOS or XenServer.
on Red Hat, Fedora, or CentOS.
- ``./devstack/files/rpms-suse/$plugin_name`` - Packages to install when
running on SUSE Linux or openSUSE.
Although there a no plans to remove this method of installing
packages, plugins should consider it deprecated for ``bindep`` support
described below.
bindep
------
The `bindep <https://docs.openstack.org/infra/bindep>`__ project has
become the defacto standard for OpenStack projects to specify binary
dependencies.
A plugin may provide a ``./devstack/files/bindep.txt`` file, which
will be called with the *default* profile to install packages. For
details on the syntax, etc. see the bindep documentation.
It is also possible to use the ``bindep.txt`` of projects that are
being installed from source with the ``-bindep`` flag available in
install functions. For example
.. code-block:: bash
if use_library_from_git "diskimage-builder"; then
GITREPO["diskimage-builder"]=$DISKIMAGE_BUILDER_REPO_URL
GITDIR["diskimage-builder"]=$DEST/diskimage-builder
GITBRANCH["diskimage-builder"]=$DISKIMAGE_BUILDER_REPO_REF
git_clone_by_name "diskimage-builder"
setup_dev_lib -bindep "diskimage-builder"
fi
will result in any packages required by the ``bindep.txt`` of the
``diskimage-builder`` project being installed. Note however that jobs
that switch projects between source and released/pypi installs
(e.g. with a ``foo-dsvm`` and a ``foo-dsvm-src`` test to cover both
released dependencies and master versions) will have to deal with
``bindep.txt`` being unavailable without the source directory.
Using Plugins in the OpenStack Gate
@@ -264,10 +303,12 @@ integration of alternate RPC systems (e.g. zmq, qpid). In these cases
the best practice is to build a dedicated
``openstack/devstack-plugin-FOO`` project.
Legacy project-config jobs
--------------------------
To enable a plugin to be used in a gate job, the following lines will
be needed in your ``jenkins/jobs/<project>.yaml`` definition in
`project-config
<http://git.openstack.org/cgit/openstack-infra/project-config/>`_::
`project-config <https://opendev.org/openstack/project-config/>`_::
# Because we are testing a non standard project, add the
# our project repository. This makes zuul do the right
@@ -277,12 +318,17 @@ be needed in your ``jenkins/jobs/<project>.yaml`` definition in
# note the actual url here is somewhat irrelevant because it
# caches in nodepool, however make it a valid url for
# documentation purposes.
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/openstack/ec2-api"
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api https://opendev.org/openstack/ec2-api"
Zuul v3 jobs
------------
See the ``devstack_plugins`` example in :doc:`zuul_ci_jobs_migration`.
See Also
========
For additional inspiration on devstack plugins you can check out the
`Plugin Registry <plugin-registry.html>`_.
:doc:`Plugin Registry <plugin-registry>`.
.. _service types authority: https://specs.openstack.org/openstack/service-types-authority/
+14 -25
View File
@@ -152,6 +152,19 @@ Invoke the command manually::
/usr/local/bin/nova-scheduler --config-file /etc/nova/nova.conf
Some executables, such as :program:`nova-compute`, will need to be executed
with a particular group. This will be shown in the systemd unit file::
sudo systemctl cat devstack@n-cpu.service | grep Group
::
Group = libvirt
Use the :program:`sg` tool to execute the command as this group::
sg libvirt -c '/usr/local/bin/nova-compute --config-file /etc/nova/nova-cpu.conf'
Using remote-pdb
----------------
@@ -181,31 +194,7 @@ Telnet to that port to enter the pdb session::
See the `remote-pdb`_ home page for more options.
.. _`remote-pdb`: https://pypi.python.org/pypi/remote-pdb
Known Issues
============
Be careful about systemd python libraries. There are 3 of them on
pypi, and they are all very different. They unfortunately all install
into the ``systemd`` namespace, which can cause some issues.
- ``systemd-python`` - this is the upstream maintained library, it has
a version number like systemd itself (currently ``234``). This is
the one you want.
- ``systemd`` - a python 3 only library, not what you want.
- ``python-systemd`` - another library you don't want. Installing it
on a system will break ansible's ability to run.
If we were using user units, the ``[Service]`` - ``Group=`` parameter
doesn't seem to work with user units, even though the documentation
says that it should. This means that we will need to do an explicit
``/usr/bin/sg``. This has the downside of making the SYSLOG_IDENTIFIER
be ``sg``. We can explicitly set that with ``SyslogIdentifier=``, but
it's really unfortunate that we're going to need this work
around. This is currently not a problem because we're only using
system units.
.. _`remote-pdb`: https://pypi.org/project/remote-pdb/
Future Work
===========
+25
View File
@@ -0,0 +1,25 @@
=======
Tempest
=======
`Tempest`_ is the OpenStack Integration test suite. It is installed by default
and is used to provide integration testing for many of the OpenStack services.
Just like DevStack itself, it is possible to extend Tempest with plugins. In
fact, many Tempest plugin packages also include DevStack plugin to do things
like pre-create required static resources.
The `Tempest documentation <Tempest>`_ provides a thorough guide to using
Tempest. However, if you simply wish to run the standard set of Tempest tests
against an existing deployment, you can do the following:
.. code-block:: shell
cd /opt/stack/tempest
/opt/stack/data/venv/bin/tempest run ...
The above assumes you have installed DevStack in the default location
(configured via the ``DEST`` configuration variable) and have enabled
virtualenv-based installation in the standard location (configured via the
``USE_VENV`` and ``VENV_DEST`` configuration variables, respectively).
.. _Tempest: https://docs.openstack.org/tempest/latest/
+320
View File
@@ -0,0 +1,320 @@
===============================
Migrating Zuul V2 CI jobs to V3
===============================
The OpenStack CI system moved from Zuul v2 to Zuul v3, and all CI jobs moved to
the new CI system. All jobs have been migrated automatically to a format
compatible with Zuul v3; the jobs produced in this way however are suboptimal
and do not use the capabilities introduced by Zuul v3, which allow for re-use of
job parts, in the form of Ansible roles, as well as inheritance between jobs.
DevStack hosts a set of roles, plays and jobs that can be used by other
repositories to define their DevStack based jobs. To benefit from them, jobs
must be migrated from the legacy v2 ones into v3 native format.
This document provides guidance and examples to make the migration process as
painless and smooth as possible.
Where to host the job definitions.
==================================
In Zuul V3 jobs can be defined in the repository that contains the code they
excercise. If you are writing CI jobs for an OpenStack service you can define
your DevStack based CI jobs in one of the repositories that host the code for
your service. If you have a branchless repo, like a Tempest plugin, that is
a convenient choice to host the job definitions since job changes do not have
to be backported. For example, see the beginning of the ``.zuul.yaml`` from the
sahara Tempest plugin repo:
.. code:: yaml
# In https://opendev.org/openstack/sahara-tests/src/branch/master/.zuul.yaml:
- job:
name: sahara-tests-tempest
description: |
Run Tempest tests from the Sahara plugin.
parent: devstack-tempest
Which base job to start from
============================
If your job needs an OpenStack cloud deployed via DevStack, but you don't plan
on running Tempest tests, you can start from one of the base
:doc:`jobs <zuul_jobs>` defined in the DevStack repo.
The ``devstack`` job can be used for both single-node jobs and multi-node jobs,
and it includes the list of services used in the integrated gate (keystone,
glance, nova, cinder, neutron and swift). Different topologies can be achieved
by switching the nodeset used in the child job.
The ``devstack-base`` job is similar to ``devstack`` but it does not specify any
required repo or service to be run in DevStack. It can be useful to setup
children jobs that use a very narrow DevStack setup.
If your job needs an OpenStack cloud deployed via DevStack, and you do plan
on running Tempest tests, you can start from one of the base jobs defined in the
Tempest repo.
The ``devstack-tempest`` job can be used for both single-node jobs and
multi-node jobs. Different topologies can be achieved by switching the nodeset
used in the child job.
Jobs can be customized as follows without writing any Ansible code:
- add and/or remove DevStack services
- add or modify DevStack and services configuration
- install DevStack plugins
- extend the number of sub-nodes (multinode only)
- define extra log files and/or directories to be uploaded on logs.o.o
- define extra log file extensions to be rewritten to .txt for ease of access
Tempest jobs can be further customized as follows:
- define the Tempest tox environment to be used
- define the test concurrency
- define the test regular expression
Writing Ansible code, or importing existing custom roles, jobs can be further
extended by:
- adding pre and/or post playbooks
- overriding the run playbook, add custom roles
The (partial) example below extends a Tempest single node base job
"devstack-tempest" in the Kuryr repository. The parent job name is defined in
job.parent.
.. code:: yaml
# https://opendev.org/openstack/kuryr-kubernetes/src/branch/master/.zuul.d/base.yaml:
- job:
name: kuryr-kubernetes-tempest-base
parent: devstack-tempest
description: Base kuryr-kubernetes-job
required-projects:
- openstack/devstack-plugin-container
- openstack/kuryr
- openstack/kuryr-kubernetes
- openstack/kuryr-tempest-plugin
- openstack/neutron-lbaas
vars:
tempest_test_regex: '^(kuryr_tempest_plugin.tests.)'
tox_envlist: 'all'
devstack_localrc:
KURYR_K8S_API_PORT: 8080
devstack_services:
kubernetes-api: true
kubernetes-controller-manager: true
kubernetes-scheduler: true
kubelet: true
kuryr-kubernetes: true
(...)
devstack_plugins:
kuryr-kubernetes: https://opendev.org/openstack/kuryr
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
neutron-lbaas: https://opendev.org/openstack/neutron-lbaas
tempest_plugins:
- kuryr-tempest-plugin
(...)
Job variables
=============
Variables can be added to the job in three different places:
- job.vars: these are global variables available to all node in the nodeset
- job.host-vars.[HOST]: these are variables available only to the specified HOST
- job.group-vars.[GROUP]: these are variables available only to the specified
GROUP
Zuul merges dict variables through job inheritance. Host and group variables
override variables with the same name defined as global variables.
In the example below, for the sundaes job, hosts that are not part of the
subnode group will run vanilla and chocolate. Hosts in the subnode group will
run stracciatella and strawberry.
.. code:: yaml
- job:
name: ice-creams
vars:
devstack_service:
vanilla: true
chocolate: false
group-vars:
subnode:
devstack_service:
pistacchio: true
stracciatella: true
- job:
name: sundaes
parent: ice-creams
vars:
devstack_service:
chocolate: true
group-vars:
subnode:
devstack_service:
strawberry: true
pistacchio: false
DevStack Gate Flags
===================
The old CI system worked using a combination of DevStack, Tempest and
devstack-gate to setup a test environment and run tests against it. With Zuul
V3, the logic that used to live in devstack-gate is moved into different repos,
including DevStack, Tempest and grenade.
DevStack-gate exposes an interface for job definition based on a number of
DEVSTACK_GATE_* environment variables, or flags. This guide shows how to map
DEVSTACK_GATE flags into the new
system.
The repo column indicates in which repository is hosted the code that replaces
the devstack-gate flag. The new implementation column explains how to reproduce
the same or a similar behaviour in Zuul v3 jobs. For localrc settings,
devstack-gate defined a default value. In ansible jobs the default is either the
value defined in the parent job, or the default from DevStack, if any.
.. list-table:: **DevStack Gate Flags**
:widths: 20 10 60
:header-rows: 1
* - DevStack gate flag
- Repo
- New implementation
* - OVERRIDE_ZUUL_BRANCH
- zuul
- override-checkout: [branch] in the job definition.
* - DEVSTACK_GATE_NET_OVERLAY
- zuul-jobs
- A bridge called br-infra is set up for all jobs that inherit
from multinode with a dedicated `bridge role
<https://zuul-ci.org/docs/zuul-jobs/general-roles.html#role-multi-node-bridge>`_.
* - DEVSTACK_CINDER_VOLUME_CLEAR
- devstack
- *CINDER_VOLUME_CLEAR: true/false* in devstack_localrc in the
job vars.
* - DEVSTACK_GATE_NEUTRON
- devstack
- True by default. To disable, disable all neutron services in
devstack_services in the job definition.
* - DEVSTACK_GATE_CONFIGDRIVE
- devstack
- *FORCE_CONFIG_DRIVE: true/false* in devstack_localrc in the job
vars.
* - DEVSTACK_GATE_INSTALL_TESTONLY
- devstack
- *INSTALL_TESTONLY_PACKAGES: true/false* in devstack_localrc in
the job vars.
* - DEVSTACK_GATE_VIRT_DRIVER
- devstack
- *VIRT_DRIVER: [virt driver]* in devstack_localrc in the job
vars.
* - DEVSTACK_GATE_LIBVIRT_TYPE
- devstack
- *LIBVIRT_TYPE: [libvirt type]* in devstack_localrc in the job
vars.
* - DEVSTACK_GATE_TEMPEST
- devstack and tempest
- Defined by the job that is used. The ``devstack`` job only runs
devstack. The ``devstack-tempest`` one triggers a Tempest run
as well.
* - DEVSTACK_GATE_TEMPEST_FULL
- tempest
- *tox_envlist: full* in the job vars.
* - DEVSTACK_GATE_TEMPEST_ALL
- tempest
- *tox_envlist: all* in the job vars.
* - DEVSTACK_GATE_TEMPEST_ALL_PLUGINS
- tempest
- *tox_envlist: all-plugin* in the job vars.
* - DEVSTACK_GATE_TEMPEST_SCENARIOS
- tempest
- *tox_envlist: scenario* in the job vars.
* - TEMPEST_CONCURRENCY
- tempest
- *tempest_concurrency: [value]* in the job vars. This is
available only on jobs that inherit from ``devstack-tempest``
down.
* - DEVSTACK_GATE_TEMPEST_NOTESTS
- tempest
- *tox_envlist: venv-tempest* in the job vars. This will create
Tempest virtual environment but run no tests.
* - DEVSTACK_GATE_SMOKE_SERIAL
- tempest
- *tox_envlist: smoke-serial* in the job vars.
* - DEVSTACK_GATE_TEMPEST_DISABLE_TENANT_ISOLATION
- tempest
- *tox_envlist: full-serial* in the job vars.
*TEMPEST_ALLOW_TENANT_ISOLATION: false* in devstack_localrc in
the job vars.
The following flags have not been migrated yet or are legacy and won't be
migrated at all.
.. list-table:: **Not Migrated DevStack Gate Flags**
:widths: 20 10 60
:header-rows: 1
* - DevStack gate flag
- Status
- Details
* - DEVSTACK_GATE_TOPOLOGY
- WIP
- The topology depends on the base job that is used and more
specifically on the nodeset attached to it. The new job format
allows project to define the variables to be passed to every
node/node-group that exists in the topology. Named topologies
that include the nodeset and the matching variables can be
defined in the form of base jobs.
* - DEVSTACK_GATE_GRENADE
- TBD
- Grenade Zuul V3 jobs will be hosted in the grenade repo.
* - GRENADE_BASE_BRANCH
- TBD
- Grenade Zuul V3 jobs will be hosted in the grenade repo.
* - DEVSTACK_GATE_NEUTRON_DVR
- TBD
- Depends on multinode support.
* - DEVSTACK_GATE_EXERCISES
- TBD
- Can be done on request.
* - DEVSTACK_GATE_IRONIC
- TBD
- This will probably be implemented on ironic side.
* - DEVSTACK_GATE_IRONIC_DRIVER
- TBD
- This will probably be implemented on ironic side.
* - DEVSTACK_GATE_IRONIC_BUILD_RAMDISK
- TBD
- This will probably be implemented on ironic side.
* - DEVSTACK_GATE_POSTGRES
- Legacy
- This flag exists in d-g but the only thing that it does is
capture postgres logs. This is already supported by the roles
in post, so the flag is useless in the new jobs. postgres
itself can be enabled via the devstack_service job variable.
* - DEVSTACK_GATE_ZEROMQ
- Legacy
- This has no effect in d-g.
* - DEVSTACK_GATE_MQ_DRIVER
- Legacy
- This has no effect in d-g.
* - DEVSTACK_GATE_TEMPEST_STRESS_ARGS
- Legacy
- Stress is not in Tempest anymore.
* - DEVSTACK_GATE_TEMPEST_HEAT_SLOW
- Legacy
- This is not used anywhere.
* - DEVSTACK_GATE_CELLS
- Legacy
- This has no effect in d-g.
* - DEVSTACK_GATE_NOVA_API_METADATA_SPLIT
- Legacy
- This has no effect in d-g.
+4
View File
@@ -0,0 +1,4 @@
Zuul CI Jobs
============
.. zuul:autojobs::
+4
View File
@@ -0,0 +1,4 @@
Zuul CI Roles
=============
.. zuul:autoroles::
-74
View File
@@ -1,74 +0,0 @@
#!/usr/bin/env bash
# **exercise.sh**
# Keep track of the current DevStack directory.
TOP_DIR=$(cd $(dirname "$0") && pwd)
# Import common functions
source $TOP_DIR/functions
# Load local configuration
source $TOP_DIR/stackrc
# Run everything in the exercises/ directory that isn't explicitly disabled
# comma separated list of script basenames to skip
# to refrain from exercising foo.sh use ``SKIP_EXERCISES=foo``
SKIP_EXERCISES=${SKIP_EXERCISES:-""}
# comma separated list of script basenames to run
# to run only foo.sh use ``RUN_EXERCISES=foo``
basenames=${RUN_EXERCISES:-""}
EXERCISE_DIR=$TOP_DIR/exercises
if [[ -z "${basenames}" ]]; then
# Locate the scripts we should run
basenames=$(for b in `ls $EXERCISE_DIR/*.sh`; do basename $b .sh; done)
else
# If ``RUN_EXERCISES`` was specified, ignore ``SKIP_EXERCISES``.
SKIP_EXERCISES=
fi
# Track the state of each script
passes=""
failures=""
skips=""
# Loop over each possible script (by basename)
for script in $basenames; do
if [[ ,$SKIP_EXERCISES, =~ ,$script, ]]; then
skips="$skips $script"
else
echo "====================================================================="
echo Running $script
echo "====================================================================="
$EXERCISE_DIR/$script.sh
exitcode=$?
if [[ $exitcode == 55 ]]; then
skips="$skips $script"
elif [[ $exitcode -ne 0 ]]; then
failures="$failures $script"
else
passes="$passes $script"
fi
fi
done
# Output status of exercise run
echo "====================================================================="
for script in $skips; do
echo SKIP $script
done
for script in $passes; do
echo PASS $script
done
for script in $failures; do
echo FAILED $script
done
echo "====================================================================="
if [[ -n "$failures" ]]; then
exit 1
fi
-26
View File
@@ -1,26 +0,0 @@
#!/usr/bin/env bash
#
# source exerciserc
#
# Configure the DevStack exercise scripts
# For best results, source this _after_ stackrc/localrc as it will set
# values only if they are not already set.
# Max time to wait while vm goes from build to active state
export ACTIVE_TIMEOUT=${ACTIVE_TIMEOUT:-30}
# Max time to wait for proper IP association and dis-association.
export ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-15}
# Max time till the vm is bootable
export BOOT_TIMEOUT=${BOOT_TIMEOUT:-30}
# Max time from run instance command until it is running
export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
# Max time to wait for a vm to terminate
export TERMINATE_TIMEOUT=${TERMINATE_TIMEOUT:-30}
# The size of the volume we want to boot from; some storage back-ends
# do not allow a disk resize, so it's important that this can be tuned
export DEFAULT_VOLUME_SIZE=${DEFAULT_VOLUME_SIZE:-1}
-150
View File
@@ -1,150 +0,0 @@
#!/usr/bin/env bash
# **aggregates.sh**
# This script demonstrates how to use host aggregates:
#
# * Create an Aggregate
# * Updating Aggregate details
# * Testing Aggregate metadata
# * Testing Aggregate delete
# * Testing General Aggregates (https://blueprints.launchpad.net/nova/+spec/general-host-aggregates)
# * Testing add/remove hosts (with one host)
echo "**************************************************"
echo "Begin DevStack Exercise: $0"
echo "**************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Test as the admin user
# note this imports stackrc/functions, etc
. $TOP_DIR/openrc admin admin
# Import exercise configuration
source $TOP_DIR/exerciserc
# If nova api is not enabled we exit with exitcode 55 so that
# the exercise is skipped
is_service_enabled n-api || exit 55
# Cells does not support aggregates.
is_service_enabled n-cell && exit 55
# Create an aggregate
# ===================
AGGREGATE_NAME=test_aggregate_$RANDOM
AGGREGATE2_NAME=test_aggregate_$RANDOM
AGGREGATE_A_ZONE=nova
function exit_if_aggregate_present {
aggregate_name=$1
if [ $(nova aggregate-list | grep -c " $aggregate_name ") == 0 ]; then
echo "SUCCESS $aggregate_name not present"
else
die $LINENO "found aggregate: $aggregate_name"
exit -1
fi
}
exit_if_aggregate_present $AGGREGATE_NAME
AGGREGATE_ID=$(nova aggregate-create $AGGREGATE_NAME $AGGREGATE_A_ZONE | grep " $AGGREGATE_NAME " | get_field 1)
die_if_not_set $LINENO AGGREGATE_ID "Failure creating AGGREGATE_ID for $AGGREGATE_NAME $AGGREGATE_A_ZONE"
AGGREGATE2_ID=$(nova aggregate-create $AGGREGATE2_NAME $AGGREGATE_A_ZONE | grep " $AGGREGATE2_NAME " | get_field 1)
die_if_not_set $LINENO AGGREGATE2_ID "Fail creating AGGREGATE2_ID for $AGGREGATE2_NAME $AGGREGATE_A_ZONE"
# check aggregate created
nova aggregate-list | grep -q " $AGGREGATE_NAME " || die $LINENO "Aggregate $AGGREGATE_NAME not created"
# Ensure creating a duplicate fails
# =================================
if nova aggregate-create $AGGREGATE_NAME $AGGREGATE_A_ZONE; then
die $LINENO "could create duplicate aggregate"
fi
# Test aggregate-update (and aggregate-details)
# =============================================
AGGREGATE_NEW_NAME=test_aggregate_$RANDOM
nova aggregate-update $AGGREGATE_ID $AGGREGATE_NEW_NAME
nova aggregate-details $AGGREGATE_ID | grep $AGGREGATE_NEW_NAME
nova aggregate-details $AGGREGATE_ID | grep $AGGREGATE_A_ZONE
nova aggregate-update $AGGREGATE_ID $AGGREGATE_NAME $AGGREGATE_A_ZONE
nova aggregate-details $AGGREGATE_ID | grep $AGGREGATE_NAME
nova aggregate-details $AGGREGATE_ID | grep $AGGREGATE_A_ZONE
# Test aggregate-set-metadata
# ===========================
META_DATA_1_KEY=asdf
META_DATA_2_KEY=foo
META_DATA_3_KEY=bar
#ensure no additional metadata is set
nova aggregate-details $AGGREGATE_ID | egrep "\|[{u ]*'availability_zone.+$AGGREGATE_A_ZONE'[ }]*\|"
nova aggregate-set-metadata $AGGREGATE_ID ${META_DATA_1_KEY}=123
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_1_KEY
nova aggregate-details $AGGREGATE_ID | grep 123
nova aggregate-set-metadata $AGGREGATE_ID ${META_DATA_2_KEY}=456
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_1_KEY
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_2_KEY
nova aggregate-set-metadata $AGGREGATE_ID $META_DATA_2_KEY ${META_DATA_3_KEY}=789
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_1_KEY
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_3_KEY
nova aggregate-details $AGGREGATE_ID | grep $META_DATA_2_KEY && die $LINENO "ERROR metadata was not cleared"
nova aggregate-set-metadata $AGGREGATE_ID $META_DATA_3_KEY $META_DATA_1_KEY
nova aggregate-details $AGGREGATE_ID | egrep "\|[{u ]*'availability_zone.+$AGGREGATE_A_ZONE'[ }]*\|"
# Test aggregate-add/remove-host
# ==============================
if [ "$VIRT_DRIVER" == "xenserver" ]; then
echo "TODO(johngarbutt) add tests for add/remove host from pool aggregate"
fi
FIRST_HOST=$(nova host-list | grep compute | get_field 1 | head -1)
# Make sure can add two aggregates to same host
nova aggregate-add-host $AGGREGATE_ID $FIRST_HOST
nova aggregate-add-host $AGGREGATE2_ID $FIRST_HOST
if nova aggregate-add-host $AGGREGATE2_ID $FIRST_HOST; then
die $LINENO "could add duplicate host to single aggregate"
fi
nova aggregate-remove-host $AGGREGATE2_ID $FIRST_HOST
nova aggregate-remove-host $AGGREGATE_ID $FIRST_HOST
# Test aggregate-delete
# =====================
nova aggregate-delete $AGGREGATE_ID
nova aggregate-delete $AGGREGATE2_ID
exit_if_aggregate_present $AGGREGATE_NAME
set +o xtrace
echo "**************************************************"
echo "End DevStack Exercise: $0"
echo "**************************************************"
-224
View File
@@ -1,224 +0,0 @@
#!/usr/bin/env bash
# **boot_from_volume.sh**
# This script demonstrates how to boot from a volume. It does the following:
#
# * Create a bootable volume
# * Boot a volume-backed instance
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import project functions
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# Import configuration
source $TOP_DIR/openrc
# Import exercise configuration
source $TOP_DIR/exerciserc
# If cinder is not enabled we exit with exitcode 55 so that
# the exercise is skipped
is_service_enabled cinder || exit 55
# Ironic does not support boot from volume.
[ "$VIRT_DRIVER" == "ironic" ] && exit 55
# Instance type to create
DEFAULT_INSTANCE_TYPE=${DEFAULT_INSTANCE_TYPE:-m1.tiny}
# Boot this image, use first AMI image if unset
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ami}
# Security group name
SECGROUP=${SECGROUP:-boot_secgroup}
# Instance and volume names
VM_NAME=${VM_NAME:-ex-bfv-inst}
VOL_NAME=${VOL_NAME:-ex-vol-bfv}
# Launching a server
# ==================
# List servers for project:
nova list
# Images
# ------
# List the images available
openstack image list
# Grab the id of the image to launch
IMAGE=$(openstack image list | egrep " $DEFAULT_IMAGE_NAME " | get_field 1)
die_if_not_set $LINENO IMAGE "Failure getting image $DEFAULT_IMAGE_NAME"
# Security Groups
# ---------------
# List security groups
nova secgroup-list
if is_service_enabled n-cell; then
# Cells does not support security groups, so force the use of "default"
SECGROUP="default"
echo "Using the default security group because of Cells."
else
# Create a secgroup
if ! nova secgroup-list | grep -q $SECGROUP; then
nova secgroup-create $SECGROUP "$SECGROUP description"
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova secgroup-list | grep -q $SECGROUP; do sleep 1; done"; then
echo "Security group not created"
exit 1
fi
fi
fi
# Configure Security Group Rules
if ! nova secgroup-list-rules $SECGROUP | grep -q icmp; then
nova secgroup-add-rule $SECGROUP icmp -1 -1 0.0.0.0/0
fi
if ! nova secgroup-list-rules $SECGROUP | grep -q " tcp .* 22 "; then
nova secgroup-add-rule $SECGROUP tcp 22 22 0.0.0.0/0
fi
# List secgroup rules
nova secgroup-list-rules $SECGROUP
# Set up instance
# ---------------
# List flavors
nova flavor-list
# Select a flavor
INSTANCE_TYPE=$(nova flavor-list | grep $DEFAULT_INSTANCE_TYPE | get_field 1)
if [[ -z "$INSTANCE_TYPE" ]]; then
# grab the first flavor in the list to launch if default doesn't exist
INSTANCE_TYPE=$(nova flavor-list | head -n 4 | tail -n 1 | get_field 1)
fi
# Clean-up from previous runs
nova delete $VM_NAME || true
if ! timeout $ACTIVE_TIMEOUT sh -c "while nova show $VM_NAME; do sleep 1; done"; then
echo "server didn't terminate!"
exit 1
fi
# Setup Keypair
KEY_NAME=test_key
KEY_FILE=key.pem
nova keypair-delete $KEY_NAME || true
nova keypair-add $KEY_NAME > $KEY_FILE
chmod 600 $KEY_FILE
# Set up volume
# -------------
# Delete any old volume
cinder delete $VOL_NAME || true
if ! timeout $ACTIVE_TIMEOUT sh -c "while cinder list | grep $VOL_NAME; do sleep 1; done"; then
echo "Volume $VOL_NAME not deleted"
exit 1
fi
# Create the bootable volume
start_time=$(date +%s)
cinder create --image-id $IMAGE --display-name=$VOL_NAME --display-description "test bootable volume: $VOL_NAME" $DEFAULT_VOLUME_SIZE || \
die $LINENO "Failure creating volume $VOL_NAME"
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! cinder list | grep $VOL_NAME | grep available; do sleep 1; done"; then
echo "Volume $VOL_NAME not created"
exit 1
fi
end_time=$(date +%s)
echo "Completed cinder create in $((end_time - start_time)) seconds"
# Get volume ID
VOL_ID=$(cinder list | grep $VOL_NAME | get_field 1)
die_if_not_set $LINENO VOL_ID "Failure retrieving volume ID for $VOL_NAME"
# Boot instance
# -------------
# Boot using the --block-device-mapping param. The format of mapping is:
# <dev_name>=<id>:<type>:<size(GB)>:<delete_on_terminate>
# Leaving the middle two fields blank appears to do-the-right-thing
VM_UUID=$(nova boot --flavor $INSTANCE_TYPE --image $IMAGE --block-device-mapping vda=$VOL_ID --security-groups=$SECGROUP --key-name $KEY_NAME $VM_NAME | grep ' id ' | get_field 2)
die_if_not_set $LINENO VM_UUID "Failure launching $VM_NAME"
# Check that the status is active within ACTIVE_TIMEOUT seconds
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova show $VM_UUID | grep status | grep -q ACTIVE; do sleep 1; done"; then
echo "server didn't become active!"
exit 1
fi
# Get the instance IP
IP=$(get_instance_ip $VM_UUID $PRIVATE_NETWORK_NAME)
die_if_not_set $LINENO IP "Failure retrieving IP address"
# Private IPs can be pinged in single node deployments
ping_check $IP $BOOT_TIMEOUT "$PRIVATE_NETWORK_NAME"
# Clean up
# --------
# Delete volume backed instance
nova delete $VM_UUID || die $LINENO "Failure deleting instance $VM_NAME"
if ! timeout $TERMINATE_TIMEOUT sh -c "while nova list | grep -q $VM_UUID; do sleep 1; done"; then
echo "Server $VM_NAME not deleted"
exit 1
fi
# Wait for volume to be released
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! cinder list | grep $VOL_NAME | grep available; do sleep 1; done"; then
echo "Volume $VOL_NAME not released"
exit 1
fi
# Delete volume
start_time=$(date +%s)
cinder delete $VOL_ID || die $LINENO "Failure deleting volume $VOLUME_NAME"
if ! timeout $ACTIVE_TIMEOUT sh -c "while cinder list | grep $VOL_NAME; do sleep 1; done"; then
echo "Volume $VOL_NAME not deleted"
exit 1
fi
end_time=$(date +%s)
echo "Completed cinder delete in $((end_time - start_time)) seconds"
if [[ $SECGROUP = "default" ]] ; then
echo "Skipping deleting default security group"
else
# Delete secgroup
nova secgroup-delete $SECGROUP || die $LINENO "Failure deleting security group $SECGROUP"
fi
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
-174
View File
@@ -1,174 +0,0 @@
#!/usr/bin/env bash
# **client-args.sh**
# Test OpenStack client authentication arguments handling
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc
# Import exercise configuration
source $TOP_DIR/exerciserc
# Unset all of the known NOVA_* vars
unset NOVA_API_KEY
unset NOVA_ENDPOINT_NAME
unset NOVA_PASSWORD
unset NOVA_PROJECT_ID
unset NOVA_REGION_NAME
unset NOVA_URL
unset NOVA_USERNAME
# Save the known variables for later
export x_PROJECT_NAME=$OS_PROJECT_NAME
export x_USERNAME=$OS_USERNAME
export x_PASSWORD=$OS_PASSWORD
export x_AUTH_URL=$OS_AUTH_URL
# Unset the usual variables to force argument processing
unset OS_PROJECT_NAME
unset OS_USERNAME
unset OS_PASSWORD
unset OS_AUTH_URL
# Common authentication args
PROJECT_ARG="--os-project-name=$x_PROJECT_NAME"
ARGS="--os-username=$x_USERNAME --os-password=$x_PASSWORD --os-auth-url=$x_AUTH_URL"
# Set global return
RETURN=0
# Keystone client
# ---------------
if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
if [[ "$SKIP_EXERCISES" =~ "key" ]]; then
STATUS_KEYSTONE="Skipped"
else
echo -e "\nTest Keystone"
if openstack $PROJECT_ARG $ARGS catalog show identity; then
STATUS_KEYSTONE="Succeeded"
else
STATUS_KEYSTONE="Failed"
RETURN=1
fi
fi
fi
# Nova client
# -----------
if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "n-api" ]]; then
STATUS_NOVA="Skipped"
else
# Test OSAPI
echo -e "\nTest Nova"
if nova $PROJECT_ARG $ARGS flavor-list; then
STATUS_NOVA="Succeeded"
else
STATUS_NOVA="Failed"
RETURN=1
fi
fi
fi
# Cinder client
# -------------
if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "c-api" ]]; then
STATUS_CINDER="Skipped"
else
echo -e "\nTest Cinder"
if cinder $PROJECT_ARG $ARGS list; then
STATUS_CINDER="Succeeded"
else
STATUS_CINDER="Failed"
RETURN=1
fi
fi
fi
# Glance client
# -------------
if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "g-api" ]]; then
STATUS_GLANCE="Skipped"
else
echo -e "\nTest Glance"
if openstack $PROJECT_ARG $ARGS image list; then
STATUS_GLANCE="Succeeded"
else
STATUS_GLANCE="Failed"
RETURN=1
fi
fi
fi
# Swift client
# ------------
if [[ "$ENABLED_SERVICES" =~ "swift" || "$ENABLED_SERVICES" =~ "s-proxy" ]]; then
if [[ "$SKIP_EXERCISES" =~ "swift" ]]; then
STATUS_SWIFT="Skipped"
else
echo -e "\nTest Swift"
if swift $PROJECT_ARG $ARGS stat; then
STATUS_SWIFT="Succeeded"
else
STATUS_SWIFT="Failed"
RETURN=1
fi
fi
fi
set +o xtrace
# Results
# =======
function report {
if [[ -n "$2" ]]; then
echo "$1: $2"
fi
}
echo -e "\n"
report "Keystone" $STATUS_KEYSTONE
report "Nova" $STATUS_NOVA
report "Cinder" $STATUS_CINDER
report "Glance" $STATUS_GLANCE
report "Swift" $STATUS_SWIFT
if (( $RETURN == 0 )); then
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
fi
exit $RETURN
-171
View File
@@ -1,171 +0,0 @@
#!/usr/bin/env bash
# **client-env.sh**
# Test OpenStack client environment variable handling
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc admin
# Import exercise configuration
source $TOP_DIR/exerciserc
# Unset all of the known NOVA_* vars
unset NOVA_API_KEY
unset NOVA_ENDPOINT_NAME
unset NOVA_PASSWORD
unset NOVA_PROJECT_ID
unset NOVA_REGION_NAME
unset NOVA_URL
unset NOVA_USERNAME
for i in OS_TENANT_NAME OS_USERNAME OS_PASSWORD OS_AUTH_URL; do
is_set $i
if [[ $? -ne 0 ]]; then
echo "$i expected to be set"
ABORT=1
fi
done
if [[ -n "$ABORT" ]]; then
exit 1
fi
# Set global return
RETURN=0
# Keystone client
# ---------------
if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
if [[ "$SKIP_EXERCISES" =~ "key" ]]; then
STATUS_KEYSTONE="Skipped"
else
echo -e "\nTest Keystone"
if openstack endpoint show identity; then
STATUS_KEYSTONE="Succeeded"
else
STATUS_KEYSTONE="Failed"
RETURN=1
fi
fi
fi
# Nova client
# -----------
if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "n-api" ]]; then
STATUS_NOVA="Skipped"
else
# Test OSAPI
echo -e "\nTest Nova"
if nova flavor-list; then
STATUS_NOVA="Succeeded"
else
STATUS_NOVA="Failed"
RETURN=1
fi
fi
fi
# Cinder client
# -------------
if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "c-api" ]]; then
STATUS_CINDER="Skipped"
else
echo -e "\nTest Cinder"
if cinder list; then
STATUS_CINDER="Succeeded"
else
STATUS_CINDER="Failed"
RETURN=1
fi
fi
fi
# Glance client
# -------------
if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "g-api" ]]; then
STATUS_GLANCE="Skipped"
else
echo -e "\nTest Glance"
if openstack image list; then
STATUS_GLANCE="Succeeded"
else
STATUS_GLANCE="Failed"
RETURN=1
fi
fi
fi
# Swift client
# ------------
if [[ "$ENABLED_SERVICES" =~ "swift" || "$ENABLED_SERVICES" =~ "s-proxy" ]]; then
if [[ "$SKIP_EXERCISES" =~ "swift" ]]; then
STATUS_SWIFT="Skipped"
else
echo -e "\nTest Swift"
if swift stat; then
STATUS_SWIFT="Succeeded"
else
STATUS_SWIFT="Failed"
RETURN=1
fi
fi
fi
set +o xtrace
# Results
# =======
function report {
if [[ -n "$2" ]]; then
echo "$1: $2"
fi
}
echo -e "\n"
report "Keystone" $STATUS_KEYSTONE
report "Nova" $STATUS_NOVA
report "Cinder" $STATUS_CINDER
report "Glance" $STATUS_GLANCE
report "Swift" $STATUS_SWIFT
if (( $RETURN == 0 )); then
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
fi
exit $RETURN
-216
View File
@@ -1,216 +0,0 @@
#!/usr/bin/env bash
# **floating_ips.sh** - using the cloud can be fun
# Test instance connectivity with the ``nova`` command from ``python-novaclient``
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc
# Import project functions
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# Import exercise configuration
source $TOP_DIR/exerciserc
# If nova api is not enabled we exit with exitcode 55 so that
# the exercise is skipped
is_service_enabled n-api || exit 55
# Instance type to create
DEFAULT_INSTANCE_TYPE=${DEFAULT_INSTANCE_TYPE:-m1.tiny}
# Boot this image, use first AMI image if unset
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ami}
# Security group name
SECGROUP=${SECGROUP:-test_secgroup}
# Default floating IP pool name
DEFAULT_FLOATING_POOL=${DEFAULT_FLOATING_POOL:-public}
# Additional floating IP pool and range
TEST_FLOATING_POOL=${TEST_FLOATING_POOL:-test}
# Instance name
VM_NAME="ex-float"
# Cells does not support floating ips API calls
is_service_enabled n-cell && exit 55
# Launching a server
# ==================
# List servers for tenant:
nova list
# Images
# ------
# List the images available
openstack image list
# Grab the id of the image to launch
IMAGE=$(openstack image list | egrep " $DEFAULT_IMAGE_NAME " | get_field 1)
die_if_not_set $LINENO IMAGE "Failure getting image $DEFAULT_IMAGE_NAME"
# Security Groups
# ---------------
# List security groups
nova secgroup-list
# Create a secgroup
if ! nova secgroup-list | grep -q $SECGROUP; then
nova secgroup-create $SECGROUP "$SECGROUP description"
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova secgroup-list | grep -q $SECGROUP; do sleep 1; done"; then
die $LINENO "Security group not created"
fi
fi
# Configure Security Group Rules
if ! nova secgroup-list-rules $SECGROUP | grep -q icmp; then
nova secgroup-add-rule $SECGROUP icmp -1 -1 0.0.0.0/0
fi
if ! nova secgroup-list-rules $SECGROUP | grep -q " tcp .* 22 "; then
nova secgroup-add-rule $SECGROUP tcp 22 22 0.0.0.0/0
fi
# List secgroup rules
nova secgroup-list-rules $SECGROUP
# Set up instance
# ---------------
# List flavors
nova flavor-list
# Select a flavor
INSTANCE_TYPE=$(nova flavor-list | grep $DEFAULT_INSTANCE_TYPE | get_field 1)
if [[ -z "$INSTANCE_TYPE" ]]; then
# grab the first flavor in the list to launch if default doesn't exist
INSTANCE_TYPE=$(nova flavor-list | head -n 4 | tail -n 1 | get_field 1)
die_if_not_set $LINENO INSTANCE_TYPE "Failure retrieving INSTANCE_TYPE"
fi
# Clean-up from previous runs
nova delete $VM_NAME || true
if ! timeout $ACTIVE_TIMEOUT sh -c "while nova show $VM_NAME; do sleep 1; done"; then
die $LINENO "server didn't terminate!"
exit 1
fi
# Boot instance
# -------------
VM_UUID=$(nova boot --flavor $INSTANCE_TYPE --image $IMAGE --security-groups=$SECGROUP $VM_NAME | grep ' id ' | get_field 2)
die_if_not_set $LINENO VM_UUID "Failure launching $VM_NAME"
# Check that the status is active within ACTIVE_TIMEOUT seconds
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova show $VM_UUID | grep status | grep -q ACTIVE; do sleep 1; done"; then
die $LINENO "server didn't become active!"
fi
# Get the instance IP
IP=$(get_instance_ip $VM_UUID $PRIVATE_NETWORK_NAME)
die_if_not_set $LINENO IP "Failure retrieving IP address"
# Private IPs can be pinged in single node deployments
ping_check $IP $BOOT_TIMEOUT "$PRIVATE_NETWORK_NAME"
# Floating IPs
# ------------
# Allocate a floating IP from the default pool
FLOATING_IP=$(nova floating-ip-create | grep $DEFAULT_FLOATING_POOL | get_field 1)
die_if_not_set $LINENO FLOATING_IP "Failure creating floating IP from pool $DEFAULT_FLOATING_POOL"
# List floating addresses
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova floating-ip-list | grep -q $FLOATING_IP; do sleep 1; done"; then
die $LINENO "Floating IP not allocated"
fi
# Add floating IP to our server
nova add-floating-ip $VM_UUID $FLOATING_IP || \
die $LINENO "Failure adding floating IP $FLOATING_IP to $VM_NAME"
# Test we can ping our floating IP within ASSOCIATE_TIMEOUT seconds
ping_check $FLOATING_IP $ASSOCIATE_TIMEOUT "$PUBLIC_NETWORK_NAME"
if ! is_service_enabled neutron; then
# Allocate an IP from second floating pool
TEST_FLOATING_IP=$(nova floating-ip-create $TEST_FLOATING_POOL | grep $TEST_FLOATING_POOL | get_field 1)
die_if_not_set $LINENO TEST_FLOATING_IP "Failure creating floating IP in $TEST_FLOATING_POOL"
# list floating addresses
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova floating-ip-list | grep $TEST_FLOATING_POOL | grep -q $TEST_FLOATING_IP; do sleep 1; done"; then
die $LINENO "Floating IP not allocated"
fi
fi
# Dis-allow icmp traffic (ping)
nova secgroup-delete-rule $SECGROUP icmp -1 -1 0.0.0.0/0 || \
die $LINENO "Failure deleting security group rule from $SECGROUP"
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while nova secgroup-list-rules $SECGROUP | grep -q icmp; do sleep 1; done"; then
die $LINENO "Security group rule not deleted from $SECGROUP"
fi
# FIXME (anthony): make xs support security groups
if [ "$VIRT_DRIVER" != "ironic" -a "$VIRT_DRIVER" != "xenserver" -a "$VIRT_DRIVER" != "openvz" ]; then
# Test we can aren't able to ping our floating ip within ASSOCIATE_TIMEOUT seconds
ping_check $FLOATING_IP $ASSOCIATE_TIMEOUT "$PUBLIC_NETWORK_NAME" Fail
fi
# Clean up
# --------
if ! is_service_enabled neutron; then
# Delete second floating IP
nova floating-ip-delete $TEST_FLOATING_IP || \
die $LINENO "Failure deleting floating IP $TEST_FLOATING_IP"
fi
# Delete the floating ip
nova floating-ip-delete $FLOATING_IP || \
die $LINENO "Failure deleting floating IP $FLOATING_IP"
# Delete instance
nova delete $VM_UUID || die $LINENO "Failure deleting instance $VM_NAME"
# Wait for termination
if ! timeout $TERMINATE_TIMEOUT sh -c "while nova list | grep -q $VM_UUID; do sleep 1; done"; then
die $LINENO "Server $VM_NAME not deleted"
fi
# Delete secgroup
nova secgroup-delete $SECGROUP || \
die $LINENO "Failure deleting security group $SECGROUP"
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
-466
View File
@@ -1,466 +0,0 @@
#!/usr/bin/env bash
#
# Copyright 2012, Cisco Systems
# Copyright 2012, VMware, Inc.
# Copyright 2012, NTT MCL, Inc.
#
# Please direct any questions to dedutta@cisco.com, dwendlandt@vmware.com, nachi@nttmcl.com
#
# **neutron-adv-test.sh**
# Perform integration testing of Nova and other components with Neutron.
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errtrace
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Environment
# -----------
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc
# Import neutron functions
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# If neutron is not enabled we exit with exitcode 55, which means exercise is skipped.
neutron_plugin_check_adv_test_requirements || exit 55
# Import exercise configuration
source $TOP_DIR/exerciserc
# Neutron Settings
# ----------------
PROJECTS="DEMO1"
# TODO (nati)_Test public network
#PROJECTS="DEMO1,DEMO2"
PUBLIC_NAME="admin"
DEMO1_NAME="demo1"
DEMO2_NAME="demo2"
PUBLIC_NUM_NET=1
DEMO1_NUM_NET=1
DEMO2_NUM_NET=2
PUBLIC_NET1_CIDR="200.0.0.0/24"
DEMO1_NET1_CIDR="10.10.0.0/24"
DEMO2_NET1_CIDR="10.20.0.0/24"
DEMO2_NET2_CIDR="10.20.1.0/24"
PUBLIC_NET1_GATEWAY="200.0.0.1"
DEMO1_NET1_GATEWAY="10.10.0.1"
DEMO2_NET1_GATEWAY="10.20.0.1"
DEMO2_NET2_GATEWAY="10.20.1.1"
PUBLIC_NUM_VM=1
DEMO1_NUM_VM=1
DEMO2_NUM_VM=2
PUBLIC_VM1_NET='admin-net1'
DEMO1_VM1_NET='demo1-net1'
# Multinic settings. But this is fail without nic setting in OS image
DEMO2_VM1_NET='demo2-net1'
DEMO2_VM2_NET='demo2-net2'
PUBLIC_NUM_ROUTER=1
DEMO1_NUM_ROUTER=1
DEMO2_NUM_ROUTER=1
PUBLIC_ROUTER1_NET="admin-net1"
DEMO1_ROUTER1_NET="demo1-net1"
DEMO2_ROUTER1_NET="demo2-net1"
# Various functions
# -----------------
function foreach_project {
COMMAND=$1
for PROJECT in ${PROJECTS//,/ };do
eval ${COMMAND//%PROJECT%/$PROJECT}
done
}
function foreach_project_resource {
COMMAND=$1
RESOURCE=$2
for PROJECT in ${PROJECTS//,/ };do
eval 'NUM=$'"${PROJECT}_NUM_$RESOURCE"
for i in `seq $NUM`;do
local COMMAND_LOCAL=${COMMAND//%PROJECT%/$PROJECT}
COMMAND_LOCAL=${COMMAND_LOCAL//%NUM%/$i}
eval $COMMAND_LOCAL
done
done
}
function foreach_project_vm {
COMMAND=$1
foreach_project_resource "$COMMAND" 'VM'
}
function foreach_project_net {
COMMAND=$1
foreach_project_resource "$COMMAND" 'NET'
}
function get_image_id {
local IMAGE_ID
IMAGE_ID=$(openstack image list | egrep " $DEFAULT_IMAGE_NAME " | get_field 1)
die_if_not_set $LINENO IMAGE_ID "Failure retrieving IMAGE_ID"
echo "$IMAGE_ID"
}
function get_project_id {
local PROJECT_NAME=$1
local PROJECT_ID
PROJECT_ID=`openstack project list | grep " $PROJECT_NAME " | head -n 1 | get_field 1`
die_if_not_set $LINENO PROJECT_ID "Failure retrieving PROJECT_ID for $PROJECT_NAME"
echo "$PROJECT_ID"
}
function get_user_id {
local USER_NAME=$1
local USER_ID
USER_ID=`openstack user list | grep $USER_NAME | awk '{print $2}'`
die_if_not_set $LINENO USER_ID "Failure retrieving USER_ID for $USER_NAME"
echo "$USER_ID"
}
function get_role_id {
local ROLE_NAME=$1
local ROLE_ID
ROLE_ID=`openstack role assignment list | grep $ROLE_NAME | awk '{print $2}'`
die_if_not_set $LINENO ROLE_ID "Failure retrieving ROLE_ID for $ROLE_NAME"
echo "$ROLE_ID"
}
function get_network_id {
local NETWORK_NAME="$1"
local NETWORK_ID
NETWORK_ID=`openstack network show -f value -c id $NETWORK_NAME`
echo $NETWORK_ID
}
function get_flavor_id {
local INSTANCE_TYPE=$1
local FLAVOR_ID
FLAVOR_ID=`nova flavor-list | grep $INSTANCE_TYPE | awk '{print $2}'`
die_if_not_set $LINENO FLAVOR_ID "Failure retrieving FLAVOR_ID for $INSTANCE_TYPE"
echo "$FLAVOR_ID"
}
function confirm_server_active {
local VM_UUID=$1
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova show $VM_UUID | grep status | grep -q ACTIVE; do sleep 1; done"; then
echo "server '$VM_UUID' did not become active!"
false
fi
}
function neutron_debug_admin {
local os_username=$OS_USERNAME
local os_project_id=$OS_PROJECT_ID
source $TOP_DIR/openrc admin admin
neutron-debug $@
source $TOP_DIR/openrc $os_username $os_project_id
}
function add_project {
openstack project create $1
openstack user create $2 --password ${ADMIN_PASSWORD} --project $1
openstack role add Member --project $1 --user $2
}
function remove_project {
local PROJECT=$1
local PROJECT_ID
PROJECT_ID=$(get_project_id $PROJECT)
openstack project delete $PROJECT_ID
}
function remove_user {
local USER=$1
local USER_ID
USER_ID=$(get_user_id $USER)
openstack user delete $USER_ID
}
function create_projects {
source $TOP_DIR/openrc admin admin
add_project demo1 demo1 demo1
add_project demo2 demo2 demo2
source $TOP_DIR/openrc demo demo
}
function delete_projects_and_users {
source $TOP_DIR/openrc admin admin
remove_user demo1
remove_project demo1
remove_user demo2
remove_project demo2
echo "removed all projects"
source $TOP_DIR/openrc demo demo
}
function create_network {
local PROJECT=$1
local GATEWAY=$2
local CIDR=$3
local NUM=$4
local EXTRA=$5
local NET_NAME="${PROJECT}-net$NUM"
local ROUTER_NAME="${PROJECT}-router${NUM}"
source $TOP_DIR/openrc admin admin
local PROJECT_ID
PROJECT_ID=$(get_project_id $PROJECT)
source $TOP_DIR/openrc $PROJECT $PROJECT
local NET_ID
NET_ID=$(openstack network create --project $PROJECT_ID $NET_NAME $EXTRA| grep ' id ' | awk '{print $4}' )
die_if_not_set $LINENO NET_ID "Failure creating NET_ID for $PROJECT_ID $NET_NAME $EXTRA"
openstack subnet create --ip-version 4 --project $PROJECT_ID --gateway $GATEWAY --subnet-pool None --network $NET_ID --subnet-range $CIDR "${NET_NAME}_subnet"
neutron_debug_admin probe-create --device-owner compute $NET_ID
source $TOP_DIR/openrc demo demo
}
function create_networks {
foreach_project_net 'create_network ${%PROJECT%_NAME} ${%PROJECT%_NET%NUM%_GATEWAY} ${%PROJECT%_NET%NUM%_CIDR} %NUM% ${%PROJECT%_NET%NUM%_EXTRA}'
#TODO(nati) test security group function
# allow ICMP for both project's security groups
#source $TOP_DIR/openrc demo1 demo1
#$NOVA secgroup-add-rule default icmp -1 -1 0.0.0.0/0
#source $TOP_DIR/openrc demo2 demo2
#$NOVA secgroup-add-rule default icmp -1 -1 0.0.0.0/0
}
function create_vm {
local PROJECT=$1
local NUM=$2
local NET_NAMES=$3
source $TOP_DIR/openrc $PROJECT $PROJECT
local NIC=""
for NET_NAME in ${NET_NAMES//,/ };do
NIC="$NIC --nic net-id="`get_network_id $NET_NAME`
done
#TODO (nati) Add multi-nic test
#TODO (nati) Add public-net test
local VM_UUID
VM_UUID=`nova boot --flavor $(get_flavor_id m1.tiny) \
--image $(get_image_id) \
$NIC \
$PROJECT-server$NUM | grep ' id ' | cut -d"|" -f3 | sed 's/ //g'`
die_if_not_set $LINENO VM_UUID "Failure launching $PROJECT-server$NUM"
confirm_server_active $VM_UUID
}
function create_vms {
foreach_project_vm 'create_vm ${%PROJECT%_NAME} %NUM% ${%PROJECT%_VM%NUM%_NET}'
}
function ping_ip {
# Test agent connection. Assumes namespaces are disabled, and
# that DHCP is in use, but not L3
local VM_NAME=$1
local NET_NAME=$2
IP=$(get_instance_ip $VM_NAME $NET_NAME)
ping_check $IP $BOOT_TIMEOUT $NET_NAME
}
function check_vm {
local PROJECT=$1
local NUM=$2
local VM_NAME="$PROJECT-server$NUM"
local NET_NAME=$3
source $TOP_DIR/openrc $PROJECT $PROJECT
ping_ip $VM_NAME $NET_NAME
# TODO (nati) test ssh connection
# TODO (nati) test inter connection between vm
# TODO (nati) test dhcp host routes
# TODO (nati) test multi-nic
}
function check_vms {
foreach_project_vm 'check_vm ${%PROJECT%_NAME} %NUM% ${%PROJECT%_VM%NUM%_NET}'
}
function shutdown_vm {
local PROJECT=$1
local NUM=$2
source $TOP_DIR/openrc $PROJECT $PROJECT
VM_NAME=${PROJECT}-server$NUM
nova delete $VM_NAME
}
function shutdown_vms {
foreach_project_vm 'shutdown_vm ${%PROJECT%_NAME} %NUM%'
if ! timeout $TERMINATE_TIMEOUT sh -c "while nova list | grep -q ACTIVE; do sleep 1; done"; then
die $LINENO "Some VMs failed to shutdown"
fi
}
function delete_network {
local PROJECT=$1
local NUM=$2
local NET_NAME="${PROJECT}-net$NUM"
source $TOP_DIR/openrc admin admin
local PROJECT_ID
PROJECT_ID=$(get_project_id $PROJECT)
#TODO(nati) comment out until l3-agent merged
#for res in port subnet net router;do
for net_id in `openstack network list -c ID -c Name | grep $NET_NAME | awk '{print $2}'`;do
delete_probe $net_id
openstack subnet list | grep $net_id | awk '{print $2}' | xargs -I% openstack subnet delete %
openstack network delete $net_id
done
source $TOP_DIR/openrc demo demo
}
function delete_networks {
foreach_project_net 'delete_network ${%PROJECT%_NAME} %NUM%'
# TODO(nati) add secuirty group check after it is implemented
# source $TOP_DIR/openrc demo1 demo1
# nova secgroup-delete-rule default icmp -1 -1 0.0.0.0/0
# source $TOP_DIR/openrc demo2 demo2
# nova secgroup-delete-rule default icmp -1 -1 0.0.0.0/0
}
function create_all {
create_projects
create_networks
create_vms
}
function delete_all {
shutdown_vms
delete_networks
delete_projects_and_users
}
function all {
create_all
check_vms
delete_all
}
# Test functions
# --------------
function test_functions {
IMAGE=$(get_image_id)
echo $IMAGE
PROJECT_ID=$(get_project_id demo)
echo $PROJECT_ID
FLAVOR_ID=$(get_flavor_id m1.tiny)
echo $FLAVOR_ID
NETWORK_ID=$(get_network_id admin)
echo $NETWORK_ID
}
# Usage and main
# --------------
function usage {
echo "$0: [-h]"
echo " -h, --help Display help message"
echo " -t, --project Create projects"
echo " -n, --net Create networks"
echo " -v, --vm Create vms"
echo " -c, --check Check connection"
echo " -x, --delete-projects Delete projects"
echo " -y, --delete-nets Delete networks"
echo " -z, --delete-vms Delete vms"
echo " -T, --test Test functions"
}
function main {
echo Description
if [ $# -eq 0 ] ; then
# if no args are provided, run all tests
all
else
while [ "$1" != "" ]; do
case $1 in
-h | --help ) usage
exit
;;
-n | --net ) create_networks
exit
;;
-v | --vm ) create_vms
exit
;;
-t | --project ) create_projects
exit
;;
-c | --check ) check_vms
exit
;;
-T | --test ) test_functions
exit
;;
-x | --delete-projects ) delete_projects_and_users
exit
;;
-y | --delete-nets ) delete_networks
exit
;;
-z | --delete-vms ) shutdown_vms
exit
;;
-a | --all ) all
exit
;;
* ) usage
exit 1
esac
shift
done
fi
}
trap failed ERR
function failed {
local r=$?
set +o errtrace
set +o xtrace
echo "Failed to execute"
echo "Starting cleanup..."
delete_all
echo "Finished cleanup"
exit $r
}
# Kick off script
# ---------------
echo $*
main $*
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
-81
View File
@@ -1,81 +0,0 @@
#!/usr/bin/env bash
# **sec_groups.sh**
# Test security groups via the command line
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc
# Import exercise configuration
source $TOP_DIR/exerciserc
# If nova api is not enabled we exit with exitcode 55 so that
# the exercise is skipped
is_service_enabled n-api || exit 55
# Testing Security Groups
# =======================
# List security groups
nova secgroup-list
# Create random name for new sec group and create secgroup of said name
SEC_GROUP_NAME="ex-secgroup-$(openssl rand -hex 4)"
nova secgroup-create $SEC_GROUP_NAME 'a test security group'
# Add some rules to the secgroup
RULES_TO_ADD=( 22 3389 5900 )
for RULE in "${RULES_TO_ADD[@]}"; do
nova secgroup-add-rule $SEC_GROUP_NAME tcp $RULE $RULE 0.0.0.0/0
done
# Check to make sure rules were added
SEC_GROUP_RULES=( $(nova secgroup-list-rules $SEC_GROUP_NAME | grep -v \- | grep -v 'Source Group' | cut -d '|' -f3 | tr -d ' ') )
die_if_not_set $LINENO SEC_GROUP_RULES "Failure retrieving SEC_GROUP_RULES for $SEC_GROUP_NAME"
for i in "${RULES_TO_ADD[@]}"; do
skip=
for j in "${SEC_GROUP_RULES[@]}"; do
[[ $i == $j ]] && { skip=1; break; }
done
[[ -n $skip ]] || exit 1
done
# Delete rules and secgroup
for RULE in "${RULES_TO_ADD[@]}"; do
nova secgroup-delete-rule $SEC_GROUP_NAME tcp $RULE $RULE 0.0.0.0/0
done
# Delete secgroup
nova secgroup-delete $SEC_GROUP_NAME || \
die $LINENO "Failure deleting security group $SEC_GROUP_NAME"
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
-69
View File
@@ -1,69 +0,0 @@
#!/usr/bin/env bash
# **swift.sh**
# Test swift via the ``python-openstackclient`` command line
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc
# Import exercise configuration
source $TOP_DIR/exerciserc
# If swift is not enabled we exit with exitcode 55 which mean
# exercise is skipped.
is_service_enabled s-proxy || exit 55
# Container name
CONTAINER=ex-swift
OBJECT=/etc/issue
# Testing Swift
# =============
# Check if we have to swift via keystone
openstack object store account show || die $LINENO "Failure getting account status"
# We start by creating a test container
openstack container create $CONTAINER || die $LINENO "Failure creating container $CONTAINER"
# add a file into it.
openstack object create $CONTAINER $OBJECT || die $LINENO "Failure uploading file to container $CONTAINER"
# list the objects
openstack object list $CONTAINER || die $LINENO "Failure listing contents of container $CONTAINER"
# delete the object first
openstack object delete $CONTAINER $OBJECT || die $LINENO "Failure deleting object $OBJECT in container $CONTAINER"
# delete the container
openstack container delete $CONTAINER || die $LINENO "Failure deleting container $CONTAINER"
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
-225
View File
@@ -1,225 +0,0 @@
#!/usr/bin/env bash
# **volumes.sh**
# Test cinder volumes with the ``cinder`` command from ``python-cinderclient``
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import configuration
source $TOP_DIR/openrc
# Import project functions
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# Import exercise configuration
source $TOP_DIR/exerciserc
# If cinder is not enabled we exit with exitcode 55 which mean
# exercise is skipped.
is_service_enabled cinder || exit 55
# Ironic does not currently support volume attachment.
[ "$VIRT_DRIVER" == "ironic" ] && exit 55
# Instance type to create
DEFAULT_INSTANCE_TYPE=${DEFAULT_INSTANCE_TYPE:-m1.tiny}
# Boot this image, use first AMI image if unset
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ami}
# Security group name
SECGROUP=${SECGROUP:-vol_secgroup}
# Instance and volume names
VM_NAME=${VM_NAME:-ex-vol-inst}
VOL_NAME="ex-vol-$(openssl rand -hex 4)"
# Launching a server
# ==================
# List servers for tenant:
nova list
# Images
# ------
# List the images available
openstack image list
# Grab the id of the image to launch
IMAGE=$(openstack image list | egrep " $DEFAULT_IMAGE_NAME " | get_field 1)
die_if_not_set $LINENO IMAGE "Failure getting image $DEFAULT_IMAGE_NAME"
# Security Groups
# ---------------
# List security groups
nova secgroup-list
if is_service_enabled n-cell; then
# Cells does not support security groups, so force the use of "default"
SECGROUP="default"
echo "Using the default security group because of Cells."
else
# Create a secgroup
if ! nova secgroup-list | grep -q $SECGROUP; then
nova secgroup-create $SECGROUP "$SECGROUP description"
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! nova secgroup-list | grep -q $SECGROUP; do sleep 1; done"; then
echo "Security group not created"
exit 1
fi
fi
fi
# Configure Security Group Rules
if ! nova secgroup-list-rules $SECGROUP | grep -q icmp; then
nova secgroup-add-rule $SECGROUP icmp -1 -1 0.0.0.0/0
fi
if ! nova secgroup-list-rules $SECGROUP | grep -q " tcp .* 22 "; then
nova secgroup-add-rule $SECGROUP tcp 22 22 0.0.0.0/0
fi
# List secgroup rules
nova secgroup-list-rules $SECGROUP
# Set up instance
# ---------------
# List flavors
nova flavor-list
# Select a flavor
INSTANCE_TYPE=$(nova flavor-list | grep $DEFAULT_INSTANCE_TYPE | get_field 1)
if [[ -z "$INSTANCE_TYPE" ]]; then
# grab the first flavor in the list to launch if default doesn't exist
INSTANCE_TYPE=$(nova flavor-list | head -n 4 | tail -n 1 | get_field 1)
die_if_not_set $LINENO INSTANCE_TYPE "Failure retrieving INSTANCE_TYPE"
fi
# Clean-up from previous runs
nova delete $VM_NAME || true
if ! timeout $ACTIVE_TIMEOUT sh -c "while nova show $VM_NAME; do sleep 1; done"; then
die $LINENO "server didn't terminate!"
fi
# Boot instance
# -------------
VM_UUID=$(nova boot --flavor $INSTANCE_TYPE --image $IMAGE --security-groups=$SECGROUP $VM_NAME | grep ' id ' | get_field 2)
die_if_not_set $LINENO VM_UUID "Failure launching $VM_NAME"
# Check that the status is active within ACTIVE_TIMEOUT seconds
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova show $VM_UUID | grep status | grep -q ACTIVE; do sleep 1; done"; then
die $LINENO "server didn't become active!"
fi
# Get the instance IP
IP=$(get_instance_ip $VM_UUID $PRIVATE_NETWORK_NAME)
die_if_not_set $LINENO IP "Failure retrieving IP address"
# Private IPs can be pinged in single node deployments
ping_check $IP $BOOT_TIMEOUT "$PRIVATE_NETWORK_NAME"
# Volumes
# -------
# Verify it doesn't exist
if [[ -n $(cinder list | grep $VOL_NAME | head -1 | get_field 2) ]]; then
die $LINENO "Volume $VOL_NAME already exists"
fi
# Create a new volume
start_time=$(date +%s)
cinder create --display-name $VOL_NAME --display-description "test volume: $VOL_NAME" $DEFAULT_VOLUME_SIZE || \
die $LINENO "Failure creating volume $VOL_NAME"
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! cinder list | grep $VOL_NAME | grep available; do sleep 1; done"; then
die $LINENO "Volume $VOL_NAME not created"
fi
end_time=$(date +%s)
echo "Completed cinder create in $((end_time - start_time)) seconds"
# Get volume ID
VOL_ID=$(cinder list | grep $VOL_NAME | head -1 | get_field 1)
die_if_not_set $LINENO VOL_ID "Failure retrieving volume ID for $VOL_NAME"
# Attach to server
DEVICE=/dev/vdb
start_time=$(date +%s)
nova volume-attach $VM_UUID $VOL_ID $DEVICE || \
die $LINENO "Failure attaching volume $VOL_NAME to $VM_NAME"
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! cinder list | grep $VOL_NAME | grep in-use; do sleep 1; done"; then
die $LINENO "Volume $VOL_NAME not attached to $VM_NAME"
fi
end_time=$(date +%s)
echo "Completed volume-attach in $((end_time - start_time)) seconds"
VOL_ATTACH=$(cinder list | grep $VOL_NAME | head -1 | get_field -1)
die_if_not_set $LINENO VOL_ATTACH "Failure retrieving $VOL_NAME status"
if [[ "$VOL_ATTACH" != $VM_UUID ]]; then
die $LINENO "Volume not attached to correct instance"
fi
# Clean up
# --------
# Detach volume
start_time=$(date +%s)
nova volume-detach $VM_UUID $VOL_ID || die $LINENO "Failure detaching volume $VOL_NAME from $VM_NAME"
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! cinder list | grep $VOL_NAME | grep available; do sleep 1; done"; then
die $LINENO "Volume $VOL_NAME not detached from $VM_NAME"
fi
end_time=$(date +%s)
echo "Completed volume-detach in $((end_time - start_time)) seconds"
# Delete volume
start_time=$(date +%s)
cinder delete $VOL_ID || die $LINENO "Failure deleting volume $VOL_NAME"
if ! timeout $ACTIVE_TIMEOUT sh -c "while cinder list | grep $VOL_NAME; do sleep 1; done"; then
die $LINENO "Volume $VOL_NAME not deleted"
fi
end_time=$(date +%s)
echo "Completed cinder delete in $((end_time - start_time)) seconds"
# Delete instance
nova delete $VM_UUID || die $LINENO "Failure deleting instance $VM_NAME"
if ! timeout $TERMINATE_TIMEOUT sh -c "while nova list | grep -q $VM_UUID; do sleep 1; done"; then
die $LINENO "Server $VM_NAME not deleted"
fi
if [[ $SECGROUP = "default" ]] ; then
echo "Skipping deleting default security group"
else
# Delete secgroup
nova secgroup-delete $SECGROUP || die $LINENO "Failure deleting security group $SECGROUP"
fi
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
+2 -1
View File
@@ -6,7 +6,7 @@ if is_service_enabled tempest; then
source $TOP_DIR/lib/tempest
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
echo_summary "Installing Tempest"
install_tempest
async_runfunc install_tempest
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
# Tempest config must come after layer 2 services are running
:
@@ -17,6 +17,7 @@ if is_service_enabled tempest; then
# local.conf Tempest option overrides
:
elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then
async_wait install_tempest
echo_summary "Initializing Tempest"
configure_tempest
echo_summary "Installing Tempest Plugins"
+2 -1
View File
@@ -1,5 +1,5 @@
<VirtualHost *:80>
WSGIScriptAlias %WEBROOT% %HORIZON_DIR%/openstack_dashboard/wsgi/django.wsgi
WSGIScriptAlias %WEBROOT% %HORIZON_DIR%/openstack_dashboard/wsgi.py
WSGIDaemonProcess horizon user=%USER% group=%GROUP% processes=3 threads=10 home=%HORIZON_DIR% display-name=%{GROUP}
WSGIApplicationGroup %{GLOBAL}
@@ -39,4 +39,5 @@
CustomLog /var/log/%APACHE_NAME%/horizon_access.log combined
</VirtualHost>
%WSGIPYTHONHOME%
WSGISocketPrefix /var/run/%APACHE_NAME%
+1 -25
View File
@@ -1,5 +1,4 @@
Listen %PUBLICPORT%
Listen %ADMINPORT%
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" keystone_combined
<Directory %KEYSTONE_BIN%>
@@ -20,24 +19,11 @@ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)"
%SSLKEYFILE%
</VirtualHost>
<VirtualHost *:%ADMINPORT%>
WSGIDaemonProcess keystone-admin processes=3 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup keystone-admin
WSGIScriptAlias / %KEYSTONE_BIN%/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%M"
ErrorLog /var/log/%APACHE_NAME%/keystone.log
CustomLog /var/log/%APACHE_NAME%/keystone_access.log keystone_combined
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
</VirtualHost>
%SSLLISTEN%<VirtualHost *:443>
%SSLLISTEN% %SSLENGINE%
%SSLLISTEN% %SSLCERTFILE%
%SSLLISTEN% %SSLKEYFILE%
%SSLLISTEN% SSLProtocol -all +TLSv1.3 +TLSv1.2
%SSLLISTEN%</VirtualHost>
Alias /identity %KEYSTONE_BIN%/keystone-wsgi-public
@@ -49,13 +35,3 @@ Alias /identity %KEYSTONE_BIN%/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
Alias /identity_admin %KEYSTONE_BIN%/keystone-wsgi-admin
<Location /identity_admin>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup keystone-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
+37
View File
@@ -0,0 +1,37 @@
Listen %PUBLICPORT%
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" neutron_combined
<Directory %NEUTRON_BIN%>
Require all granted
</Directory>
<VirtualHost *:%PUBLICPORT%>
WSGIDaemonProcess neutron-server processes=%APIWORKERS% threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup neutron-server
WSGIScriptAlias / %NEUTRON_BIN%/neutron-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%M"
ErrorLog /var/log/%APACHE_NAME%/neutron.log
CustomLog /var/log/%APACHE_NAME%/neutron_access.log neutron_combined
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
</VirtualHost>
%SSLLISTEN%<VirtualHost *:443>
%SSLLISTEN% %SSLENGINE%
%SSLLISTEN% %SSLCERTFILE%
%SSLLISTEN% %SSLKEYFILE%
%SSLLISTEN% SSLProtocol -all +TLSv1.3 +TLSv1.2
%SSLLISTEN%</VirtualHost>
Alias /networking %NEUTRON_BIN%/neutron-api
<Location /networking>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup neutron-server
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
-1
View File
@@ -1 +0,0 @@
debs/
-2
View File
@@ -1,6 +1,4 @@
lvm2
open-iscsi
open-iscsi-utils # Deprecated since quantal dist:precise
qemu-utils
tgt # NOPRIME
thin-provisioning-tools
+2 -2
View File
@@ -1,2 +1,2 @@
dstat
python-psutil
dstat # dist:bionic
pcp
+5 -5
View File
@@ -1,11 +1,11 @@
apache2
apache2-dev
bc
bridge-utils
bsdmainutils
curl
default-jre-headless # NOPRIME
g++
gawk
gcc
gettext # used for compiling message catalogs
git
@@ -14,7 +14,6 @@ iputils-ping
libapache2-mod-proxy-uwsgi
libffi-dev # for pyOpenSSL
libjpeg-dev # Pillow 3.0.0
libmysqlclient-dev # MySQL-python
libpcre3-dev # for python-pcre
libpq-dev # psycopg2
libssl-dev # for pyOpenSSL
@@ -27,9 +26,10 @@ openssh-server
openssl
pkg-config
psmisc
python2.7
python-dev
python-gdbm # needed for testr
python3-dev
python3-pip
python3-systemd
python3-venv
tar
tcpdump
unzip
+1 -1
View File
@@ -2,5 +2,5 @@ libkrb5-dev
libldap2-dev
libsasl2-dev
memcached
python-mysqldb
python3-mysqldb
sqlite3
+1 -1
View File
@@ -1,3 +1,3 @@
ldap-utils
python-ldap
python3-ldap
slapd
+2 -1
View File
@@ -1,10 +1,11 @@
cryptsetup
dosfstools
genisoimage
gir1.2-libosinfo-1.0
lvm2 # NOPRIME
netcat-openbsd
open-iscsi
python-guestfs # NOPRIME
python3-guestfs # NOPRIME
qemu-utils
sg3-utils
sysfsutils
+2 -3
View File
@@ -1,15 +1,14 @@
acl
dnsmasq-base
dnsmasq-utils # for dhcp_release only available in dist:precise
dnsmasq-utils # for dhcp_release
ebtables
haproxy # to serve as metadata proxy inside router/dhcp namespaces
iptables
iputils-arping
iputils-ping
libmysqlclient-dev
mysql-server #NOPRIME
postgresql-server-dev-all
python-mysqldb
python3-mysqldb
rabbitmq-server # NOPRIME
radvd # NOPRIME
sqlite3
+3 -9
View File
@@ -1,24 +1,18 @@
conntrack
curl
dnsmasq-base
dnsmasq-utils # for dhcp_release
ebtables
gawk
genisoimage # required for config_drive
iptables
iputils-arping
kpartx
libjs-jquery-tablesorter # Needed for coverage html reports
libmysqlclient-dev
libvirt-bin # dist:xenial NOPRIME
libvirt-clients # not:xenial NOPRIME
libvirt-daemon-system # not:xenial NOPRIME
libvirt-clients # NOPRIME
libvirt-daemon-system # NOPRIME
libvirt-dev # NOPRIME
mysql-server # NOPRIME
parted
pm-utils
python-mysqldb
qemu # dist:wheezy,jessie NOPRIME
python3-mysqldb
qemu-kvm # NOPRIME
rabbitmq-server # NOPRIME
socat # used by ajaxterm
+3
View File
@@ -0,0 +1,3 @@
lsscsi
open-iscsi
open-iscsi-utils # Deprecated since quantal dist:precise
+3
View File
@@ -0,0 +1,3 @@
ovn-central
ovn-controller-vtep
ovn-host
+1
View File
@@ -2,5 +2,6 @@ curl
liberasurecode-dev
make
memcached
rsync
sqlite3
xfsprogs
@@ -1,3 +0,0 @@
enable-tftp
tftp-root=/tftpboot
dhcp-boot=pxelinux.0
+1 -1
View File
@@ -1,4 +1,4 @@
dn: olcDatabase={${LDAP_OLCDB_NUMBER}}hdb,cn=config
dn: olcDatabase={${LDAP_OLCDB_NUMBER}}${LDAP_OLCDB_TYPE},cn=config
changetype: modify
replace: olcSuffix
olcSuffix: ${BASE_DN}
+16
View File
@@ -0,0 +1,16 @@
[Unit]
Description=Activate LVM backing file %BACKING_FILE%
DefaultDependencies=no
After=systemd-udev-settle.service
Before=lvm2-activation-early.service
Wants=systemd-udev-settle.service
[Service]
ExecStart=/sbin/losetup --find --show %DIRECTIO% %BACKING_FILE%
ExecStop=/bin/sh -c '/sbin/losetup -d $$(/sbin/losetup --associated %BACKING_FILE% -O NAME -n)'
RemainAfterExit=yes
Type=oneshot
[Install]
WantedBy=local-fs.target
Also=systemd-udev-settle.service
+118
View File
@@ -0,0 +1,118 @@
#!/usr/bin/env python3
# Copyright 2016 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import socket
import sys
import os
import os.path
import json
server_address = "/tmp/openstack.sock"
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
try:
sock.connect(server_address)
except socket.error as msg:
print(msg, file=sys.stderr)
sys.exit(1)
def send(sock, doc):
jdoc = json.dumps(doc)
sock.send(b'%d\n' % len(jdoc))
sock.sendall(jdoc.encode('utf-8'))
def recv(sock):
length_str = b''
char = sock.recv(1)
if len(char) == 0:
print("Unexpected end of file", file=sys.stderr)
sys.exit(1)
while char != b'\n':
length_str += char
char = sock.recv(1)
if len(char) == 0:
print("Unexpected end of file", file=sys.stderr)
sys.exit(1)
total = int(length_str)
# use a memoryview to receive the data chunk by chunk efficiently
jdoc = memoryview(bytearray(total))
next_offset = 0
while total - next_offset > 0:
recv_size = sock.recv_into(jdoc[next_offset:], total - next_offset)
next_offset += recv_size
try:
doc = json.loads(jdoc.tobytes())
except (TypeError, ValueError) as e:
raise Exception('Data received was not in JSON format')
return doc
try:
env = {}
passenv = ["CINDER_VERSION",
"OS_AUTH_URL",
"OS_NO_CACHE",
"OS_PASSWORD",
"OS_PROJECT_NAME",
"OS_REGION_NAME",
"OS_TENANT_NAME",
"OS_USERNAME",
"OS_VOLUME_API_VERSION",
"OS_CLOUD"]
for name in passenv:
if name in os.environ:
env[name] = os.environ[name]
cmd = {
"app": os.path.basename(sys.argv[0]),
"env": env,
"argv": sys.argv[1:]
}
try:
image_idx = sys.argv.index('image')
create_idx = sys.argv.index('create')
missing_file = image_idx < create_idx and \
not any(x.startswith('--file') for x in sys.argv)
except ValueError:
missing_file = False
if missing_file:
# This means we were called with an image create command, but were
# not provided a --file option. That likely means we're being passed
# the image data to stdin, which won't work because we do not proxy
# stdin to the server. So, we just reject the operation and ask the
# caller to provide the file with --file instead.
# We've already connected to the server, we need to send it some dummy
# data so it doesn't wait forever.
send(sock, {})
print('Image create without --file is not allowed in server mode',
file=sys.stderr)
sys.exit(1)
else:
send(sock, cmd)
doc = recv(sock)
if doc["stdout"] != b'':
print(doc["stdout"], end='')
if doc["stderr"] != b'':
print(doc["stderr"], file=sys.stderr)
sys.exit(doc["status"])
finally:
sock.close()
+118
View File
@@ -0,0 +1,118 @@
#!/usr/bin/env python3
# Copyright 2016 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import socket
import sys
import os
import json
from openstackclient import shell as osc_shell
from io import StringIO
server_address = "/tmp/openstack.sock"
try:
os.unlink(server_address)
except OSError:
if os.path.exists(server_address):
raise
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
print('starting up on %s' % server_address, file=sys.stderr)
sock.bind(server_address)
# Listen for incoming connections
sock.listen(1)
def send(sock, doc):
jdoc = json.dumps(doc)
sock.send(b'%d\n' % len(jdoc))
sock.sendall(jdoc.encode('utf-8'))
def recv(sock):
length_str = b''
char = sock.recv(1)
while char != b'\n':
length_str += char
char = sock.recv(1)
total = int(length_str)
# use a memoryview to receive the data chunk by chunk efficiently
jdoc = memoryview(bytearray(total))
next_offset = 0
while total - next_offset > 0:
recv_size = sock.recv_into(jdoc[next_offset:], total - next_offset)
next_offset += recv_size
try:
doc = json.loads(jdoc.tobytes())
except (TypeError, ValueError) as e:
raise Exception('Data received was not in JSON format')
return doc
while True:
csock, client_address = sock.accept()
try:
doc = recv(csock)
print("%s %s" % (doc["app"], doc["argv"]), file=sys.stderr)
oldenv = {}
for name in doc["env"].keys():
oldenv[name] = os.environ.get(name, None)
os.environ[name] = doc["env"][name]
try:
old_stdout = sys.stdout
old_stderr = sys.stderr
my_stdout = sys.stdout = StringIO()
my_stderr = sys.stderr = StringIO()
class Exit(BaseException):
def __init__(self, status):
self.status = status
def noexit(stat):
raise Exit(stat)
sys.exit = noexit
if doc["app"] == "openstack":
sh = osc_shell.OpenStackShell()
ret = sh.run(doc["argv"])
else:
print("Unknown application %s" % doc["app"], file=sys.stderr)
ret = 1
except Exit as e:
ret = e.status
finally:
sys.stdout = old_stdout
sys.stderr = old_stderr
for name in oldenv.keys():
if oldenv[name] is None:
del os.environ[name]
else:
os.environ[name] = oldenv[name]
send(csock, {
"stdout": my_stdout.getvalue(),
"stderr": my_stderr.getvalue(),
"status": ret,
})
except BaseException as e:
print(e, file=sys.stderr)
finally:
csock.close()
-1
View File
@@ -1 +0,0 @@
dnsmasq
-3
View File
@@ -1,3 +0,0 @@
ceph # NOPRIME
lsb
xfsprogs
-4
View File
@@ -1,4 +0,0 @@
lvm2
open-iscsi
qemu-tools
tgt # NOPRIME
-2
View File
@@ -1,2 +0,0 @@
dstat
python-psutil
-35
View File
@@ -1,35 +0,0 @@
apache2
apache2-devel
bc
bridge-utils
ca-certificates-mozilla
curl
gcc
gcc-c++
git-core
graphviz # docs
iputils
libffi-devel # pyOpenSSL
libjpeg8-devel # Pillow 3.0.0
libmysqlclient-devel # MySQL-python
libopenssl-devel # to rebuild pyOpenSSL if needed
libxslt-devel # lxml
lsof # useful when debugging
make
net-tools
openssh
openssl
pcre-devel # python-pcre
postgresql-devel # psycopg2
psmisc
python-cmd2 # dist:opensuse-12.3
python-devel # pyOpenSSL
python-xml
systemd-devel # for systemd-python
tar
tcpdump
unzip
util-linux
wget
which
zlib-devel
-2
View File
@@ -1,2 +0,0 @@
apache2-mod_wsgi # NOPRIME
apache2 # NOPRIME
-4
View File
@@ -1,4 +0,0 @@
cyrus-sasl-devel
memcached
openldap2-devel
sqlite3
-3
View File
@@ -1,3 +0,0 @@
openldap2
openldap2-client
python-ldap
-1
View File
@@ -1 +0,0 @@
python-dateutil
-8
View File
@@ -1,8 +0,0 @@
cryptsetup
genisoimage
libosinfo
lvm2
open-iscsi
sg3_utils
# Stuff for diablo volumes
sysfsutils
-1
View File
@@ -1 +0,0 @@
python-numpy
-1
View File
@@ -1 +0,0 @@
python-numpy
-1
View File
@@ -1 +0,0 @@
ipset
-13
View File
@@ -1,13 +0,0 @@
acl
dnsmasq
dnsmasq-utils # dist:opensuse-12.3,opensuse-13.1
ebtables
haproxy # to serve as metadata proxy inside router/dhcp namespaces
iptables
iputils
mariadb # NOPRIME
rabbitmq-server # NOPRIME
radvd # NOPRIME
sqlite3
sudo
vlan
-2
View File
@@ -1,2 +0,0 @@
conntrack-tools
keepalived
-23
View File
@@ -1,23 +0,0 @@
conntrack-tools
curl
dnsmasq
dnsmasq-utils # dist:opensuse-12.3,opensuse-13.1
ebtables
gawk
genisoimage # required for config_drive
iptables
iputils
kpartx
kvm # NOPRIME
libvirt # NOPRIME
libvirt-python # NOPRIME
mariadb # NOPRIME
parted
polkit
# qemu as fallback if kvm cannot be used
qemu # NOPRIME
rabbitmq-server # NOPRIME
socat
sqlite3
sudo
vlan
-3
View File
@@ -1,3 +0,0 @@
openvswitch
openvswitch-switch
-1
View File
@@ -1 +0,0 @@
neutron-agent
-1
View File
@@ -1 +0,0 @@
neutron-l3
-6
View File
@@ -1,6 +0,0 @@
curl
liberasurecode-devel
memcached
sqlite3
xfsprogs
xinetd
+1 -1
View File
@@ -1,3 +1,3 @@
ceph # NOPRIME
redhat-lsb-core
redhat-lsb-core # not:rhel9,openEuler-22.03
xfsprogs
+1 -3
View File
@@ -1,5 +1,3 @@
iscsi-initiator-utils
lvm2
qemu-img
scsi-target-utils # not:rhel7,f25,f26,f27 NOPRIME
targetcli # dist:rhel7,f25,f26,f27 NOPRIME
targetcli
+1 -2
View File
@@ -1,2 +1 @@
dstat
python-psutil
pcp-system-tools
+10 -9
View File
@@ -1,23 +1,24 @@
bc
bridge-utils
curl
dbus
gawk
gcc
gcc-c++
gettext # used for compiling message catalogs
git-core
glibc-langpack-en # dist:rhel9
graphviz # needed only for docs
httpd
httpd-devel
iptables-services # NOPRIME f25,f26,f27
java-1.7.0-openjdk-headless # NOPRIME rhel7
java-1.8.0-openjdk-headless # NOPRIME f25,f26,f27
iptables-nft # dist:rhel9
iptables-services
java-1.8.0-openjdk-headless
libffi-devel
libjpeg-turbo-devel # Pillow 3.0.0
libxml2-devel # lxml
libxslt-devel # lxml
libyaml-devel
mariadb-devel # MySQL-python
mod_ssl # required for tls-proxy on centos 9 stream computes
net-tools
openssh-server
openssl
@@ -26,10 +27,10 @@ pcre-devel # for python-pcre
pkgconfig
postgresql-devel # psycopg2
psmisc
pyOpenSSL # version in pip uses too much memory
python-devel
redhat-rpm-config # missing dep for gcc hardening flags, see rhbz#1217376
systemd-devel # for systemd-python
python3-devel
python3-pip # not:openEuler-22.03
python3-systemd
redhat-rpm-config # not:openEuler-22.03 missing dep for gcc hardening flags, see rhbz#1217376
tar
tcpdump
unzip
-2
View File
@@ -1,4 +1,2 @@
Django
httpd # NOPRIME
mod_wsgi # NOPRIME
pyxattr
+3 -1
View File
@@ -1,8 +1,10 @@
cryptsetup
genisoimage
dosfstools
genisoimage # not:rhel9
iscsi-initiator-utils
libosinfo
lvm2
sg3_utils
# Stuff for diablo volumes
sysfsutils
xorriso # not:rhel8
-1
View File
@@ -1 +0,0 @@
numpy
-1
View File
@@ -1 +0,0 @@
numpy
-2
View File
@@ -5,8 +5,6 @@ ebtables
haproxy # to serve as metadata proxy inside router/dhcp namespaces
iptables
iputils
mysql-devel
mysql-server # NOPRIME
openvswitch # NOPRIME
rabbitmq-server # NOPRIME
radvd # NOPRIME

Some files were not shown because too many files have changed in this diff Show More