diff options
author | Devan Goodwin <dgoodwin@redhat.com> | 2016-07-14 16:04:01 -0300 |
---|---|---|
committer | Devan Goodwin <dgoodwin@redhat.com> | 2016-07-14 16:04:01 -0300 |
commit | 03f31fdc581eea090388b5a60b3818167eb47c0c (patch) | |
tree | 75a29846b763d24bf52c98f786ce1b6189c3a626 /roles/openshift_projects | |
parent | 3073846a8c9e02af06d4d56f0141766b2337424b (diff) | |
parent | faf5618ec483baa7618f02de91128e8f1eaaa471 (diff) | |
download | openshift-03f31fdc581eea090388b5a60b3818167eb47c0c.tar.gz openshift-03f31fdc581eea090388b5a60b3818167eb47c0c.tar.bz2 openshift-03f31fdc581eea090388b5a60b3818167eb47c0c.tar.xz openshift-03f31fdc581eea090388b5a60b3818167eb47c0c.zip |
Merge remote-tracking branch 'upstream/master' into upgrade33
Diffstat (limited to 'roles/openshift_projects')
-rw-r--r-- | roles/openshift_projects/meta/main.yml | 15 | ||||
-rw-r--r-- | roles/openshift_projects/tasks/main.yml | 47 | ||||
-rw-r--r-- | roles/openshift_projects/vars/main.yml | 2 |
3 files changed, 64 insertions, 0 deletions
diff --git a/roles/openshift_projects/meta/main.yml b/roles/openshift_projects/meta/main.yml new file mode 100644 index 000000000..107a70b83 --- /dev/null +++ b/roles/openshift_projects/meta/main.yml @@ -0,0 +1,15 @@ +--- +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 } diff --git a/roles/openshift_projects/tasks/main.yml b/roles/openshift_projects/tasks/main.yml new file mode 100644 index 000000000..62a357cf7 --- /dev/null +++ b/roles/openshift_projects/tasks/main.yml @@ -0,0 +1,47 @@ +--- +- 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.admin_binary }} --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 diff --git a/roles/openshift_projects/vars/main.yml b/roles/openshift_projects/vars/main.yml new file mode 100644 index 000000000..9967e26f4 --- /dev/null +++ b/roles/openshift_projects/vars/main.yml @@ -0,0 +1,2 @@ +--- +openshift_master_config_dir: "{{ openshift.common.config_base }}/master" |