
This review adds a base job to test Watcher, via devstack/tempest installation) and the intreraction with the newly added Prometheus data source. Related change: https://review.opendev.org/c/openstack/watcher/+/934423 Change-Id: Id9d7d2ded1aae160a97a5f0aa0f7048a9c38e87d
328 lines
10 KiB
YAML
328 lines
10 KiB
YAML
- project:
|
|
queue: watcher
|
|
templates:
|
|
- check-requirements
|
|
- openstack-cover-jobs
|
|
- openstack-python3-jobs
|
|
- publish-openstack-docs-pti
|
|
- release-notes-jobs-python3
|
|
check:
|
|
jobs:
|
|
- watcher-tempest-functional
|
|
- watcher-tempest-functional-jammy
|
|
- watcher-grenade
|
|
- watcher-tempest-strategies
|
|
- watcher-tempest-actuator
|
|
- watcherclient-tempest-functional
|
|
- watcher-tempest-functional-ipv6-only
|
|
- watcher-prometheus-integration
|
|
gate:
|
|
jobs:
|
|
- watcher-tempest-functional
|
|
- watcher-tempest-functional-jammy
|
|
- watcher-tempest-functional-ipv6-only
|
|
|
|
- job:
|
|
name: watcher-tempest-dummy_optim
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_dummy_optim
|
|
|
|
- job:
|
|
name: watcher-tempest-actuator
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_actuator
|
|
|
|
- job:
|
|
name: watcher-tempest-basic_optim
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_basic_optim
|
|
|
|
- job:
|
|
name: watcher-tempest-vm_workload_consolidation
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_vm_workload_consolidation
|
|
devstack_local_conf:
|
|
test-config:
|
|
$WATCHER_CONFIG:
|
|
watcher_strategies.vm_workload_consolidation:
|
|
datasource: ceilometer
|
|
|
|
- job:
|
|
name: watcher-tempest-workload_balancing
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_workload_balancing
|
|
|
|
- job:
|
|
name: watcher-tempest-zone_migration
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_zone_migration
|
|
|
|
- job:
|
|
name: watcher-tempest-host_maintenance
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_host_maintenance
|
|
|
|
- job:
|
|
name: watcher-tempest-storage_balance
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_storage_balance
|
|
devstack_local_conf:
|
|
test-config:
|
|
$TEMPEST_CONFIG:
|
|
volume:
|
|
backend_names: ['BACKEND_1', 'BACKEND_2']
|
|
volume-feature-enabled:
|
|
multi_backend: true
|
|
|
|
- job:
|
|
name: watcher-tempest-strategies
|
|
parent: watcher-tempest-multinode
|
|
vars:
|
|
tempest_concurrency: 1
|
|
tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_strategies
|
|
|
|
- job:
|
|
name: watcher-tempest-multinode
|
|
parent: watcher-tempest-functional
|
|
nodeset: openstack-two-node-noble
|
|
roles:
|
|
- zuul: openstack/tempest
|
|
group-vars:
|
|
subnode:
|
|
devstack_local_conf:
|
|
post-config:
|
|
$WATCHER_CONF:
|
|
watcher_cluster_data_model_collectors.compute:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.baremetal:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.storage:
|
|
period: 120
|
|
devstack_services:
|
|
watcher-api: false
|
|
watcher-decision-engine: true
|
|
watcher-applier: false
|
|
c-bak: false
|
|
ceilometer: false
|
|
ceilometer-acompute: false
|
|
ceilometer-acentral: false
|
|
ceilometer-anotification: false
|
|
watcher: false
|
|
gnocchi-api: false
|
|
gnocchi-metricd: false
|
|
rabbit: false
|
|
mysql: false
|
|
vars:
|
|
devstack_local_conf:
|
|
post-config:
|
|
$WATCHER_CONF:
|
|
watcher_cluster_data_model_collectors.compute:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.baremetal:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.storage:
|
|
period: 120
|
|
test-config:
|
|
$TEMPEST_CONFIG:
|
|
compute:
|
|
min_compute_nodes: 2
|
|
min_microversion: 2.56
|
|
compute-feature-enabled:
|
|
live_migration: true
|
|
block_migration_for_live_migration: true
|
|
placement:
|
|
min_microversion: 1.29
|
|
devstack_plugins:
|
|
ceilometer: https://opendev.org/openstack/ceilometer
|
|
|
|
- job:
|
|
name: watcher-tempest-functional
|
|
parent: devstack-tempest
|
|
timeout: 7200
|
|
required-projects: &base_required_projects
|
|
- openstack/ceilometer
|
|
- openstack/python-openstackclient
|
|
- openstack/python-watcherclient
|
|
- openstack/watcher
|
|
- openstack/watcher-tempest-plugin
|
|
- openstack/tempest
|
|
vars: &base_vars
|
|
devstack_plugins:
|
|
watcher: https://opendev.org/openstack/watcher
|
|
devstack_services:
|
|
watcher-api: true
|
|
watcher-decision-engine: true
|
|
watcher-applier: true
|
|
tempest: true
|
|
s-account: false
|
|
s-container: false
|
|
s-object: false
|
|
s-proxy: false
|
|
tempest_plugins:
|
|
- watcher-tempest-plugin
|
|
tempest_test_regex: watcher_tempest_plugin.tests.api
|
|
tox_envlist: all
|
|
zuul_copy_output:
|
|
/etc/hosts: logs
|
|
|
|
# TODO(gmann): As per the 2025.1 testing runtime, we need to run at least
|
|
# one job on jammy. This job can be removed in the next cycle(2025.2)
|
|
- job:
|
|
name: watcher-tempest-functional-jammy
|
|
description: This is integrated job testing on Ubuntu jammy(22.04)
|
|
parent: watcher-tempest-functional
|
|
nodeset: openstack-single-node-jammy
|
|
vars:
|
|
<<: *base_vars
|
|
python_version: '3.9'
|
|
|
|
- job:
|
|
name: watcher-tempest-functional-ipv6-only
|
|
parent: devstack-tempest-ipv6
|
|
description: |
|
|
Watcher devstack tempest tests job for IPv6-only deployment
|
|
required-projects: *base_required_projects
|
|
vars: *base_vars
|
|
|
|
- job:
|
|
name: watcher-grenade
|
|
parent: grenade
|
|
required-projects:
|
|
- openstack/watcher
|
|
- openstack/python-watcherclient
|
|
- openstack/watcher-tempest-plugin
|
|
vars: *base_vars
|
|
irrelevant-files: &irrelevent_files
|
|
- ^(test-|)requirements.txt$
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^watcher/hacking/.*$
|
|
- ^watcher/tests/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
|
|
- job:
|
|
# This job is used in python-watcherclient repo
|
|
name: watcherclient-tempest-functional
|
|
parent: watcher-tempest-functional
|
|
timeout: 4200
|
|
vars:
|
|
tempest_concurrency: 1
|
|
tempest_test_regex: watcher_tempest_plugin.tests.client_functional
|
|
|
|
- job:
|
|
name: watcher-sg-core-tempest-base
|
|
parent: devstack-tempest
|
|
nodeset: openstack-two-node-noble
|
|
description: |
|
|
This job is for testing watcher and sg-core/prometheus installation
|
|
abstract: true
|
|
irrelevant-files: *irrelevent_files
|
|
timeout: 7800
|
|
required-projects: &base_sg_required_projects
|
|
- openstack/aodh
|
|
- openstack/ceilometer
|
|
- openstack/tempest
|
|
- openstack-k8s-operators/sg-core
|
|
- openstack/watcher
|
|
- openstack/python-watcherclient
|
|
- openstack/watcher-tempest-plugin
|
|
vars:
|
|
configure_swap_size: 8192
|
|
devstack_plugins:
|
|
ceilometer: https://opendev.org/openstack/ceilometer
|
|
aodh: https://opendev.org/openstack/aodh
|
|
sg-core: https://github.com/openstack-k8s-operators/sg-core
|
|
watcher: https://opendev.org/openstack/watcher
|
|
devstack_services:
|
|
watcher-api: true
|
|
watcher-decision-engine: true
|
|
watcher-applier: true
|
|
tempest: true
|
|
# We do not need Swift in this job so disable it for speed
|
|
# Swift services
|
|
s-account: false
|
|
s-container: false
|
|
s-object: false
|
|
s-proxy: false
|
|
devstack_localrc:
|
|
CEILOMETER_BACKENDS: "sg-core"
|
|
CEILOMETER_PIPELINE_INTERVAL: 15
|
|
CEILOMETER_ALARM_THRESHOLD: 6000000000
|
|
NODE_EXPORTER_ENABLE: true
|
|
PROMETHEUS_SERVICE_SCRAPE_TARGETS: "sg-core,node-exporter"
|
|
devstack_local_conf:
|
|
post-config:
|
|
$WATCHER_CONF:
|
|
watcher_cluster_data_model_collectors.compute:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.baremetal:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.storage:
|
|
period: 120
|
|
test-config:
|
|
$TEMPEST_CONFIG:
|
|
compute:
|
|
min_compute_nodes: 2
|
|
min_microversion: 2.56
|
|
compute-feature-enabled:
|
|
live_migration: true
|
|
block_migration_for_live_migration: true
|
|
placement:
|
|
min_microversion: 1.29
|
|
service_available:
|
|
sg_core: True
|
|
telemetry_services:
|
|
metric_backends: prometheus
|
|
telemetry:
|
|
disable_ssl_certificate_validation: True
|
|
ceilometer_polling_interval: 15
|
|
tempest_plugins:
|
|
- watcher-tempest-plugin
|
|
# TODO (rlandy): enable all scenario tests
|
|
# when tests can be run with prometheus data source.
|
|
# https://bugs.launchpad.net/watcher-tempest-plugin/+bug/2090853
|
|
tempest_test_regex: "\
|
|
(^watcher_tempest_plugin.tests.api)|\
|
|
(^watcher_tempest_plugin.tests.client_functional)|\
|
|
(^watcher_tempest_plugin.tests.scenario.test_execute_dummy_optim)"
|
|
tempest_concurrency: 1
|
|
tox_envlist: all
|
|
group-vars:
|
|
subnode:
|
|
devstack_plugins:
|
|
ceilometer: https://opendev.org/openstack/ceilometer
|
|
sg-core: https://github.com/openstack-k8s-operators/sg-core
|
|
devstack_services:
|
|
ceilometer-acompute: true
|
|
sg-core: false
|
|
devstack_localrc:
|
|
CEILOMETER_BACKEND: "none"
|
|
CEILOMETER_BACKENDS: "none"
|
|
NODE_EXPORTER_ENABLE: true
|
|
PROMETHEUS_ENABLE: false
|
|
devstack_local_conf:
|
|
post-config:
|
|
$WATCHER_CONF:
|
|
watcher_cluster_data_model_collectors.compute:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.baremetal:
|
|
period: 120
|
|
watcher_cluster_data_model_collectors.storage:
|
|
period: 120
|
|
|
|
- job:
|
|
name: watcher-prometheus-integration
|
|
parent: watcher-sg-core-tempest-base
|