tools/koji-compose: use the central test repositories
We have several repository definitions across the tests which is quite messy. This commit switches the Koji test to use the "central" repository configs defined in test/data/repositories/
This commit is contained in:
parent
085e3d987d
commit
6962c4d8e6
2 changed files with 26 additions and 20 deletions
|
|
@ -5,6 +5,7 @@ OSBUILD_COMPOSER_TEST_DATA=/usr/share/tests/osbuild-composer/
|
|||
|
||||
# Get OS data.
|
||||
source /etc/os-release
|
||||
ARCH=$(uname -m)
|
||||
|
||||
# Colorful output.
|
||||
function greenprint {
|
||||
|
|
@ -56,7 +57,7 @@ greenprint "Creating Koji task"
|
|||
koji --server=http://localhost:8080/kojihub --user kojiadmin --password kojipass --authtype=password make-task image
|
||||
|
||||
greenprint "Pushing compose to Koji"
|
||||
sudo /usr/libexec/osbuild-composer-test/koji-compose.py "${ID}-${VERSION_ID%.*}"
|
||||
sudo /usr/libexec/osbuild-composer-test/koji-compose.py "${ID}-${VERSION_ID%.*}" "${ARCH}"
|
||||
|
||||
greenprint "Show Koji task"
|
||||
koji --server=http://localhost:8080/kojihub taskinfo 1
|
||||
|
|
|
|||
|
|
@ -5,22 +5,27 @@ import time
|
|||
|
||||
import requests
|
||||
|
||||
DISTRO_REPOS = {
|
||||
"fedora-32": [
|
||||
{
|
||||
"baseurl": "http://download.fedoraproject.org/pub/fedora/linux/releases/32/Everything/x86_64/os/",
|
||||
"gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBFxq3QMBEADUhGfCfP1ijiggBuVbR/pBDSWMC3TWbfC8pt7fhZkYrilzfWUM\nfTsikPymSriScONXP6DNyZ5r7tgrIVdVrJvRIqIFRO0mufp9HyfWKDO//Ctyp7OQ\nzYw6NVthO/aWpyFfJpj6s4iZsYGqf9gByV8brBB8v8jEsCtVOj1BU3bMbLkMsRI9\n+WiLjDYyvopqNBQuIe8ogxSxpYdbUz6+jxzfvhRoBzWdjITd//Gjd90kkrBOMWkO\nLTqO133OD1WMT08G5NuQ4KhjYsVvSbBpfdkTcNuP8gBP9LxCQDc+e1eAhZ95g3qk\nXLeKEK9j+F+wuG/OrEAxBsscCxXRUB38QH6CFe3UxGoSMnBi+jEhicudo+ItpFOy\n7rPaYyRh4Pmu4QHcC83bNjp8NI6zTHrBmVuPqkxMn07GMAQav9ezBXj6umqTX4cU\ndsJUavJrJ3u7rT0lhBdiGrQ9zPbL07u2Kn+OXPAC3dKSf7G8TvwNAdry9esGSpi3\n8aa1myQYVZvAlsIBkbN3fb1wvDJE5czVhzwQ77V2t66jxeg0o9/2OZVH3CozD2Zj\nv28LHuW/jnQHtsQ0fUyQYRmHxNEVkW10GGM7fQwxzpxFFS1O/2XEnfMu7yBHZsgL\nSojfUct0FhLhEN/g/IINX9ZCVrzK5/De27CNjYE1cgYD/lTmQ0SyjfKVwwARAQAB\ntDFGZWRvcmEgKDMxKSA8ZmVkb3JhLTMxLXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQI+BBMBAgAoAhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCXGrkTQUJ\nEs8P/QAKCRBQyzkLPDNZxBmDD/90IFwAfFcQq5ENl7/o2CYQ9k2adTHbV5RoIOWC\n/o9I5/btn1y8WDhPOUNmsgbUqRqz6srlVplg+LkpIj67PVLDBwpVbCJC8o1fztd2\nMryVqdvu562WVhUorII+iW7nfqD0yv55nH9b/JR1qloUa8LpeKw84JgvxF5wVfyR\nid1WjI0DBk2taFR4xCfU5Tb262fbdFj5iB9xskP7oNeS29+SfDjlnybtlFoqr9UA\nnY1uvhBPkGmj45SJkpfP+L+kGYXVaUd29M/q/Pt46X1KDvr6Z0l8bSUEk3zfcNdj\nuEhtHBqSy1UPPAikGX1Q5wGdu7R7+mv/ARqfI6OC44ipoOMNK1Aiu6+slbPYphwX\nighSz9yYuG0EdWt7akfKR0R04Kuej4LXLWcxTR4l8XDzThYgPP0g+z0XQJrAkVhi\nSrzICeC3K1GPSiUtNAxSTL+qWWgwvQyAPNoPV/OYmY+wUxUnKCZpEWPkL79lh6CM\nbJx/zlrOMzRumSzaOnKW9AOliviH4Rj89OmDifBEsQ0CewdHN9ly6g4ZFJJGYXJ5\nHTb5jdButTC3tDfvH8Z7dtXKdC4iqJCIxj698Xn8UjVefZQ2nbv5eXcZLfHtvbNB\nTTv1vvBV4G7aiHKYRSj7HmxhLBZC8Y/nmFAemOoOYDpR5eUmPmSbFayoLfRsFXmC\nHLs7cw==\n=6hRW\n-----END PGP PUBLIC KEY BLOCK-----\n",
|
||||
}
|
||||
],
|
||||
"rhel-8": [
|
||||
{"baseurl": "http://download.devel.redhat.com/released/RHEL-8/8.2.0/BaseOS/x86_64/os/"},
|
||||
{"baseurl": "http://download.devel.redhat.com/released/RHEL-8/8.2.0/AppStream/x86_64/os/"},
|
||||
]
|
||||
}
|
||||
|
||||
# Composer API for Koji uses a slightly different repository format
|
||||
# that osbuild-composer does in /usr/share/osbuild-composer/repositories.
|
||||
#
|
||||
# This function does the conversion.
|
||||
def composer_repository_to_koji_repository(repository):
|
||||
koji_repository = {
|
||||
"baseurl": repository["baseurl"]
|
||||
}
|
||||
|
||||
if repository.get("check_gpg", False):
|
||||
koji_repository["gpgkey"] = repository["gpgkey"]
|
||||
|
||||
return koji_repository
|
||||
|
||||
|
||||
def compose_request(distro, koji):
|
||||
repositories = [repo for repo in DISTRO_REPOS[distro]]
|
||||
def compose_request(distro, koji, arch):
|
||||
with open(f"/usr/share/tests/osbuild-composer/repositories/{distro}.json") as f:
|
||||
test_repositories = json.load(f)
|
||||
|
||||
repositories = [composer_repository_to_koji_repository(repo) for repo in test_repositories[arch]]
|
||||
|
||||
req = {
|
||||
"name": "name",
|
||||
|
|
@ -41,8 +46,8 @@ def compose_request(distro, koji):
|
|||
return req
|
||||
|
||||
|
||||
def main(distro):
|
||||
cr = compose_request(distro, "https://localhost:4343/kojihub")
|
||||
def main(distro, arch):
|
||||
cr = compose_request(distro, "https://localhost:4343/kojihub", arch)
|
||||
print(json.dumps(cr))
|
||||
|
||||
r = requests.post("https://localhost/api/composer-koji/v1/compose", json=cr,
|
||||
|
|
@ -83,7 +88,7 @@ def main(distro):
|
|||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 2:
|
||||
print(f"usage: {sys.argv[0]} DISTRO", file=sys.stderr)
|
||||
if len(sys.argv) != 3:
|
||||
print(f"usage: {sys.argv[0]} DISTRO ARCH", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
main(sys.argv[1])
|
||||
main(sys.argv[1], sys.argv[2])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue