This commit was merged in pull request #32.
This commit is contained in:
@@ -19,6 +19,10 @@ var (
|
||||
// speaks protocol version 2, which cannot deploy a digest-pinned or
|
||||
// tagless ref. errors.Is(err, ErrAgentTooOld) is true for it as well.
|
||||
ErrAgentTooOldForPinned error = agentTooOldForPinned{}
|
||||
// ErrAgentTooOldForSelfUpdate means the agent that runs the service speaks
|
||||
// a protocol version before 4 and cannot update itself.
|
||||
// errors.Is(err, ErrAgentTooOld) is true for it as well.
|
||||
ErrAgentTooOldForSelfUpdate error = agentTooOldForSelfUpdate{}
|
||||
)
|
||||
|
||||
type agentTooOldForPinned struct{}
|
||||
@@ -29,6 +33,12 @@ func (agentTooOldForPinned) Error() string {
|
||||
|
||||
func (agentTooOldForPinned) Is(target error) bool { return target == ErrAgentTooOld }
|
||||
|
||||
type agentTooOldForSelfUpdate struct{}
|
||||
|
||||
func (agentTooOldForSelfUpdate) Error() string { return "agent too old to update itself" }
|
||||
|
||||
func (agentTooOldForSelfUpdate) Is(target error) bool { return target == ErrAgentTooOld }
|
||||
|
||||
// NotUpdatableError says why a service cannot be updated. Reason is shown
|
||||
// in the UI as is.
|
||||
type NotUpdatableError struct {
|
||||
@@ -39,11 +49,13 @@ func (e *NotUpdatableError) Error() string { return "not updatable: " + e.Reason
|
||||
|
||||
// Reasons a service cannot be updated.
|
||||
const (
|
||||
ReasonSelf = "updated manually outside the system"
|
||||
ReasonContainer = "plain containers cannot be updated"
|
||||
ReasonNoTag = "follows no tag"
|
||||
ReasonRemoved = "service no longer exists"
|
||||
ReasonBuilt = "built from source (build:)"
|
||||
// ReasonSelfSwarm is for an agent's own Swarm service, which cannot be
|
||||
// updated by the agent that runs in it.
|
||||
ReasonSelfSwarm = "an agent's own Swarm service cannot update itself"
|
||||
|
||||
ReasonDrifted = "drifted: restore or accept the running version first"
|
||||
ReasonNotDrifted = "runs its desired version"
|
||||
@@ -57,14 +69,14 @@ type MergeRefusedError struct {
|
||||
|
||||
func (e *MergeRefusedError) Error() string { return "cannot merge: " + e.Reason }
|
||||
|
||||
// Reasons two services cannot be merged. ReasonSelf is reused for the
|
||||
// updater itself.
|
||||
// Reasons two services cannot be merged.
|
||||
const (
|
||||
ReasonMergeSame = "a service cannot be merged into itself"
|
||||
ReasonMergeLiveOld = "the old service still exists"
|
||||
ReasonMergeGoneNew = "the new service no longer exists"
|
||||
ReasonMergeKind = "only services of the same kind can be merged"
|
||||
ReasonMergeContainer = "plain containers cannot be merged"
|
||||
ReasonMergeSelf = "an agent's own service cannot be merged"
|
||||
)
|
||||
|
||||
// JobStatus is the state of an update job.
|
||||
|
||||
Reference in New Issue
Block a user