It would be great for there to be some documentation on Bodhi's expectations with respect to signing tags.
The interaction between Bodhi, Koji, and the autosigning service is done in a somewhat round-about way via AMQP messages and Koji tags that Bodhi and the autosigning service manipulate. I want to ensure the autosigning service is interacting with Koji tags in the way Bodhi expects, so knowing what Bodhi expects would help me.
My understanding
When a user submits an update, Bodhi tags the builds in that update into a -signing-pending koji tag. This will either be something like f45-signing-pending or a tag derived from the side tag like f44-build-side-139920-signing-pending.
Koji emits an AMQP message when it applies the tag.
The autosigning service subscribes to the Koji AMQP messages and uses its application configuration to decide if builds should be signed when a given tag is applied. It is responsible for:
- Signing the RPMs with the right key and submitting that signature to Koji with
addRPMSig.
- Sending a
writeSignedRPM request to Koji to have it write out a copy of the RPM with that signature
- When all RPMs in the build are signed with the keyid configured, moving the build out of the
-signing-pending tag into some other tag.
Open questions
Does my understanding match Bodhi's understanding?
Yesterday, @nirik diagnosing the signing queue getting stuck yesterday because eln-build-side-140508-signing-pending in history of build kruler-26.04.2-1.eln156. What happened was:
- bodhi tags the stuff into eln-build-side*signing-pending
- bodhi sees it's signed already. Great! Push to stable and delete sidetag
- robosignatory sees that message on the message bus from the tagging
- robosignatory sees that the build is not currently tagged with that tag (because bodhi untagged it when it went stable)
- robosignatory throws a exception and returns the message to the queue.
- robosignatory pops the next message off the queue.. and it's that same message!
So a more focused question is: should the autosigning service expect that builds tagged into a -signing-pending tag be moved out of it by Bodhi? For the record I think the autosigner should handle this case smoothly, but having documentation to point to and a general agreement about the "API" would be good.
It would be great for there to be some documentation on Bodhi's expectations with respect to signing tags.
The interaction between Bodhi, Koji, and the autosigning service is done in a somewhat round-about way via AMQP messages and Koji tags that Bodhi and the autosigning service manipulate. I want to ensure the autosigning service is interacting with Koji tags in the way Bodhi expects, so knowing what Bodhi expects would help me.
My understanding
When a user submits an update, Bodhi tags the builds in that update into a
-signing-pendingkoji tag. This will either be something likef45-signing-pendingor a tag derived from the side tag likef44-build-side-139920-signing-pending.Koji emits an AMQP message when it applies the tag.
The autosigning service subscribes to the Koji AMQP messages and uses its application configuration to decide if builds should be signed when a given tag is applied. It is responsible for:
addRPMSig.writeSignedRPMrequest to Koji to have it write out a copy of the RPM with that signature-signing-pendingtag into some other tag.Open questions
Does my understanding match Bodhi's understanding?
Yesterday, @nirik diagnosing the signing queue getting stuck yesterday because
eln-build-side-140508-signing-pending in history of build kruler-26.04.2-1.eln156. What happened was:So a more focused question is: should the autosigning service expect that builds tagged into a
-signing-pendingtag be moved out of it by Bodhi? For the record I think the autosigner should handle this case smoothly, but having documentation to point to and a general agreement about the "API" would be good.