Compare commits
No commits in common. "stream-virt-rhel-rhel-8.9.0" and "c8-stream-rhel" have entirely different histories.
stream-vir
...
c8-stream-
0
.gitignore
vendored
Normal file
0
.gitignore
vendored
Normal file
0
.virt.metadata
Normal file
0
.virt.metadata
Normal file
20
README
20
README
@ -1,20 +0,0 @@
|
|||||||
This is the virt module for RHEL 8.
|
|
||||||
|
|
||||||
Branches
|
|
||||||
--------
|
|
||||||
|
|
||||||
Branch name Module name Common name
|
|
||||||
|
|
||||||
rhel virt:rhel slow train
|
|
||||||
8.0.0 virt:8.0.0 fast train
|
|
||||||
|
|
||||||
|
|
||||||
Rebuild the module
|
|
||||||
------------------
|
|
||||||
|
|
||||||
(1) You must add a commit (empty if necessary) if there has not been
|
|
||||||
any successful build since the last commit. Note that commits are
|
|
||||||
gated so you will need to add ‘related:’, ‘resolves:’ etc.
|
|
||||||
comments referring to a valid bug.
|
|
||||||
|
|
||||||
(2) rhpkg module-build [--watch]
|
|
@ -37,81 +37,81 @@ data:
|
|||||||
rpms:
|
rpms:
|
||||||
SLOF:
|
SLOF:
|
||||||
rationale: qemu-kvm dep
|
rationale: qemu-kvm dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
arches: [ppc64le]
|
arches: [ppc64le]
|
||||||
hivex:
|
hivex:
|
||||||
rationale: libguestfs dep
|
rationale: libguestfs dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
libguestfs:
|
libguestfs:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 4
|
buildorder: 4
|
||||||
libguestfs-winsupport:
|
libguestfs-winsupport:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 5
|
buildorder: 5
|
||||||
libiscsi:
|
libiscsi:
|
||||||
rationale: qemu-kvm dep
|
rationale: qemu-kvm dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
libvirt:
|
libvirt:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 3
|
buildorder: 3
|
||||||
libvirt-dbus:
|
libvirt-dbus:
|
||||||
rationale: libvirt-dbus is part of the virtualization module
|
rationale: libvirt-dbus is part of the virtualization module
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 4
|
buildorder: 4
|
||||||
libvirt-python:
|
libvirt-python:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 4
|
buildorder: 4
|
||||||
libnbd:
|
libnbd:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
nbdkit:
|
nbdkit:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 5
|
buildorder: 5
|
||||||
netcf:
|
netcf:
|
||||||
rationale: libvirt dep
|
rationale: libvirt dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
perl-Sys-Virt:
|
perl-Sys-Virt:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 4
|
buildorder: 4
|
||||||
qemu-kvm:
|
qemu-kvm:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 2
|
buildorder: 2
|
||||||
seabios:
|
seabios:
|
||||||
rationale: qemu-kvm dep
|
rationale: qemu-kvm dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
arches: [ppc64le, x86_64]
|
arches: [ppc64le, x86_64]
|
||||||
sgabios:
|
sgabios:
|
||||||
rationale: qemu-kvm dep
|
rationale: qemu-kvm dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
arches: [ppc64le, x86_64]
|
arches: [ppc64le, x86_64]
|
||||||
supermin:
|
supermin:
|
||||||
rationale: libguestfs dep
|
rationale: libguestfs dep
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 2
|
buildorder: 2
|
||||||
libtpms:
|
libtpms:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 1
|
buildorder: 1
|
||||||
swtpm:
|
swtpm:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 2
|
buildorder: 2
|
||||||
virt-v2v:
|
virt-v2v:
|
||||||
rationale: Primary module content
|
rationale: Primary module content
|
||||||
ref: stream-virt-rhel-rhel-8.9.0
|
ref: stream-rhel-rhel-8.8.0
|
||||||
buildorder: 6
|
buildorder: 6
|
||||||
|
|
@ -1,130 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
# Copyright (c) 2018 Pino Toscano <ptoscano@redhat.com>
|
|
||||||
#
|
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
# of this software and associated documentation files (the "Software"), to deal
|
|
||||||
# in the Software without restriction, including without limitation the rights
|
|
||||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
# copies of the Software, and to permit persons to whom the Software is
|
|
||||||
# furnished to do so, subject to the following conditions:
|
|
||||||
#
|
|
||||||
# The above copyright notice and this permission notice shall be included in
|
|
||||||
# all copies or substantial portions of the Software.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
# SOFTWARE.
|
|
||||||
|
|
||||||
import queue
|
|
||||||
import sys
|
|
||||||
import yaml
|
|
||||||
|
|
||||||
|
|
||||||
class SimpleGraph(object):
|
|
||||||
def __init__(self):
|
|
||||||
# node -> children mapping
|
|
||||||
self.nodes = {}
|
|
||||||
|
|
||||||
def _findRoots(self):
|
|
||||||
ret = []
|
|
||||||
for k in self.nodes.keys():
|
|
||||||
if not self._findInValues(k, self.nodes):
|
|
||||||
ret.append(k)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
def _findInValues(self, k, d):
|
|
||||||
for v in d.values():
|
|
||||||
if k in v:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def addNode(self, node, parents):
|
|
||||||
for p in parents:
|
|
||||||
if p not in self.nodes:
|
|
||||||
self.nodes[p] = []
|
|
||||||
self.nodes[p].append(node)
|
|
||||||
if node not in self.nodes:
|
|
||||||
self.nodes[node] = [] # insert the item
|
|
||||||
|
|
||||||
def bfs(self):
|
|
||||||
'''
|
|
||||||
Simply Breadth-first search.
|
|
||||||
|
|
||||||
Returns a list of steps, with each step a list of all the nodes
|
|
||||||
for it.
|
|
||||||
'''
|
|
||||||
ret = []
|
|
||||||
nodesCopy = self.nodes
|
|
||||||
roots = self._findRoots()
|
|
||||||
q = queue.Queue()
|
|
||||||
STEPDEL = '--------'
|
|
||||||
visited = set()
|
|
||||||
for r in roots:
|
|
||||||
q.put(r)
|
|
||||||
visited.add(r)
|
|
||||||
ret.append([])
|
|
||||||
q.put(STEPDEL)
|
|
||||||
while not q.empty():
|
|
||||||
n = q.get()
|
|
||||||
if n == STEPDEL:
|
|
||||||
if not q.empty():
|
|
||||||
ret.append([])
|
|
||||||
q.put(STEPDEL)
|
|
||||||
else:
|
|
||||||
children = nodesCopy.pop(n, [])
|
|
||||||
for c in children:
|
|
||||||
if c in visited:
|
|
||||||
continue
|
|
||||||
elif self._findInValues(c, nodesCopy):
|
|
||||||
# child of another node too, so let that other node
|
|
||||||
# handle this child
|
|
||||||
continue
|
|
||||||
q.put(c)
|
|
||||||
visited.add(c)
|
|
||||||
ret[-1].append(n)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
if len(sys.argv) != 3:
|
|
||||||
sys.stderr.write("Usage: %s DEPSFILE MODYAML\n" % sys.argv[0])
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
g = SimpleGraph()
|
|
||||||
|
|
||||||
with open(sys.argv[1]) as f:
|
|
||||||
for l in f:
|
|
||||||
if not l.strip() or l.startswith('#'):
|
|
||||||
continue
|
|
||||||
pieces = [x.strip() for x in l.split(' ')]
|
|
||||||
if not pieces or not pieces[0].endswith(':'):
|
|
||||||
sys.stderr.write("Invalid line '%s', skipped\n" % l)
|
|
||||||
continue
|
|
||||||
node = pieces[0][:-1]
|
|
||||||
parents = pieces[1:]
|
|
||||||
g.addNode(node, parents)
|
|
||||||
|
|
||||||
with open(sys.argv[2]) as f:
|
|
||||||
ydoc = yaml.safe_load(f)
|
|
||||||
|
|
||||||
steps = g.bfs()
|
|
||||||
stepsIndexes = {}
|
|
||||||
for i, step in enumerate(steps, 1):
|
|
||||||
for x in step:
|
|
||||||
stepsIndexes[x] = i
|
|
||||||
|
|
||||||
rpmComps = ydoc['data']['components']['rpms']
|
|
||||||
for k, v in rpmComps.items():
|
|
||||||
step = stepsIndexes[k]
|
|
||||||
try:
|
|
||||||
actualStep = int(v['buildorder'])
|
|
||||||
if step != actualStep:
|
|
||||||
print("%s has buildorder %d but must be %d" %
|
|
||||||
(k, actualStep, step))
|
|
||||||
except KeyError:
|
|
||||||
print("%s has no buildorder, set it to %d" % (k, step))
|
|
19
deps
19
deps
@ -1,19 +0,0 @@
|
|||||||
# dependencies for packages
|
|
||||||
# format:
|
|
||||||
# package: dep1 dep2 ... depN
|
|
||||||
|
|
||||||
SLOF:
|
|
||||||
hivex:
|
|
||||||
libguestfs-winsupport: libguestfs
|
|
||||||
libguestfs: supermin qemu-kvm libvirt hivex
|
|
||||||
libiscsi:
|
|
||||||
libvirt-dbus: libvirt
|
|
||||||
libvirt-python: libvirt
|
|
||||||
libvirt: qemu-kvm
|
|
||||||
nbdkit: libguestfs qemu-kvm libnbd
|
|
||||||
netcf:
|
|
||||||
perl-Sys-Virt: libvirt
|
|
||||||
qemu-kvm: libiscsi
|
|
||||||
seabios:
|
|
||||||
sgabios:
|
|
||||||
supermin: hivex
|
|
14
gating.yaml
14
gating.yaml
@ -1,14 +0,0 @@
|
|||||||
# recipients: virt-ci-test-results, ymankad, libvirt-qe, kvmqe-ci, yoguo
|
|
||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-8
|
|
||||||
decision_context: osci_compose_gate_modules
|
|
||||||
subject_type: redhat-module
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: xen-ci.libguestfs.redhat-module.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: libvirt-ci.libvirt.redhat-module.gating.x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: libvirt-ci.libvirt-python.redhat-module.gating.x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: libvirt-ci.perl-Sys-Virt.redhat-module.gating.x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: libvirt-ci.v2v.redhat-module.gating.x86_64.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kvm-ci.qemu.x86_64-intel.redhat-module.gating.tier1.functional}
|
|
||||||
- !PassingTestCaseRule {test_case_name: kvm-ci.qemu.x86_64-amd.redhat-module.gating.tier1.functional}
|
|
@ -1,31 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Create symlinks required by the qemu-iotests
|
|
||||||
ln -sf /usr/libexec/qemu-kvm /usr/lib64/qemu-kvm/tests-src/tests/qemu-iotests/qemu
|
|
||||||
ln -sf /usr/bin/qemu-io /usr/lib64/qemu-kvm/tests-src/tests/qemu-iotests/qemu-io
|
|
||||||
ln -sf /usr/bin/qemu-img /usr/lib64/qemu-kvm/tests-src/tests/qemu-iotests/qemu-img
|
|
||||||
ln -sf /usr/bin/qemu-nbd /usr/lib64/qemu-kvm/tests-src/tests/qemu-iotests/qemu-nbd
|
|
||||||
|
|
||||||
cd /usr/lib64/qemu-kvm/tests-src/tests/qemu-iotests/
|
|
||||||
# Run STABLE set of qemu-iotests
|
|
||||||
./check -v -raw 001 002 004 005 008 009 010 011 012 021 \
|
|
||||||
025 032 033 048 052 063 077 086 101 106 \
|
|
||||||
120 140 143 145 150 159 160 162 170 171 \
|
|
||||||
175 184 221 226
|
|
||||||
|
|
||||||
./check -v -qcow2 001 002 004 005 008 009 010 011 012 017 \
|
|
||||||
018 019 020 021 024 025 027 028 029 032 \
|
|
||||||
033 034 035 037 038 042 046 047 048 050 \
|
|
||||||
052 053 058 062 063 066 068 069 072 073 \
|
|
||||||
074 086 087 089 090 095 098 102 103 105 \
|
|
||||||
107 108 110 111 120 127 133 134 138 140 \
|
|
||||||
141 143 144 145 150 154 156 158 159 162 \
|
|
||||||
170 177 179 182 184 188 190 195 204 217 \
|
|
||||||
226
|
|
||||||
|
|
||||||
./check -v -luks 001 002 004 005 008 009 010 011 012 021 \
|
|
||||||
025 032 033 048 052 140 143 145 162 184 \
|
|
||||||
192
|
|
||||||
|
|
||||||
./check -v -nbd 001 002 004 005 008 009 010 011 021 032 \
|
|
||||||
033 077 094 119 123 143 145 162 184
|
|
@ -1,71 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: localhost
|
|
||||||
remote_user: root
|
|
||||||
|
|
||||||
# The following tasks set up the environment for the avocado_qemu
|
|
||||||
pre_tasks:
|
|
||||||
- name: Install qemu-kvm and pip3 # This step is to avoid failures when building from a private branch
|
|
||||||
package:
|
|
||||||
name: "{{ item }}"
|
|
||||||
state: latest
|
|
||||||
with_items:
|
|
||||||
- qemu-kvm
|
|
||||||
- python3-pip
|
|
||||||
|
|
||||||
- name: Get N-V-R from qemu-kvm
|
|
||||||
shell: "rpm -q {{ item }} qemu-kvm"
|
|
||||||
args:
|
|
||||||
warn: no
|
|
||||||
register: nvr_values
|
|
||||||
with_items:
|
|
||||||
- '--queryformat=%{NAME}'
|
|
||||||
- '--queryformat=%{VERSION}'
|
|
||||||
- '--queryformat=%{RELEASE}'
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
N: "{{ nvr_values.results[0].stdout }}"
|
|
||||||
V: "{{ nvr_values.results[1].stdout }}"
|
|
||||||
R: "{{ nvr_values.results[2].stdout }}"
|
|
||||||
|
|
||||||
- name: Install qemu-kvm-tests rpm from brewroot URL
|
|
||||||
yum:
|
|
||||||
name: "http://download.devel.redhat.com/brewroot/packages/{{ N }}/{{ V }}/{{ R }}/x86_64/{{ N }}-tests-{{ V }}-{{ R }}.x86_64.rpm"
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Upgrade pip
|
|
||||||
pip:
|
|
||||||
name: pip
|
|
||||||
executable: pip3
|
|
||||||
state: latest
|
|
||||||
|
|
||||||
- name: Avocado installation using pip
|
|
||||||
pip:
|
|
||||||
name: avocado-framework
|
|
||||||
executable: pip3
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Disable IPv6 in sysctl.conf on OSCI node
|
|
||||||
sysctl:
|
|
||||||
name: "{{ item }}"
|
|
||||||
value: 1
|
|
||||||
sysctl_set: yes
|
|
||||||
state: present
|
|
||||||
reload: yes
|
|
||||||
with_items:
|
|
||||||
- net.ipv6.conf.all.disable_ipv6
|
|
||||||
- net.ipv6.conf.default.disable_ipv6
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- role: standard-test-basic
|
|
||||||
tags:
|
|
||||||
- classic
|
|
||||||
tests:
|
|
||||||
- avocado_qemu:
|
|
||||||
dir: ./
|
|
||||||
run: "avocado --show all run -p qemu_bin=/usr/libexec/qemu-kvm /usr/lib64/qemu-kvm/tests-src/tests/acceptance/"
|
|
||||||
- qemu_iotests:
|
|
||||||
dir: ./
|
|
||||||
run: "/bin/bash runtest.sh"
|
|
||||||
required_packages:
|
|
||||||
- qemu-kvm
|
|
||||||
- qemu-kvm-tests
|
|
Loading…
Reference in New Issue
Block a user