#61 pipeline concept seems excessively "CI pipeline" specific(?)
Closed 4 years ago by adamwill. Opened 4 years ago by adamwill.

I'm currently updating the openQA plugin to publish fedora-messaging (AMQP) messages instead of fedmsgs, and I figured I'd also update compliance with this spec at the same time. I noticed that the spec for productmd-compose messages requires the message to contain the pipeline dict. I'm having trouble understanding from the comments in https://pagure.io/fedora-ci/messages/blob/master/f/schemas/pipeline.yaml what this 'pipeline' concept is for or how I should sensibly map it to openQA testing. It feels quite specific to the "CI pipeline" system. Does it really need to be compulsory? If so, can anyone suggest how I should populate it for a test system that isn't a CI pipeline and isn't Jenkins and doesn't really seem to have any native concept that maps to this at all?


Yeah, sure, the idea behind pipeline.id was to provide a globally unique identification that would identify a testing for an artifact. The same pipeline.id then should be used to identify reruns of the same testing.

And it is not current CI pipeline specific, it should be generic. Maybe the name could have been better, but anyway :)

So...if two jobs are for "the same test" of "the same artifact" (i.e. one is basically a re-run of the other), they should have the same pipeline ID? Is that basically it? But if two jobs are for the same artifact but not the same test, or the same test but not the same artifact, they should not have the same pipeline ID?

If so, sure, I can synthesize that easily enough in the messages, but it's not really a concept that openQA itself has. You could construct an API query to find that set of jobs, I guess, but there's no single identifier you can use to do it, it'd just have to be a query that included enough terms to identify both the artifact and the test in question. Is that a problem?

So...if two jobs are for "the same test" of "the same artifact" (i.e. one is basically a re-run of the other), they should have the same pipeline ID? Is that basically it? But if two jobs are for the same artifact but not the same test, or the same test but not the same artifact, they should not have the same pipeline ID?

yes, that is it :) Seems we need to update that field to be more precise. Maybe a PR to the docs would be nice so it is more clear :)

If so, sure, I can synthesize that easily enough in the messages, but it's not really a concept that openQA itself has. You could construct an API query to find that set of jobs, I guess, but there's no single identifier you can use to do it, it'd just have to be a query that included enough terms to identify both the artifact and the test in question. Is that a problem?

The field can be basically any string, so I think it is not a problem. We use that pipeline id in CI dashboard to display a link to specific result, that is one of the other usages, but it can be really anything, depending on the testi system ....

OK, thanks for the explanations. I'll see if I can improve the docs :)

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

4 years ago

Login to comment on this ticket.

Metadata