Add a benchmark job for ironic

Adds a new job which can be invoked by Ironic to allow it to easily
benchmark in CI on a minimalist deployment.

Depends-On: https://review.opendev.org/c/openstack/ironic/+/788335
Change-Id: Ib32f4f05133f68f4c79cd0861597bbf81a736a97
This commit is contained in:
Julia Kreger 2021-05-21 15:31:42 -07:00
parent a7855f8a76
commit 1075ee9a28
3 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,27 @@
- hosts: all
tasks:
- shell:
cmd: bash scripts/test-bifrost.sh
chdir: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/bifrost'].src_dir }}"
environment:
BIFROST_TRACE: "true"
BUILD_IMAGE: "{{ build_image | default(false) | bool | lower }}"
CLI_TEST: "{{ cli_test | default(false) | bool | lower }}"
ENABLE_KEYSTONE: "{{ enable_keystone | default(false) | bool | lower }}"
LOG_LOCATION: "{{ ansible_user_dir }}/logs"
UPPER_CONSTRAINTS_FILE: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
WORKSPACE: "{{ ansible_user_dir }}/src/opendev.org"
USE_DHCP: "{{ use_dhcp | default(false) | bool | lower }}"
ZUUL_BRANCH: "{{ zuul.branch }}"
BOOT_MODE: "{{ boot_mode | default('') }}"
TEST_VM_NODE_DRIVER: "{{ test_driver | default('ipmi') }}"
NOAUTH_MODE: "{{ noauth_mode | default(false) | bool | lower }}"
ENABLE_TLS: "{{ enable_tls | default(false) | bool | lower }}"
ENABLE_PROMETHEUS_EXPORTER: "{{ enable_prometheus_exporter | default(false) | bool | lower }}"
USE_VMEDIA: "{{ use_vmedia | default(false) | bool | lower }}"
- shell:
cmd: /opt/stack/bifrost/bin/python3 /opt/stack/ironic/tools/benchmark/do_not_run_create_benchmark_data.py
become: yes
- shell:
cmd: /opt/stack/bifrost/bin/python3 /opt/stack/ironic/tools/benchmark/generate-statistics.py
become: yes

View File

@ -202,3 +202,13 @@
vars:
enable_keystone: true
noauth_mode: false
# NOTE(TheJulia): This job is for use on the ironic repository,
# to provide a minimal platform where we can execute a job where
# basic performance numbers will be referenced/collected.
# Notes are being kept on https://etherpad.opendev.org/p/ironic-performance
- job:
name: bifrost-benchmark-ironic
parent: bifrost-base
timeout: 7200
run: playbooks/ci/benchmark-ironic.yaml

View File

@ -63,3 +63,6 @@
- bifrost-integration-tinyipa-keystone-centos-8
- bifrost-upgrade-ubuntu-focal
- bifrost-upgrade-keystone-centos8
experimental:
jobs:
- bifrost-benchmark-ironic