From 1075ee9a28e50953dba98ecfed1b4d6d5e2fe752 Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Fri, 21 May 2021 15:31:42 -0700 Subject: [PATCH] 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 --- playbooks/ci/benchmark-ironic.yaml | 27 +++++++++++++++++++++++++++ zuul.d/bifrost-jobs.yaml | 10 ++++++++++ zuul.d/project.yaml | 3 +++ 3 files changed, 40 insertions(+) create mode 100644 playbooks/ci/benchmark-ironic.yaml diff --git a/playbooks/ci/benchmark-ironic.yaml b/playbooks/ci/benchmark-ironic.yaml new file mode 100644 index 000000000..315ea2e3b --- /dev/null +++ b/playbooks/ci/benchmark-ironic.yaml @@ -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 diff --git a/zuul.d/bifrost-jobs.yaml b/zuul.d/bifrost-jobs.yaml index 589bee324..a9db4fd0e 100644 --- a/zuul.d/bifrost-jobs.yaml +++ b/zuul.d/bifrost-jobs.yaml @@ -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 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 35acee211..6f15bd601 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -63,3 +63,6 @@ - bifrost-integration-tinyipa-keystone-centos-8 - bifrost-upgrade-ubuntu-focal - bifrost-upgrade-keystone-centos8 + experimental: + jobs: + - bifrost-benchmark-ironic