From 1623640302329fdf17567f001e1a000b01ac610d Mon Sep 17 00:00:00 2001 From: Emlyn Kinzett Date: Wed, 8 Jun 2022 11:07:51 +0100 Subject: [PATCH 1/4] Add a drupal_sync_tasks role to run Drupal specific tasks during syncs. --- .../cache_clear-drupal7/tasks/main.yml | 11 ++++++++ .../cache_clear-drupal8/tasks/main.yml | 11 ++++++++ .../database_apply-drupal7/features.yml | 8 ++++++ .../database_apply-drupal7/main.yml | 20 ++++++++++++++ .../database_apply-drupal8/main.yml | 26 +++++++++++++++++++ .../database_apply/tasks/main.yml | 6 +++++ 6 files changed, 82 insertions(+) create mode 100644 roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal7/tasks/main.yml create mode 100644 roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal8/tasks/main.yml create mode 100644 roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/features.yml create mode 100644 roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/main.yml create mode 100644 roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/main.yml create mode 100644 roles/sync/drupal_sync_tasks/database_apply/tasks/main.yml diff --git a/roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal7/tasks/main.yml b/roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal7/tasks/main.yml new file mode 100644 index 00000000..ab9342ba --- /dev/null +++ b/roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal7/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: Clear Drupal 7 cache. + ansible.builtin.command: + cmd: "{{ drush_bin }} -l {{ site.folder }} -y cc all" + chdir: "{{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" + become: "{{ 'no' if www_user == deploy_user else 'yes' }}" + become_user: "{{ www_user }}" + with_items: "{{ drupal.sites }}" + loop_control: + loop_var: site + run_once: true diff --git a/roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal8/tasks/main.yml b/roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal8/tasks/main.yml new file mode 100644 index 00000000..96c721ee --- /dev/null +++ b/roles/sync/drupal_sync_tasks/cache_clear/cache_clear-drupal8/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: Clear Drupal cache. + ansible.builtin.command: + cmd: "{{ drush_bin }} -l {{ site.folder }} -y cr" + chdir: "{{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" + become: "{{ 'no' if www_user == deploy_user else 'yes' }}" + become_user: "{{ www_user }}" + with_items: "{{ drupal.sites }}" + loop_control: + loop_var: site + run_once: true diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/features.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/features.yml new file mode 100644 index 00000000..6afac238 --- /dev/null +++ b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/features.yml @@ -0,0 +1,8 @@ +--- +- name: Check if Features module is enabled. + ansible.builtin.shell: "cd {{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }} && {{ drush_bin }} -l {{ site.folder }} pm-info features | grep ': enabled' | wc -l" + register: features_enabled + +- name: Revert Drupal configuration from Features. + ansible.builtin.shell: "cd {{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }} && {{ drush_bin }} -l {{ site.folder }} -y {{ site.revert_features_command }}" + when: features_enabled.stdout == "1" diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/main.yml new file mode 100644 index 00000000..6de0b749 --- /dev/null +++ b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/main.yml @@ -0,0 +1,20 @@ +--- +- name: Apply Drupal database updates. + ansible.builtin.shell: + cmd: "{{ drush_bin }} -l {{ site.folder }} -y updb" + chdir: "{{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" + with_items: "{{ drupal.sites }}" + loop_control: + loop_var: site + +- name: Revert Drupal configuration with Features. + ansible.builtin.include_tasks: features.yml + with_items: "{{ drupal.sites }}" + loop_control: + loop_var: site + when: + - site.revert_features_command + +- name: Clear the cache. + ansible.builtin.include_role: + name: "sync/drupal_sync_tasks/clear_cache/clear_cache-{{ project_type }}" diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/main.yml new file mode 100644 index 00000000..fac9f5f4 --- /dev/null +++ b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/main.yml @@ -0,0 +1,26 @@ +--- +- name: Apply Drupal database updates. + ansible.builtin.command: + cmd: "{{ drush_bin }} -l {{ site.folder }} -y updb" + chdir: "{{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" + become: "{{ 'no' if www_user == deploy_user else 'yes' }}" + become_user: "{{ www_user }}" + with_items: "{{ drupal.sites }}" + loop_control: + loop_var: site + +- name: Import configuration. + ansible.builtin.command: + cmd: "{{ drush_bin }} -l {{ site.folder }} -y {{ site.config_import_command }}" + chdir: "{{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" + become: "{{ 'no' if www_user == deploy_user else 'yes' }}" + become_user: "{{ www_user }}" + with_items: "{{ drupal.sites }}" + loop_control: + loop_var: site + when: + - site.config_import_command + +- name: Clear the cache. + ansible.builtin.include_role: + name: "sync/drupal_sync_tasks/clear_cache/clear_cache-{{ project_type }}" diff --git a/roles/sync/drupal_sync_tasks/database_apply/tasks/main.yml b/roles/sync/drupal_sync_tasks/database_apply/tasks/main.yml new file mode 100644 index 00000000..58f6215a --- /dev/null +++ b/roles/sync/drupal_sync_tasks/database_apply/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: Apply database updates. + ansible.builtin.include_role: + name: "sync/drupal_sync_tasks/database_apply/database_apply-{{ project_type }}" + when: deploy_operation == 'deploy' + run_once: true From cdd36d84600f18cdebb17c2b0b687312b57281bb Mon Sep 17 00:00:00 2001 From: Emlyn Kinzett Date: Wed, 8 Jun 2022 11:39:51 +0100 Subject: [PATCH 2/4] Move sync database_apply files into tasks subdirectory. --- .../database_apply-drupal7/{ => tasks}/features.yml | 0 .../database_apply/database_apply-drupal7/{ => tasks}/main.yml | 0 .../database_apply/database_apply-drupal8/{ => tasks}/main.yml | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/{ => tasks}/features.yml (100%) rename roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/{ => tasks}/main.yml (100%) rename roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/{ => tasks}/main.yml (100%) diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/features.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/features.yml similarity index 100% rename from roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/features.yml rename to roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/features.yml diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml similarity index 100% rename from roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/main.yml rename to roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/tasks/main.yml similarity index 100% rename from roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/main.yml rename to roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/tasks/main.yml From c51dc7fc5e0fe4bcd97267f59839534330e55b1e Mon Sep 17 00:00:00 2001 From: Emlyn Kinzett Date: Wed, 8 Jun 2022 11:46:10 +0100 Subject: [PATCH 3/4] Woops, used bad role names in sync database update roles. --- .../database_apply/database_apply-drupal7/tasks/main.yml | 2 +- .../database_apply/database_apply-drupal8/tasks/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml index 6de0b749..d4736e36 100644 --- a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml +++ b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml @@ -17,4 +17,4 @@ - name: Clear the cache. ansible.builtin.include_role: - name: "sync/drupal_sync_tasks/clear_cache/clear_cache-{{ project_type }}" + name: "sync/drupal_sync_tasks/cache_clear/cache_clear-{{ project_type }}" diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/tasks/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/tasks/main.yml index fac9f5f4..bb9cc73c 100644 --- a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/tasks/main.yml +++ b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal8/tasks/main.yml @@ -23,4 +23,4 @@ - name: Clear the cache. ansible.builtin.include_role: - name: "sync/drupal_sync_tasks/clear_cache/clear_cache-{{ project_type }}" + name: "sync/drupal_sync_tasks/cache_clear/cache_clear-{{ project_type }}" From 67b3bb2222c40f29170fa544e86df6fa12632ed4 Mon Sep 17 00:00:00 2001 From: Emlyn Kinzett Date: Wed, 8 Jun 2022 12:18:20 +0100 Subject: [PATCH 4/4] Remove feature reverting from drupal7 database_apply sync role. --- .../database_apply-drupal7/tasks/features.yml | 8 -------- .../database_apply/database_apply-drupal7/tasks/main.yml | 8 -------- 2 files changed, 16 deletions(-) delete mode 100644 roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/features.yml diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/features.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/features.yml deleted file mode 100644 index 6afac238..00000000 --- a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/features.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Check if Features module is enabled. - ansible.builtin.shell: "cd {{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }} && {{ drush_bin }} -l {{ site.folder }} pm-info features | grep ': enabled' | wc -l" - register: features_enabled - -- name: Revert Drupal configuration from Features. - ansible.builtin.shell: "cd {{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }} && {{ drush_bin }} -l {{ site.folder }} -y {{ site.revert_features_command }}" - when: features_enabled.stdout == "1" diff --git a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml index d4736e36..f520514e 100644 --- a/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml +++ b/roles/sync/drupal_sync_tasks/database_apply/database_apply-drupal7/tasks/main.yml @@ -7,14 +7,6 @@ loop_control: loop_var: site -- name: Revert Drupal configuration with Features. - ansible.builtin.include_tasks: features.yml - with_items: "{{ drupal.sites }}" - loop_control: - loop_var: site - when: - - site.revert_features_command - - name: Clear the cache. ansible.builtin.include_role: name: "sync/drupal_sync_tasks/cache_clear/cache_clear-{{ project_type }}"