functional-baremetal #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: functional-baremetal | |
on: | |
pull_request: | |
paths: | |
- '**baremetal**' | |
schedule: | |
- cron: '0 0 */3 * *' | |
jobs: | |
functional-baremetal: | |
strategy: | |
fail-fast: false | |
matrix: | |
name: ["master"] | |
openstack_version: ["master"] | |
ubuntu_version: ["22.04"] | |
include: | |
- name: "bobcat" | |
openstack_version: "stable/2023.2" | |
ubuntu_version: "22.04" | |
- name: "antelope" | |
openstack_version: "stable/2023.1" | |
ubuntu_version: "22.04" | |
- name: "zed" | |
openstack_version: "stable/zed" | |
ubuntu_version: "20.04" | |
- name: "yoga" | |
openstack_version: "stable/yoga" | |
ubuntu_version: "20.04" | |
- name: "xena" | |
openstack_version: "stable/xena" | |
ubuntu_version: "20.04" | |
- name: "wallaby" | |
openstack_version: "stable/wallaby" | |
ubuntu_version: "20.04" | |
- name: "victoria" | |
openstack_version: "stable/victoria" | |
ubuntu_version: "20.04" | |
runs-on: ubuntu-${{ matrix.ubuntu_version }} | |
name: Deploy OpenStack ${{ matrix.name }} with Ironic and run baremetal acceptance tests | |
steps: | |
- name: Checkout Gophercloud | |
uses: actions/checkout@v4 | |
- name: Workaround for grub-efi-amd64-signed | |
run: sudo rm /var/cache/debconf/config.dat | |
shell: bash | |
if: matrix.ubuntu_version == '20.04' | |
- name: Ensure update and upgrade | |
run: sudo apt update && sudo apt -y upgrade | |
shell: bash | |
if: matrix.ubuntu_version == '20.04' | |
- name: Deploy devstack | |
uses: EmilienM/[email protected] | |
with: | |
branch: ${{ matrix.openstack_version }} | |
conf_overrides: | | |
# pyghmi is not mirrored on github | |
PYGHMI_REPO=https://opendev.org/x/pyghmi | |
enable_plugin ironic https://github.com/openstack/ironic ${{ matrix.openstack_version }} | |
LIBS_FROM_GIT=pyghmi,virtualbmc | |
FORCE_CONFIG_DRIVE=True | |
Q_AGENT=openvswitch | |
Q_ML2_TENANT_NETWORK_TYPE=vxlan | |
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch | |
DEFAULT_INSTANCE_TYPE=baremetal | |
OVERRIDE_PUBLIC_BRIDGE_MTU=1400 | |
VIRT_DRIVER=ironic | |
BUILD_TIMEOUT=1800 | |
SERVICE_TIMEOUT=90 | |
GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000 | |
Q_USE_SECGROUP=False | |
API_WORKERS=1 | |
IRONIC_BAREMETAL_BASIC_OPS=True | |
IRONIC_BUILD_DEPLOY_RAMDISK=False | |
IRONIC_AUTOMATED_CLEAN_ENABLED=False | |
IRONIC_CALLBACK_TIMEOUT=600 | |
IRONIC_DEPLOY_DRIVER=ipmi | |
IRONIC_INSPECTOR_BUILD_RAMDISK=False | |
IRONIC_RAMDISK_TYPE=tinyipa | |
IRONIC_TEMPEST_BUILD_TIMEOUT=720 | |
IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False | |
IRONIC_VM_COUNT=1 | |
IRONIC_VM_EPHEMERAL_DISK=1 | |
IRONIC_VM_LOG_DIR=/opt/stack/new/ironic-bm-logs | |
IRONIC_VM_SPECS_RAM=1024 | |
IRONIC_DEFAULT_DEPLOY_INTERFACE=direct | |
IRONIC_ENABLED_DEPLOY_INTERFACES=direct | |
SWIFT_ENABLE_TEMPURLS=True | |
SWIFT_TEMPURL_KEY=secretkey | |
enabled_services: 'ir-api,ir-cond,s-account,s-container,s-object,s-proxy,q-svc,q-agt,q-dhcp,q-l3,q-meta,-cinder,-c-sch,-c-api,-c-vol,-c-bak,-ovn,-ovn-controller,-ovn-northd,-q-ovn-metadata-agent' | |
- name: Checkout go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '^1.20' | |
- name: Run Gophercloud acceptance tests | |
run: ./script/acceptancetest | |
env: | |
DEVSTACK_PATH: ${{ github.workspace }}/devstack | |
ACCEPTANCE_TESTS_FILTER: '^.*baremetal(.(?!noauth).*)?$' | |
OS_BRANCH: ${{ matrix.openstack_version }} | |
- name: Generate logs on failure | |
run: ./script/collectlogs | |
if: failure() | |
- name: Upload logs artifacts on failure | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: functional-baremetal-${{ matrix.name }} | |
path: /tmp/devstack-logs/* |