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,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