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/*