#17 Seek suggestions about supporting CI/CD pipelines produced container images
Closed by mvadkert. Opened by rayson.

Hi,

We're looking to test the containers for our pipeline applications
(like MBS, waiverdb, resultsdb itself) and then use ResultsDB and Greenwave to
gate their promotion between environments (dev/stage/prod, etc).

A potential workflow for promoting an image with :dev to :stage is like:

  1. A job is started to provision a new instance of the service from the :dev image. It also provisions instance of all dependencies from their :stage images.
  2. Integration tests are run against the new service.
  3. Results are reported to ResultsDB via the CI message.
  4. Greenwave sends a message when the criteria for promotion from :dev to :stage have been met (successful runs of all integration tests).
  5. Microservice responds to Greenwave message and tags the image into :stage.

We have noticed the spec defines an artifact type for container images. But we suspect it means container images built by OSBS. To make a clear distinguish with those images, we might need a new artifact type.

If a new artifact type is needed , can anyone recommend a artifact type for C3I messages?
What we can do to make the above workflow happen?

Any suggestions are appreciated. Thanks in advance.


@rayson hi, yeah, I guess a new artifact type would be nice. The current osbs built artifact is called redhat-container-image (mvadkert). I would maybe call this one, just container-image (and have it as a generic container image, built somehwere). As the base of the messages I would start with what redhat-container-image has, and extend ideally.

Note that redhat-container-image is currently defined only on downstream and we did not open-source it yet). Anyway, that should not matter.

Will send you the link to the docs off-public :)

FYI
RFE for Greenwave: https://pagure.io/greenwave/issue/333

And resultsdb-updater: https://github.com/release-engineering/resultsdb-updater/issues/71

https://pagure.io/fedora-ci/messages/pull-request/18 defines the container-image artifact and test.complete/error messages. This has been merged.

Next: Define test.running/queued gate.queued/running/complete/error messages for container-image artifact type, and provide correct messages examples.

Following up with https://pagure.io/fedora-ci/messages/pull-request/20

I believe this issue is done

Metadata Update from @mvadkert:
- Issue status updated to: Closed (was: Open)

Metadata