neutron/zuul.d/base.yaml
Slawek Kaplonski f63dc09206 Limit usage of resources in the fullstack tests job
To limit usage of resources (mostly memory) in the fullstack job and
to avoid oom killer to kill e.g. mysqld service, this patch:

* Makes number of API workers changeable by tests, as a parameter to
  EnvironmentDescription and defaults its value to 1. As neutron server
  is spawned separately for each test and is used only to process just
  few API requests during that single test so this should be still
  enough there, and where more API workers are needed (like some dhcp HA
  tests: TestDhcpAgentHARaceCondition) it can be changed,
* reduces number of test run workers from 4 to 3 - job will run slower
  but hopefully more stable,
* in the functional and fullstack tests job definition disable etcd3
  service - this will not save us a lot of memory but still it's not
  needed at all so why to run it there.

Change-Id: If19803ab6db144e2d17d6805d379c1c76d8fa343
Closes-Bug: #1906366
2020-12-10 10:10:01 +00:00

76 lines
2.9 KiB
YAML

- job:
name: neutron-functional
parent: devstack-minimal
description: Run neutron functional tests
timeout: 7800
required-projects:
- opendev.org/openstack/devstack
- openstack/neutron
- openstack/requirements
roles:
- zuul: openstack/devstack
pre-run: playbooks/configure_functional_job.yaml
run: playbooks/run_functional_job.yaml
post-run: playbooks/post_functional_job.yaml
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^releasenotes/.*$
vars:
OVN_BRANCH: v20.06.1
# TODO(jlibosva): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created
OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false
etcd3: false
devstack_localrc:
INSTALL_TESTONLY_PACKAGES: true
DATABASE_PASSWORD: stackdb
tox_envlist: dsvm-functional
tox_install_siblings: false
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
zuul_copy_output:
# We need to copy directory with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-functional-logs': logs
- job:
name: neutron-fullstack
parent: neutron-functional
vars:
tox_envlist: dsvm-fullstack-gate
zuul_copy_output:
# We need to copy directory with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-fullstack-logs': logs
- job:
name: neutron-fullstack-with-uwsgi
parent: neutron-fullstack
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
# Because this job uses neutron defined tox env (defined in base job),
# we need to set zuul_work_dir to neutron so that it can be used by
# other projects. Currently devstack run this job. Not setting this
# in base neutron-functional job as that is being used by neutron
# stadium projects where they need to use stadium project as working dir.
zuul_work_dir: src/opendev.org/openstack/neutron
- job:
name: neutron-functional-with-uwsgi
parent: neutron-functional
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
# Because this job uses neutron defined tox env (defined in base job),
# we need to set zuul_work_dir to neutron so that it can be used by
# other projects. Currently devstack run this job. Not setting this
# in base neutron-functional job as that is being used by neutron
# stadium projects where they need to use stadium project as working dir.
zuul_work_dir: src/opendev.org/openstack/neutron