Skip to content

Abort prior to Start should be a no-op #77

Description

@plaidfinch

We hold that an operator should require Oxide Support to authorize skipping a job in a sequence of jobs in the session. That's why job-skip is an authorized action signed by Oxide Support.

Unfortunately, the current implementation has a hole: you can abort a job by (known) job ID prior to submitting it, which will pre-emptively abort the job. The effect: the job is skipped, and it was not required to get a signature from Oxide Support. This undermines the guarantee that signed jobs hash-chain onto one another such that the sequence of started jobs on any sled is a prefix of the hash-chain of jobs.

I think we should fix this so that aborting a not-yet-known job is a no-op.

Technically, this does not close the hole entirely because there's still a race where if other jobs are queued, you can abort the job before it runs... but this will always stand if we want the operator to be able to abort jobs without a signature from Oxide, and we have ruled that this is desirable. Perhaps worth briefly revisiting to ensure we stand by that.

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