Browse Source

Refactor openshift_projects role

Russell Teague 8 years ago
parent
commit
d86b270032

+ 0 - 15
roles/openshift_projects/meta/main.yml

@@ -1,15 +0,0 @@
----
-galaxy_info:
-  author: Jason DeTiberus
-  description: OpenShift Projects
-  company: Red Hat, Inc.
-  license: Apache License, Version 2.0
-  min_ansible_version: 1.9
-  platforms:
-  - name: EL
-    versions:
-    - 7
-  categories:
-  - cloud
-dependencies:
-- { role: openshift_facts }

+ 5 - 45
roles/openshift_projects/tasks/main.yml

@@ -1,47 +1,7 @@
 ---
-- name: Create temp directory for kubeconfig
-  command: mktemp -d /tmp/openshift-ansible-XXXXXX
-  register: mktemp
-  changed_when: False
-
-- name: Copy the admin client config(s)
-  command: >
-    cp {{ openshift_master_config_dir }}/admin.kubeconfig {{ mktemp.stdout }}/admin.kubeconfig
-  changed_when: False
-
-- name: Determine if projects exist
-  command: >
-    {{ openshift.common.client_binary }} --config={{ mktemp.stdout }}/admin.kubeconfig
-    get projects {{ item.key }} -o json
-  with_dict: "{{ openshift_projects }}"
-  failed_when: false
-  changed_when: false
-  register: project_test
-
 - name: Create projects
-  command: >
-    {{ openshift.common.client_binary }} adm --config={{ mktemp.stdout }}/admin.kubeconfig
-    new-project {{ item.item.key }}
-    {% if item.item.value.default_node_selector | default(none) != none %}
-    {{ '--node-selector=' ~ item.item.value.default_node_selector }}
-    {% endif %}
-  when: item.rc == 1
-  with_items:
-  - "{{ project_test.results }}"
-
-- name: Update project default node selector if necessary
-  command: >
-    {{ openshift.common.client_binary }}
-    --config={{ mktemp.stdout }}/admin.kubeconfig patch namespace {{ item.item.key }}
-    -p '{"metadata": {"annotations": {"openshift.io/node-selector": "{{ item.item.value.default_node_selector }}"}}}'
-  when: "{{ item.rc == 0 and item.item.value.default_node_selector | default(none) != none
-            and item.item.value.default_node_selector | default(none) != (item.stdout | from_json).metadata.annotations['openshift.io/node-selector'] | default(none) }}"
-  with_items:
-  - "{{ project_test.results }}"
-  register: annotate_project
-
-- name: Delete temp directory
-  file:
-    name: "{{ mktemp.stdout }}"
-    state: absent
-  changed_when: False
+  oc_project:
+    name: "{{ item.key }}"
+    node_selector:
+    -  "{{ item.value.default_node_selector }}"
+  with_dict: "{{ openshift_projects }}"

+ 0 - 2
roles/openshift_projects/vars/main.yml

@@ -1,2 +0,0 @@
----
-openshift_master_config_dir: "{{ openshift.common.config_base }}/master"