#87 task_id for module builds
Opened by pingou. Modified

When we worked on the message format for the notification sent by bodhi to inform the CI system that an update is ready to be tested (ie, these messages: https://apps.fedoraproject.org/datagrepper/id?id=2019-60247a51-fa32-4353-b819-c7c5dc3a3f53&is_raw=true&size=extra-large ) we agreed that we would provide the task_id field containing the identifier of the task that build the package in koji.

That field is marked as Integer and mandatory in bodhi's messages schema.

However, this is breaking bodhi as it fails to send notifications about module builds which, built outside of koji, do not have a task associated with them (for example: https://koji.fedoraproject.org/koji/buildinfo?buildID=1420808 )

This is leading to a question: How is this being handled internally? (Is it?)
And two options:
- Do not send notification about bodhi updates for modules ready to be tested
- Allow the task_id field to be either an integer or None

We much prefer the second option to the first one, but that means the pipeline may need to be adjusted for it.

Thoughts?


For modules builds we have different messages and we did not yet define them in the standard, but we are using them:

https://url.corp.redhat.com/4bbddff

And also greenwave supports module artifact (but is is called redhat-module downstream)

I guess we need to define them asap.

You're linking me to a test.complete message, while I'm talking about something that is more like a build.complete one.

Ok, so from the discussion we've just had on IRC, here is the plan:

  • Drop these messages for module updates for now
  • Work to add these notifications for module updates in a later stage

This will allow us to unbreak bodhi right now and give us time to figure out the schema, topic and content we want in the notifications about module updates (as well as time to answer questions such as: can there be more than one module updated in one update?)

can there be more than one module updated in one update?

@cverna replied to this one: Yes, cf: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-2b5b58da12

Ah ok, so I guess we need to ask for supporting of this sooner then later ....

  • Drop these messages for module updates for now

Reformulated:

  • Only send these messages for RPM-only updates

ie: do not send them for flatpacks, containers, modules...

From a follow-up discussion on IRC, we will also let bodhi send notifications where task_id is None.

The gist of it is that even RPM builds can be imported into koji (just like we do for module builds), releng has done it a few times in the past and even though it's an exceptional measure there is nothing telling us it will never happen again.
If we keep task_id required and import an RPM build in the future, bodhi will crash as it does today and things are stuck.
If we allow task_id to be None, the CI pipeline will crash and the update will be gated. Considering this would be exceptional circumstances, this would be something we can waive through (not ideal but also very exceptional).

Supporting group of modules is still not supported by greenwave.

internal backref https://issues.redhat.com/browse/RHELWF-381

Metadata