Check centos-8-stream

CentOS Stream 8 (aka CentOS 8 Stream) is the currently
supported runtime platform. [0]

Some background history:
The Manila team has asked QA to test centos-8-stream
in the common gate.
A bit later it turned out the point releases of CentOS 8 (aka
CentOS Linux 8) will stop happening entirely by the end of 2021.
[1]

Includes a workaround to the edk2-ovmf issue on CentOS Stream 8
x86_64.

[0] https://governance.openstack.org/tc/reference/runtimes/xena.html
[1] https://lists.centos.org/pipermail/centos-devel/2020-December/075451.html

Change-Id: Iee5a262af757f27f79ba1d6f790e949427dca190
diff --git a/.zuul.yaml b/.zuul.yaml
index 5bc6a8b..e45ff8f 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -59,6 +59,16 @@
           - controller
 
 - nodeset:
+    name: devstack-single-node-centos-8-stream
+    nodes:
+      - name: controller
+        label: centos-8-stream
+    groups:
+      - name: tempest
+        nodes:
+          - controller
+
+- nodeset:
     name: devstack-single-node-opensuse-15
     nodes:
       - name: controller
@@ -592,6 +602,14 @@
     timeout: 9000
 
 - job:
+    name: devstack-platform-centos-8-stream
+    parent: tempest-full-py3
+    description: CentOS 8 Stream platform test
+    nodeset: devstack-single-node-centos-8-stream
+    voting: false
+    timeout: 9000
+
+- job:
     name: devstack-async
     parent: tempest-full-py3
     description: Async mode enabled
@@ -704,6 +722,7 @@
         - devstack-ipv6
         - devstack-platform-fedora-latest
         - devstack-platform-centos-8
+        - devstack-platform-centos-8-stream
         - devstack-async
         - devstack-multinode
         - devstack-unit-tests
diff --git a/lib/nova_plugins/functions-libvirt b/lib/nova_plugins/functions-libvirt
index d3827c3..58adde7 100644
--- a/lib/nova_plugins/functions-libvirt
+++ b/lib/nova_plugins/functions-libvirt
@@ -81,7 +81,17 @@
         install_package qemu-kvm
 
         install_package libvirt libvirt-devel
-        if is_arch "aarch64"; then
+        if is_arch "x86_64"; then
+            # NOTE(yoctozepto): recent edk2-ovmf on CentOS Stream 8 x86_64 started failing with
+            # "libvirt.libvirtError: internal error: unknown feature amd-sev-es",
+            # so reinstall a known working version until the relevant bugs get fixed:
+            #   * https://bugzilla.redhat.com/show_bug.cgi?id=1961558
+            #   * https://bugzilla.redhat.com/show_bug.cgi?id=1961562
+            # TODO(yoctozepto): Remove this code when the time is right.
+            if [ "$os_VENDOR" = "CentOSStream" ]; then
+                install_package edk2-ovmf-20200602gitca407c7246bf-4.el8
+            fi
+        elif is_arch "aarch64"; then
             install_package edk2.git-aarch64
         fi