Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #729 from rudle/p2-rctl-delete-ru
p2-rctl has learned how to delete Rolling Updates
  • Loading branch information
rudle committed Jan 19, 2017
2 parents 38c9708 + 75e1c92 commit a0f025c
Showing 1 changed file with 22 additions and 9 deletions.
31 changes: 22 additions & 9 deletions bin/p2-rctl/main.go
Expand Up @@ -33,15 +33,16 @@ import (
)

const (
cmdCreateText = "create"
cmdDeleteText = "delete"
cmdReplicasText = "set-replicas"
cmdListText = "list"
cmdGetText = "get"
cmdEnableText = "enable"
cmdDisableText = "disable"
cmdRollText = "rolling-update"
cmdSchedupText = "schedule-update"
cmdCreateText = "create"
cmdDeleteText = "delete"
cmdReplicasText = "set-replicas"
cmdListText = "list"
cmdGetText = "get"
cmdEnableText = "enable"
cmdDisableText = "disable"
cmdRollText = "rolling-update"
cmdDeleteRollText = "delete-rolling-update"
cmdSchedupText = "schedule-update"
)

var (
Expand Down Expand Up @@ -82,6 +83,9 @@ var (
rollNeed = cmdRoll.Flag("minimum", "minimum number of healthy replicas during update").Required().Short('m').Int()
rollPagerdutyServiceKey = cmdRoll.Flag("pagerduty-service-key", "Pagerduty Service Key to use for alerting if provided").String()

cmdDeleteRoll = kingpin.Command(cmdDeleteRollText, "Delete a rolling update.")
deleteRollID = cmdDeleteRoll.Flag("id", "rolling update uuid").Required().Short('i').String()

cmdSchedup = kingpin.Command(cmdSchedupText, "Schedule new rolling update (will be run by farm)")
schedupOldID = cmdSchedup.Flag("old", "old replication controller uuid").Required().Short('o').String()
schedupNewID = cmdSchedup.Flag("new", "new replication controller uuid").Required().Short('n').String()
Expand Down Expand Up @@ -142,6 +146,8 @@ func main() {
rctl.RollingUpdate(*rollOldID, *rollNewID, *rollWant, *rollNeed, *rollPagerdutyServiceKey)
case cmdSchedupText:
rctl.ScheduleUpdate(*schedupOldID, *schedupNewID, *schedupWant, *schedupNeed)
case cmdDeleteRollText:
rctl.DeleteRollingUpdate(*deleteRollID)
}
}

Expand Down Expand Up @@ -211,6 +217,13 @@ func (r rctlParams) Delete(id string, force bool) {
r.logger.WithField("id", id).Infoln("Deleted replication controller")
}

func (r rctlParams) DeleteRollingUpdate(id string) {
err := r.rls.Delete(roll_fields.ID(id))
if err != nil {
r.logger.WithError(err).Fatalln("Could not delete RU. Consider a retry.")
}
}

func (r rctlParams) SetReplicas(id string, replicas int) {
if replicas < 0 {
r.logger.NoFields().Fatalln("Cannot set negative replica count")
Expand Down

0 comments on commit a0f025c

Please sign in to comment.