Skip to content

Commit

Permalink
Merge pull request kubernetes#44931 from chuckbutler/worker-pause-action
Browse files Browse the repository at this point in the history
Automatic merge from submit-queue (batch tested with PRs 44931, 44808)

Closes kubernetes#44392

**What this PR does / why we need it**:

Fix the pause action with regard to the new behavior where
--delete-local-data=false by default. Historically --force was all that
was required, this flag has changed to be more descriptive of the
actions it's taking.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes kubernetes#44392


**Release note**:

```release-note
Added support to the pause action in the kubernetes-worker charm for new flag --delete-local-data
```
  • Loading branch information
Kubernetes Submit Queue authored Apr 26, 2017
2 parents 508041e + fe14225 commit 4fdee60
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
11 changes: 11 additions & 0 deletions cluster/juju/layers/kubernetes-worker/actions.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
pause:
description: |
Cordon the unit, draining all active workloads.
params:
delete-local-data:
type: boolean
description: Force deletion of local storage to enable a drain
default: False
force:
type: boolean
description: |
Continue even if there are pods not managed by a RC, RS, Job, DS or SS
default: False

resume:
description: |
UnCordon the unit, enabling workload scheduling.
Expand Down
21 changes: 20 additions & 1 deletion cluster/juju/layers/kubernetes-worker/actions/pause
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,25 @@ set -ex

export PATH=$PATH:/snap/bin

DELETE_LOCAL_DATA=$(action-get delete-local-data)
FORCE=$(action-get force)

# placeholder for additional flags to the command
export EXTRA_FLAGS=""

# Determine if we have extra flags
if [[ "${DELETE_LOCAL_DATA}" == "True" || "${DELETE_LOCAL_DATA}" == "true" ]]; then
EXTRA_FLAGS="${EXTRA_FLAGS} --delete-local-data=true"
fi

if [[ "${FORCE}" == "True" || "${FORCE}" == "true" ]]; then
EXTRA_FLAGS="${EXTRA_FLAGS} --force"
fi


# Cordon and drain the unit
kubectl --kubeconfig=/root/cdk/kubeconfig cordon $(hostname)
kubectl --kubeconfig=/root/cdk/kubeconfig drain $(hostname) --force
kubectl --kubeconfig=/root/cdk/kubeconfig drain $(hostname) ${EXTRA_FLAGS}

# Set status to indicate the unit is paused and under maintenance.
status-set 'waiting' 'Kubernetes unit paused'

0 comments on commit 4fdee60

Please sign in to comment.