#70 Add composes.json manifest for test results dashboard
Merged by jcline. Opened by balakondareddy.
balakondareddy/cloud-image-uploader composes-manifest  into  main

Maintain composes.json along with junit and html results to the azure
blob sotrage. This enables to query test results programmatically for
the dashboard

Signed-off-by: Bala Konda Reddy M bala12352@gmail.com

Rather than doing this manually, you can add a dependency on fedfind; we already use it in the image uploader so there's examples there, but you can basically do:

from fedfind import release as ff_release
ffrel = ff_release.get_release(cid=compose_id)

and that object will have the release, version, etc

I don't love the idea of the read-append-upload flow. There's the issue of a concurrent test clobbering the file, of course, but we don't currently run more than a test at a time. The other issue is what happens if we decide to reorganize the test results (e.g. put them in folders by release, for example)? Or if we prune old (more than say, 6 months old) results?

It'd be nicer to list the keys in the bucket and build up a fresh list each time.

rebased onto 66b519651b310e3067b14c8c9e03f6fcbc4c1369

Updated the PR with the suggested changes to use fedfind and to build compose by listing keys in the bucket.

I assume this is because of old compose IDs getting garbage collected? I would really prefer not regexing things if we don't have to.

Why don't we write out the test results in a structure that makes it easy to parse out the info you want? e.g. a directory structure like:
{distro}/{version}/{date}/{build}/{arch}/. That makes it an "at write time" concern and we can be reasonable sure the compose still exists.

Also, we probably don't need to dig around the dictionary for the details, ffrel.type indicates if it's a nightly, ffrel.respin has the respin number, and ffrel.compose is the date.

rebased onto 66b519651b310e3067b14c8c9e03f6fcbc4c1369

Updated as suggested on the review comments and have a directory structure while uploading the results into the storage container.

Everything looks good to me, thanks!

Pull-Request has been merged by jcline