diff options
author | Scott Dodson <sdodson@redhat.com> | 2016-06-28 10:54:41 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-28 10:54:41 -0400 |
commit | 56dd40b7896a9e940951f9a16932a2b96bcf3b7e (patch) | |
tree | 4a2a08c087769850dd93bd580035b0e1b00cb670 /roles | |
parent | bf520e46e6916a4c9995ea95fa40cdd25f31209e (diff) | |
parent | 9fce180414a4cfbebea1f4b4acc2f67356b7e4fc (diff) | |
download | openshift-56dd40b7896a9e940951f9a16932a2b96bcf3b7e.tar.gz openshift-56dd40b7896a9e940951f9a16932a2b96bcf3b7e.tar.bz2 openshift-56dd40b7896a9e940951f9a16932a2b96bcf3b7e.tar.xz openshift-56dd40b7896a9e940951f9a16932a2b96bcf3b7e.zip |
Merge pull request #2087 from tbielawa/speedy_example_copy
Speed up copying OpenShift examples
Diffstat (limited to 'roles')
-rw-r--r-- | roles/openshift_examples/tasks/main.yml | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/roles/openshift_examples/tasks/main.yml b/roles/openshift_examples/tasks/main.yml index fb10188f2..e9966d735 100644 --- a/roles/openshift_examples/tasks/main.yml +++ b/roles/openshift_examples/tasks/main.yml @@ -1,9 +1,46 @@ --- -- name: Copy openshift examples - copy: - src: "examples/{{ content_version }}/" +###################################################################### +# 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" . + 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' |