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