Skip to content

Document bodhi's expectations for signing tags #6124

Description

@jeremycline

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:

  1. Signing the RPMs with the right key and submitting that signature to Koji with addRPMSig.
  2. Sending a writeSignedRPM request to Koji to have it write out a copy of the RPM with that signature
  3. 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:

  1. bodhi tags the stuff into eln-build-side*signing-pending
  2. bodhi sees it's signed already. Great! Push to stable and delete sidetag
  3. robosignatory sees that message on the message bus from the tagging
  4. robosignatory sees that the build is not currently tagged with that tag (because bodhi untagged it when it went stable)
  5. robosignatory throws a exception and returns the message to the queue.
  6. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions