Add script to orchestrate multiple composes

It may make sense to break a big compose into smaller chunks that can be
done independently. This script allows describing the smaller parts,
runs them with correct dependencies and arranges the result to look like
a single big compose.

All parts use the same koji event, that is either obtained from Koji, or
from command line argument.

JIRA: COMPOSE-2654
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2018-09-10 10:16:44 +02:00
parent ba260c24e8
commit 90c60f8e64
37 changed files with 1943 additions and 12 deletions

14
tests/data/client.conf Normal file
View file

@ -0,0 +1,14 @@
from dummy-pungi import *
tree_variants = ["Client"]
pkgset_repos = {
"i386": [
"{{configdir}}/repo",
],
"x86_64": [
"{{configdir}}/repo",
],
"s390x": [
"{{configdir}}/repo",
],
}

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE variants PUBLIC "-//Red Hat, Inc.//DTD Variants info//EN" "variants.dtd">
<variants>
<variant id="ResilientStorage" name="Resilient Storage" type="variant">
<arches>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">resilient-storage</group>
</groups>
</variant>
<variant id="Client" name="Client" type="variant">
<arches>
<arch>i386</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">core</group>
<group default="true">standard</group>
<group default="false">text-internet</group>
<group default="true" uservisible="false">firefox</group>
<group>skype</group>
</groups>
<environments>
<environment>minimal</environment>
<environment display_order="1000">desktop</environment>
</environments>
</variant>
<variant id="Server" name="Server" type="variant">
<arches>
<arch>x86_64</arch>
<arch>s390x</arch>
</arches>
<groups>
<group default="true" uservisible="true">core</group>
<group default="true">standard</group>
<group default="true">text-internet</group>
</groups>
<environments>
<environment>minimal</environment>
</environments>
</variant>
</variants>

View file

@ -0,0 +1,19 @@
[general]
release_name = Multi Compose
release_short = multi
release_version = 1.0
release_type = ga
compose_type = nightly
target = ../_composes/
extra_args = --quiet
[server]
config = server.conf
[client]
config = client.conf
[resilient-storage]
config = resilient-storage.conf
depends_on = server
failable = yes

View file

@ -0,0 +1,15 @@
from dummy-pungi import *
tree_variants = ["ResilientStorage"]
variants_file = "multi-compose-variants.xml"
pkgset_repos = {
"i386": [
"{{configdir}}/repo",
],
"x86_64": [
"{{configdir}}/repo",
],
"s390x": [
"{{configdir}}/repo",
],
}

16
tests/data/server.conf Normal file
View file

@ -0,0 +1,16 @@
from dummy-pungi import *
tree_variants = ["Server"]
variants_file = "multi-compose-variants.xml"
pkgset_repos = {
"i386": [
"{{configdir}}/repo",
],
"x86_64": [
"{{configdir}}/repo",
],
"s390x": [
"{{configdir}}/repo",
],
}
extra_isos = {}