summaryrefslogtreecommitdiffstats
path: root/roles/openshift_examples/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_examples/tasks')
-rw-r--r--roles/openshift_examples/tasks/main.yml138
1 files changed, 138 insertions, 0 deletions
diff --git a/roles/openshift_examples/tasks/main.yml b/roles/openshift_examples/tasks/main.yml
new file mode 100644
index 000000000..1a4562776
--- /dev/null
+++ b/roles/openshift_examples/tasks/main.yml
@@ -0,0 +1,138 @@
+---
+######################################################################
+# Copying Examples
+#
+# We used to use the copy module to transfer the openshift examples to
+# the remote. Then it started taking more than a minute to transfer
+# the files. As noted in the module:
+#
+# "The 'copy' module recursively copy facility does not scale to
+# lots (>hundreds) of files."
+#
+# The `synchronize` module is suggested as an alternative, we can't
+# use it either due to changes introduced in Ansible 2.x.
+- name: Create local temp dir for OpenShift examples copy
+ local_action: command mktemp -d /tmp/openshift-ansible-XXXXXXX
+ become: False
+ register: copy_examples_mktemp
+ run_once: True
+
+- name: Create tar of OpenShift examples
+ local_action: command tar -C "{{ role_path }}/files/examples/{{ content_version }}/" -cvf "{{ copy_examples_mktemp.stdout }}/openshift-examples.tar" .
+ args:
+ # Disables the following warning:
+ # Consider using unarchive module rather than running tar
+ warn: no
+ become: False
+ register: copy_examples_tar
+
+- name: Create the remote OpenShift examples directory
+ file:
+ dest: "{{ examples_base }}"
+ state: directory
+ mode: 0755
+
+- name: Unarchive the OpenShift examples on the remote
+ unarchive:
+ src: "{{ copy_examples_mktemp.stdout }}/openshift-examples.tar"
+ dest: "{{ examples_base }}/"
+
+- name: Cleanup the OpenShift Examples temp dir
+ become: False
+ local_action: file dest="{{ copy_examples_mktemp.stdout }}" state=absent
+
+# Done copying examples
+######################################################################
+# Begin image streams
+
+- name: Modify registry paths if registry_url is not registry.access.redhat.com
+ shell: >
+ find {{ examples_base }} -type f | xargs -n 1 sed -i 's|registry.access.redhat.com|{{ registry_host | quote }}|g'
+ when: registry_host != '' and openshift_examples_modify_imagestreams | default(False) | bool
+
+# RHEL and Centos image streams are mutually exclusive
+- name: Import RHEL streams
+ command: >
+ {{ openshift.common.client_binary }} {{ openshift_examples_import_command }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift -f {{ item }}
+ when: openshift_examples_load_rhel | bool
+ with_items:
+ - "{{ rhel_image_streams }}"
+ register: oex_import_rhel_streams
+ failed_when: "'already exists' not in oex_import_rhel_streams.stderr and oex_import_rhel_streams.rc != 0"
+ changed_when: false
+
+- name: Import Centos Image streams
+ command: >
+ {{ openshift.common.client_binary }} {{ openshift_examples_import_command }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift -f {{ centos_image_streams }}
+ when: openshift_examples_load_centos | bool
+ register: oex_import_centos_streams
+ failed_when: "'already exists' not in oex_import_centos_streams.stderr and oex_import_centos_streams.rc != 0"
+ changed_when: false
+
+- name: Import db templates
+ command: >
+ {{ openshift.common.client_binary }} {{ openshift_examples_import_command }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift -f {{ db_templates_base }}
+ when: openshift_examples_load_db_templates | bool
+ register: oex_import_db_templates
+ failed_when: "'already exists' not in oex_import_db_templates.stderr and oex_import_db_templates.rc != 0"
+ changed_when: false
+
+- name: Remove defunct quickstart template files
+ file:
+ path: "{{ item }}"
+ state: absent
+ with_items:
+ - "{{ quickstarts_base }}/nodejs.json"
+ - "{{ quickstarts_base }}/cakephp.json"
+ - "{{ quickstarts_base }}/dancer.json"
+ - "{{ quickstarts_base }}/django.json"
+
+- name: Remove defunct quickstart templates from openshift namespace
+ command: "{{ openshift.common.client_binary }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift delete templates/{{ item }}"
+ with_items:
+ - nodejs-example
+ - cakephp-example
+ - dancer-example
+ - django-example
+ register: oex_delete_defunct_quickstart_templates
+ failed_when: "'not found' not in oex_delete_defunct_quickstart_templates.stderr and oex_delete_defunct_quickstart_templates.rc != 0"
+ changed_when: false
+
+- name: Import quickstart-templates
+ command: >
+ {{ openshift.common.client_binary }} {{ openshift_examples_import_command }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift -f {{ quickstarts_base }}
+ when: openshift_examples_load_quickstarts | bool
+ register: oex_import_quickstarts
+ failed_when: "'already exists' not in oex_import_quickstarts.stderr and oex_import_quickstarts.rc != 0"
+ changed_when: false
+
+- name: Remove old xPaas template files
+ file:
+ path: "{{ item }}"
+ state: absent
+ with_items:
+ - "{{ xpaas_templates_base }}/sso70-basic.json"
+
+- name: Remove old xPaas templates from openshift namespace
+ command: "{{ openshift.common.client_binary }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift delete templates/{{ item }}"
+ with_items:
+ - sso70-basic
+ register: oex_delete_old_xpaas_templates
+ failed_when: "'not found' not in oex_delete_old_xpaas_templates.stderr and oex_delete_old_xpaas_templates.rc != 0"
+ changed_when: false
+
+- name: Import xPaas image streams
+ command: >
+ {{ openshift.common.client_binary }} {{ openshift_examples_import_command }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift -f {{ xpaas_image_streams }}
+ when: openshift_examples_load_xpaas | bool
+ register: oex_import_xpaas_streams
+ failed_when: "'already exists' not in oex_import_xpaas_streams.stderr and oex_import_xpaas_streams.rc != 0"
+ changed_when: false
+
+- name: Import xPaas templates
+ command: >
+ {{ openshift.common.client_binary }} {{ openshift_examples_import_command }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -n openshift -f {{ xpaas_templates_base }}
+ when: openshift_examples_load_xpaas | bool
+ register: oex_import_xpaas_templates
+ failed_when: "'already exists' not in oex_import_xpaas_templates.stderr and oex_import_xpaas_templates.rc != 0"
+ changed_when: false