diff --git a/docs/upgrades.md b/docs/upgrades.md index b42dd69d0b1e15dc50ce429741b162d9bf1fa2ae..38548057614b138219f2607557b4b1ffca13147b 100644 --- a/docs/upgrades.md +++ b/docs/upgrades.md @@ -56,6 +56,11 @@ Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0", GitCommi Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0+coreos.0", GitCommit:"8031716957d697332f9234ddf85febb07ac6c3e3", GitTreeState:"clean", BuildDate:"2017-03-29T04:33:09Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"} ``` +If you want to manually control the upgrade procedure, you can use the variables `upgrade_node_confirm` or `upgrade_node_pause_seconds`: + +`upgrade_node_confirm: true` - waiting to confirmation to upgrade next node +`upgrade_node_pause_seconds: 60` - pause 60 seconds before upgrade next node + ## Multiple upgrades :warning: [Do not skip releases when upgrading--upgrade by one tag at a time.](https://github.com/kubernetes-sigs/kubespray/issues/3849#issuecomment-451386515) :warning: diff --git a/roles/upgrade/pre-upgrade/defaults/main.yml b/roles/upgrade/pre-upgrade/defaults/main.yml index bb381cbde9b71a3b5fa78edf18182ecad9500d89..0179ebbc67249a0f3a14b584c550a835d8369068 100644 --- a/roles/upgrade/pre-upgrade/defaults/main.yml +++ b/roles/upgrade/pre-upgrade/defaults/main.yml @@ -3,3 +3,6 @@ drain_grace_period: 300 drain_timeout: 360s drain_pod_selector: "" drain_nodes: true + +upgrade_node_confirm: false +upgrade_node_pause_seconds: 0 diff --git a/roles/upgrade/pre-upgrade/tasks/main.yml b/roles/upgrade/pre-upgrade/tasks/main.yml index 5be402f950190470e093fd28a2da3c4f9235ce56..18f44470a5c5fc5f3494a6af2e37110bb083d2b7 100644 --- a/roles/upgrade/pre-upgrade/tasks/main.yml +++ b/roles/upgrade/pre-upgrade/tasks/main.yml @@ -1,4 +1,19 @@ --- +# Wait for upgrade +- name: Confirm node upgrade + pause: + echo: yes + prompt: "Ready to upgrade node ?" + when: + - upgrade_node_confirm + +- name: Wait before upgrade node + pause: + seconds: "{{ upgrade_node_pause_seconds }}" + when: + - not upgrade_node_confirm + - upgrade_node_pause_seconds != 0 + # Node Ready: type = ready, status = True # Node NotReady: type = ready, status = Unknown - name: See if node is in ready state