github.com/gophercloud/gophercloud@v1.11.0/.github/workflows/functional-baremetal.yaml (about) 1 name: functional-baremetal 2 on: 3 pull_request: 4 paths: 5 - '**baremetal**' 6 jobs: 7 functional-baremetal: 8 strategy: 9 fail-fast: false 10 matrix: 11 name: ["master"] 12 openstack_version: ["master"] 13 ubuntu_version: ["22.04"] 14 include: 15 - name: "bobcat" 16 openstack_version: "stable/2023.2" 17 ubuntu_version: "22.04" 18 - name: "antelope" 19 openstack_version: "stable/2023.1" 20 ubuntu_version: "22.04" 21 - name: "zed" 22 openstack_version: "stable/zed" 23 ubuntu_version: "20.04" 24 - name: "yoga" 25 openstack_version: "stable/yoga" 26 ubuntu_version: "20.04" 27 - name: "xena" 28 openstack_version: "stable/xena" 29 ubuntu_version: "20.04" 30 - name: "wallaby" 31 openstack_version: "stable/wallaby" 32 ubuntu_version: "20.04" 33 - name: "victoria" 34 openstack_version: "stable/victoria" 35 ubuntu_version: "20.04" 36 runs-on: ubuntu-${{ matrix.ubuntu_version }} 37 name: Deploy OpenStack ${{ matrix.name }} with Ironic and run baremetal acceptance tests 38 steps: 39 - name: Checkout Gophercloud 40 uses: actions/checkout@v3 41 - name: Deploy devstack 42 uses: EmilienM/devstack-action@c41f86d8df58b53c55f070207b6dfce656788cfd 43 with: 44 branch: ${{ matrix.openstack_version }} 45 conf_overrides: | 46 # pyghmi is not mirrored on github 47 PYGHMI_REPO=https://opendev.org/x/pyghmi 48 enable_plugin ironic https://github.com/openstack/ironic ${{ matrix.openstack_version }} 49 LIBS_FROM_GIT=pyghmi,virtualbmc 50 FORCE_CONFIG_DRIVE=True 51 Q_AGENT=openvswitch 52 Q_ML2_TENANT_NETWORK_TYPE=vxlan 53 Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch 54 DEFAULT_INSTANCE_TYPE=baremetal 55 OVERRIDE_PUBLIC_BRIDGE_MTU=1400 56 VIRT_DRIVER=ironic 57 BUILD_TIMEOUT=1800 58 SERVICE_TIMEOUT=90 59 GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000 60 Q_USE_SECGROUP=False 61 API_WORKERS=1 62 IRONIC_BAREMETAL_BASIC_OPS=True 63 IRONIC_BUILD_DEPLOY_RAMDISK=False 64 IRONIC_AUTOMATED_CLEAN_ENABLED=False 65 IRONIC_CALLBACK_TIMEOUT=600 66 IRONIC_DEPLOY_DRIVER=ipmi 67 IRONIC_INSPECTOR_BUILD_RAMDISK=False 68 IRONIC_RAMDISK_TYPE=tinyipa 69 IRONIC_TEMPEST_BUILD_TIMEOUT=720 70 IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False 71 IRONIC_VM_COUNT=1 72 IRONIC_VM_EPHEMERAL_DISK=1 73 IRONIC_VM_LOG_DIR=/opt/stack/new/ironic-bm-logs 74 IRONIC_VM_SPECS_RAM=1024 75 IRONIC_DEFAULT_DEPLOY_INTERFACE=direct 76 IRONIC_ENABLED_DEPLOY_INTERFACES=direct 77 SWIFT_ENABLE_TEMPURLS=True 78 SWIFT_TEMPURL_KEY=secretkey 79 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' 80 - name: Checkout go 81 uses: actions/setup-go@v4 82 with: 83 go-version: '^1.15' 84 - name: Run Gophercloud acceptance tests 85 run: ./script/acceptancetest 86 env: 87 DEVSTACK_PATH: ${{ github.workspace }}/devstack 88 ACCEPTANCE_TESTS_FILTER: '^.*baremetal(.(?!noauth).*)?$' 89 OS_BRANCH: ${{ matrix.openstack_version }} 90 - name: Generate logs on failure 91 run: ./script/collectlogs 92 if: failure() 93 - name: Upload logs artifacts on failure 94 if: failure() 95 uses: actions/upload-artifact@v4 96 with: 97 name: functional-baremetal-${{ matrix.name }} 98 path: /tmp/devstack-logs/*