trove/zuul.d/jobs.yaml
Hirotaka Wakabayashi 114601edba Introduces Alembic database migration tool
This PR introduces Alembic database migration tool. Trove currently
uses sqlalchemy-migrate with which SQLAlchemy-2.0 does not work. By
introducing the new migration tool, we can prepare for migrating
to SQLAlchemy-2.0.

This change will not affect the default trove-manage's usage while
the database schema versioning will be changed because alembic uses
non-linear, dependency-graph versioning while sqlalchemy-migrate
uses integer based versioning.

Depends-On: https://review.opendev.org/c/openstack/trove-tempest-plugin/+/921589

Co-Authored-By: wu.chunyang <wchy1001@gmail.com>

Story: 2010922
Task: 48782
Change-Id: Idd63f470a2b941720314b6356fe28cd8e394427e
2024-06-13 16:20:52 +08:00

500 lines
13 KiB
YAML

- job:
name: trove-tox-bandit-baseline
parent: openstack-tox
timeout: 2400
vars:
tox_envlist: bandit-baseline
required-projects:
- openstack/requirements
irrelevant-files:
- ^.*\.rst$
- ^.*\.txt$
- ^api-ref/.*$
- ^contrib/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^trove/hacking/.*$
- ^trove/tests/scenario/.*$
- ^trove/tests/unittests/.*$
- job:
name: trove-tempest
parent: devstack-tempest
nodeset: trove-ubuntu-jammy
timeout: 10800
required-projects: &base_required_projects
- openstack/trove
- openstack/trove-tempest-plugin
- openstack/tempest
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^\..+
vars: &base_vars
tox_envlist: all
tempest_concurrency: 1
devstack_localrc:
TEMPEST_PLUGINS: /opt/stack/trove-tempest-plugin
SYNC_LOG_TO_CONTROLLER: True
TROVE_DATASTORE_VERSION: 5.7
TROVE_AGENT_CALL_HIGH_TIMEOUT: 1800
SWIFT_LOOPBACK_DISK_SIZE: 15G
TROVE_MGMT_GATEWAY: "192.168.254.1"
devstack_local_conf:
post-config:
$TROVE_CONF:
DEFAULT:
swift_api_insecure: True
usage_timeout: 1800
network:
network_isolation: True
test-config:
$TEMPEST_CONFIG:
auth:
tempest_roles: ResellerAdmin
database:
database_build_timeout: 2400
default_datastore_versions: mysql:5.7
devstack_plugins:
trove: https://opendev.org/openstack/trove.git
devstack_services:
etcd3: false
cinder: true
c-sch: true
c-api: true
c-vol: true
c-bak: false
swift: true
s-account: true
s-container: true
s-object: true
s-proxy: true
tls-proxy: true
tempest: true
tempest_test_regex: ^trove_tempest_plugin\.tests
tempest_test_timeout: 3600
zuul_copy_output:
'/var/log/guest-agent-logs/': 'logs'
- job:
name: trove-tempest-ubuntu-base
parent: trove-tempest
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/strategies/replication/
vars:
devstack_services:
swift: false
s-account: false
s-container: false
s-object: false
s-proxy: false
tempest_test_regex: ^trove_tempest_plugin\.tests\.scenario\.test_instance_basic
- job:
name: trove-tempest-ubuntu-backup
parent: trove-tempest
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^\..+
- ^trove/guestagent/strategies/replication/
vars:
devstack_localrc:
TROVE_ENABLE_LOCAL_REGISTRY: True
tempest_test_regex: ^trove_tempest_plugin\.tests\.scenario\.test_backup
- job:
name: trove-tempest-ubuntu-replication
parent: trove-tempest
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
vars:
devstack_localrc:
TROVE_ENABLE_LOCAL_REGISTRY: True
tempest_test_regex: ^trove_tempest_plugin\.tests\.scenario\.test_replication
- job:
name: trove-tempest-ubuntu-base-mysql5.7
parent: trove-tempest-ubuntu-base
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/strategies/replication/
- ^trove/guestagent/datastore/(postgres|mariadb)/.*$
vars:
devstack_localrc:
TROVE_DATASTORE_VERSION: 5.7
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
default_datastore_versions: mysql:5.7
- job:
name: trove-tempest-ubuntu-backup-mysql5.7
parent: trove-tempest-ubuntu-backup
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^\..+
- ^trove/guestagent/strategies/replication/
- ^trove/guestagent/datastore/(postgres|mariadb)/.*$
vars:
devstack_localrc:
TROVE_DATASTORE_VERSION: 5.7
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
backup_wait_timeout: 1200
default_datastore_versions: mysql:5.7
- job:
name: trove-tempest-ubuntu-replication-mysql5.7
parent: trove-tempest-ubuntu-replication
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/datastore/(postgres|mariadb)/.*$
- ^trove/guestagent/strategies/replication/(postgresql.*|mariadb.*)\.py$
vars:
devstack_localrc:
TROVE_DATASTORE_VERSION: 5.7
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
backup_wait_timeout: 1200
default_datastore_versions: mysql:5.7
- job:
name: trove-tempest-ubuntu-base-mariadb10.4
parent: trove-tempest-ubuntu-base
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/strategies/replication/
- ^trove/guestagent/datastore/(mysql.*|postgres)/.*$
vars:
devstack_localrc:
TROVE_DATASTORE_TYPE: mariadb
TROVE_DATASTORE_VERSION: 10.4
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
enabled_datastores: "mariadb"
default_datastore_versions: mariadb:10.4
- job:
name: trove-tempest-ubuntu-backup-mariadb10.4
parent: trove-tempest-ubuntu-backup
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^\..+
- ^trove/guestagent/strategies/replication/
- ^trove/guestagent/datastore/(mysql.*|postgres)/.*$
vars:
devstack_localrc:
TROVE_DATASTORE_TYPE: mariadb
TROVE_DATASTORE_VERSION: 10.4
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
enabled_datastores: "mariadb"
default_datastore_versions: mariadb:10.4
- job:
name: trove-tempest-ubuntu-replication-mariadb10.4
parent: trove-tempest-ubuntu-replication
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/datastore/(mysql.*|postgres)/.*$
- ^trove/guestagent/strategies/replication/(postgresql.*|mysql.*)\.py$
vars:
devstack_localrc:
TROVE_DATASTORE_TYPE: mariadb
TROVE_DATASTORE_VERSION: 10.4
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
enabled_datastores: "mariadb"
default_datastore_versions: mariadb:10.4
- job:
name: trove-tempest-ubuntu-base-postgresql12
parent: trove-tempest-ubuntu-base
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/strategies/replication/
- ^trove/guestagent/datastore/(mysql.*|mariadb)/.*$
vars:
devstack_localrc:
TROVE_DATASTORE_TYPE: postgresql
TROVE_DATASTORE_VERSION: 12
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
enabled_datastores: "postgresql"
default_datastore_versions: postgresql:12
- job:
name: trove-tempest-ubuntu-backup-postgresql12
parent: trove-tempest-ubuntu-backup
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^\..+
- ^trove/guestagent/strategies/replication/
- ^trove/guestagent/datastore/(mysql.*|mariadb)/.*$
vars:
devstack_localrc:
TROVE_DATASTORE_TYPE: postgresql
TROVE_DATASTORE_VERSION: 12
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
enabled_datastores: "postgresql"
default_datastore_versions: postgresql:12
- job:
name: trove-tempest-ubuntu-replication-postgresql12
parent: trove-tempest-ubuntu-replication
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^test-requirements.txt$
- ^tox.ini$
- ^LICENSE$
- ^contrib/
- ^zuul\.d/
- ^backup/
- ^\..+
- ^trove/guestagent/datastore/(mysql.*|mariadb)/.*$
- ^trove/guestagent/strategies/replication/(mariadb.*|mysql.*)\.py$
vars:
devstack_localrc:
TROVE_DATASTORE_TYPE: postgresql
TROVE_DATASTORE_VERSION: 12
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
database:
enabled_datastores: "postgresql"
default_datastore_versions: postgresql:12
- job:
name: publish-trove-guest-image
parent: publish-openstack-artifacts
run: playbooks/image-build/run.yaml
post-run: playbooks/image-build/post.yaml
required-projects:
- openstack/diskimage-builder
- openstack/trove
- job:
name: trove-ubuntu-guest-image-build
run: playbooks/image-build/run.yaml
nodeset: trove-ubuntu-jammy-single
timeout: 3600
description: |
Build Ubuntu jammy based image only on ubuntu distro.
required-projects:
- openstack/diskimage-builder
- openstack/trove
files:
- ^integration/(scripts|tests)/
vars:
guest_os: ubuntu
guest_os_release: jammy
guest_username: ubuntu
branch: master
dev_mode: false
image_suffix: ""
- job:
name: trove-centos8s-guest-image-build
run: playbooks/image-build/run.yaml
nodeset: trove-centos8s-single
timeout: 3600
description: |
Build Ubuntu jammy based image only on centos8 stream.
required-projects:
- openstack/diskimage-builder
- openstack/trove
files:
- ^integration/(scripts|tests)/
vars:
guest_os: ubuntu
guest_os_release: jammy
guest_username: ubuntu
branch: master
dev_mode: false
image_suffix: ""
- job:
name: publish-trove-guest-image-ubuntu-jammy
parent: publish-trove-guest-image
description: |
Build and publish Ubuntu jammy based Trove guest image to
tarballs.openstack.org.
vars:
guest_os: ubuntu
guest_os_release: jammy
guest_username: ubuntu
branch: master
dev_mode: false
image_suffix: ""
- job:
name: publish-trove-guest-image-ubuntu-jammy-dev
parent: publish-trove-guest-image
description: |
Build and publish Ubuntu jammy based Trove guest image to
tarballs.openstack.org.
vars:
guest_os: ubuntu
guest_os_release: jammy
guest_username: ubuntu
branch: master
dev_mode: true
image_suffix: "-dev"
- job:
name: publish-trove-datastore-images
description: |
Build and publish trove datastore docker images to
tarballs.openstack.org.
run: playbooks/image-build/docker-registry.yaml
parent: publish-openstack-artifacts
post-run: playbooks/image-build/post.yaml
nodeset: trove-ubuntu-jammy-single
required-projects:
- openstack/trove