فهرست منبع

Protect against missing commands

Rather than trying to keep track of state everywhere, lets just check
to see if the command exist before we attempt to run them
Scott Dodson 8 سال پیش
والد
کامیت
6aee40fc1f
2فایلهای تغییر یافته به همراه23 افزوده شده و 0 حذف شده
  1. 12 0
      roles/openshift_excluder/tasks/exclude.yml
  2. 11 0
      roles/openshift_excluder/tasks/unexclude.yml

+ 12 - 0
roles/openshift_excluder/tasks/exclude.yml

@@ -3,16 +3,28 @@
 # - exclude_docker_excluder
 # - exclude_openshift_excluder
 - block:
+
+  - name: Check for docker-excluder
+    stat:
+      path: /sbin/{{ openshift.common.service_type }}-docker-excluder
+    register: docker_excluder_stat
   - name: Enable docker excluder
     command: "{{ openshift.common.service_type }}-docker-excluder exclude"
     when:
     - exclude_docker_excluder | default(false) | bool
+    - docker_excluder_stat.stat.exists
 
+  - name: Check for openshift excluder
+    stat:
+      path: /sbin/{{ openshift.common.service_type }}-excluder
+    register: openshift_excluder_stat
   - name: Enable openshift excluder
     command: "{{ openshift.common.service_type }}-excluder exclude"
     # if the openshift override is set, it means the openshift excluder is disabled no matter what
     # if the openshift override is not set, the excluder is set based on enable_openshift_excluder
     when:
     - exclude_openshift_excluder | default(false) | bool
+    - openshift_excluder_stat.stat.exists
+
   when:
   - not openshift.common.is_atomic | bool

+ 11 - 0
roles/openshift_excluder/tasks/unexclude.yml

@@ -3,15 +3,26 @@
 # - unexclude_docker_excluder
 # - unexclude_openshift_excluder
 - block:
+
+  - name: Check for docker-excluder
+    stat:
+      path: /sbin/{{ openshift.common.service_type }}-docker-excluder
+    register: docker_excluder_stat
   - name: disable docker excluder
     command: "{{ openshift.common.service_type }}-docker-excluder unexclude"
     when:
     - unexclude_docker_excluder | default(false) | bool
+    - docker_excluder_stat.stat.exists
 
+  - name: Check for openshift excluder
+    stat:
+      path: /sbin/{{ openshift.common.service_type }}-excluder
+    register: openshift_excluder_stat
   - name: disable openshift excluder
     command: "{{ openshift.common.service_type }}-excluder unexclude"
     when:
     - unexclude_openshift_excluder | default(false) | bool
+    - openshift_excluder_stat.stat.exists
 
   when:
   - not openshift.common.is_atomic | bool