From d58d7088c4905da5d1a718d0547498c156e3453d Mon Sep 17 00:00:00 2001 From: Will Szumski Date: Fri, 14 Feb 2025 09:53:36 +0000 Subject: [PATCH] Optimize copying of directories The ansible copy module is pretty slow when copying directories especically if there are a lot of files. Switching to the synchronize module yields much better performance. --- ansible/roles/compute_init/tasks/install.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ansible/roles/compute_init/tasks/install.yml b/ansible/roles/compute_init/tasks/install.yml index 77cddf0a8..01041d39e 100644 --- a/ansible/roles/compute_init/tasks/install.yml +++ b/ansible/roles/compute_init/tasks/install.yml @@ -15,12 +15,14 @@ - tasks - name: Inject files from roles - copy: + synchronize: src: '{{ item.src }}' dest: '/etc/ansible-init/playbooks/{{ item.dest }}' - owner: root - group: root - mode: 0644 + archive: false + rsync_opts: ["-p", "--chmod=D770,F644", "--owner=root", "--group=root"] + recursive: true + use_ssh_args: true + become: true loop: - src: ../../resolv_conf/templates/resolv.conf.j2 dest: templates/resolv.conf.j2