Bläddra i källkod

Merge pull request #2406 from sdodson/record-schedulability

Record schedulability of node prior to upgrade and re-set it to that
Scott Dodson 8 år sedan
förälder
incheckning
00ff458cc4
1 ändrade filer med 13 tillägg och 1 borttagningar
  1. 13 1
      playbooks/common/openshift-cluster/upgrades/upgrade.yml

+ 13 - 1
playbooks/common/openshift-cluster/upgrades/upgrade.yml

@@ -173,6 +173,18 @@
   # TODO: To better handle re-trying failed upgrades, it would be nice to check if the node
   # or docker actually needs an upgrade before proceeding. Perhaps best to save this until
   # we merge upgrade functionality into the base roles and a normal config.yml playbook run.
+  - name: Determine if node is currently scheduleable
+    command: >
+      {{ openshift.common.client_binary }} get node {{ openshift.common.hostname | lower }} -o json
+    register: node_output
+    delegate_to: "{{ groups.oo_first_master.0 }}"
+    changed_when: false
+    when: inventory_hostname in groups.oo_nodes_to_config
+
+  - set_fact:
+      was_schedulable: "{{ 'unschedulable' not in (node_output.stdout | from_json).spec }}"
+    when: inventory_hostname in groups.oo_nodes_to_config
+
   - name: Mark unschedulable if host is a node
     command: >
       {{ openshift.common.admin_binary }} manage-node {{ openshift.common.hostname | lower }} --schedulable=false
@@ -203,7 +215,7 @@
     command: >
       {{ openshift.common.admin_binary }} manage-node {{ openshift.common.hostname | lower }} --schedulable=true
     delegate_to: "{{ groups.oo_first_master.0 }}"
-    when: inventory_hostname in groups.oo_nodes_to_config and openshift.node.schedulable | bool
+    when: inventory_hostname in groups.oo_nodes_to_config and was_schedulable | bool
 
 
 ##############################################################################