- 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-strategies parent: watcher-tempest-multinode vars: tempest_concurrency: 1 tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_strategies tempest_exclude_regex: .*\[.*\breal_load\b.*\].* - 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 - 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: 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 pre-run: - playbooks/generate_prometheus_config.yml 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 - openstack/devstack-plugin-prometheus 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-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus 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 # Prometheus related service prometheus: true node_exporter: true devstack_localrc: CEILOMETER_BACKENDS: "sg-core" CEILOMETER_PIPELINE_INTERVAL: 15 CEILOMETER_ALARM_THRESHOLD: 6000000000 # avoid collecting real host cpu metrics since tests # will inject fake metrics when needed NODE_EXPORTER_COLLECTOR_EXCLUDE: "cpu" PROMETHEUS_CONFIG_FILE: "/home/zuul/prometheus.yml" # Disable sg_core prometheus config copy PROMETHEUS_ENABLE: false # PROMETHEUS_CONFIG_FILE var conflicts with sg_core var # to avoid issue, set PROMETHEUS_CONF_DIR PROMETHEUS_CONF_DIR: "/home/zuul" devstack_local_conf: post-config: $WATCHER_CONF: watcher_datasources: datasources: prometheus prometheus_client: host: 127.0.0.1 port: 9090 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 optimize: datasource: prometheus tempest_plugins: - watcher-tempest-plugin tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_strategies tempest_exclude_regex: .*\[.*\breal_load\b.*\].* tempest_concurrency: 1 tox_envlist: all zuul_copy_output: /etc/prometheus/prometheus.yml: logs group-vars: subnode: devstack_plugins: ceilometer: https://opendev.org/openstack/ceilometer devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus devstack_services: ceilometer-acompute: true sg-core: false prometheus: false node_exporter: true devstack_localrc: CEILOMETER_BACKEND: "none" CEILOMETER_BACKENDS: "none" # avoid collecting real host cpu metric since tests # will inject fake metrics when needed NODE_EXPORTER_COLLECTOR_EXCLUDE: "cpu" 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 - job: name: watcher-prometheus-integration-realdata parent: watcher-sg-core-tempest-base vars: devstack_localrc: NODE_EXPORTER_COLLECTOR_EXCLUDE: "" devstack_local_conf: test-config: $TEMPEST_CONFIG: optimize: datasource: "" tempest_test_regex: .*\[.*\breal_load\b.*\].* tempest_exclude_regex: "" group-vars: subnode: devstack_localrc: NODE_EXPORTER_COLLECTOR_EXCLUDE: "" - 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-grenade - watcher-tempest-strategies - watcher-tempest-actuator - python-watcherclient-functional: files: - ^watcher/api/* - watcher-tempest-functional-ipv6-only - watcher-prometheus-integration gate: jobs: - watcher-tempest-functional - watcher-tempest-functional-ipv6-only experimental: jobs: - watcher-prometheus-integration-realdata periodic-weekly: jobs: - watcher-prometheus-integration-realdata