mise à jour du code selon ansible-lint
authorrominique <romain.legoff@heureux-cyclage.org>
Sun, 8 Oct 2023 19:33:28 +0000 (21:33 +0200)
committerrominique <romain.legoff@heureux-cyclage.org>
Sun, 8 Oct 2023 19:33:28 +0000 (21:33 +0200)
diverses corrections
update nuage instance a été testé avec succès sur le nuage LHC (27.1.2)
play move and restore pas encore au point

12 files changed:
group_vars/all.yml
group_vars/vm.yml
host_vars/ateliers.yml
host_vars/ligatures.yml
host_vars/localhost.yml [new file with mode: 0644]
play_move_and_restore.yml
tasks/backup_from_ateliers.yml
tasks/download_nextcloud_source.yml
tasks/restore_to_vm.yml
tasks/update_nextcloud.yml
templates/config_template.j2 [new file with mode: 0644]
update_nuage_instance.yml

index 8eedb3e..826f029 100644 (file)
@@ -1,6 +1,5 @@
 ---
 # vars identiques sur tous les hosts
-nextcloud_tmp_path: "/tmp/nextcloud_restore/{{ site_domain }}"
 nextcloud_data_path: "{{ nextcloud_webroot }}/data"
 nextcloud_websrv: nginx  # si besoin de apache, ecraser cette valeur viaun fichier de variables groupe ou host 
 nextcloud_repo_url: 'https://download.nextcloud.com/server/releases'
\ No newline at end of file
index bbad65b..8be1443 100644 (file)
@@ -1,9 +1,16 @@
 nextcloud_webroot: "{{ nextcloud_files_path }}/instance"
 nextcloud_websrv_user: www-data
 nextcloud_files_path: "/opt/nuage"
-nextcloud_version: 23.0.12
+nouvelle_version: 23.0.12
 # possble value:
 # 23.0.12
 # 24.0.12
 # 25.0.9
-# 26.0.4
\ No newline at end of file
+# 26.0.4
+php_fpm_service: php8.0-fpm
+nextcloud_tmp_path: "/tmp/nextcloud/{{ domain }}"
+nextcloud_db_name: "php_nuage_{{ domain }}"
+nextcloud_sources_files_path: "{{ nextcloud_files_path }}/sources"
+nextcloud_common_files_path: "{{ nextcloud_files_path }}/common"
+nextcloud_source: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
+nextcloud_common: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
\ No newline at end of file
index 4e5aa25..6d14985 100644 (file)
@@ -1,3 +1,5 @@
 nextcloud_webroot: "/home/www/data/org/heureux-cyclage/nuages/instances/{{ domain }}"
 nextcloud_websrv_user: php_nuages
-nextcloud_db_name: "php_nuage_{{ domain }}"
\ No newline at end of file
+nextcloud_db_name: "php_nuage_{{ domain }}"
+php_fpm_service: php8.0-fpm
+nextcloud_tmp_path: "/home/nextcloud_tmp/{{ domain }}"
\ No newline at end of file
index 8fc2292..fb4d714 100644 (file)
@@ -1,7 +1,7 @@
 nextcloud_websrv_user: "php_{{ sigle }}_nuage"
 nextcloud_sources_files_path: "/home/sites/data/nextcloud/sources"
 nextcloud_common_files_path: "/home/sites/data/nextcloud/common"
-nextcloud_version: "{{ nouvelle_version }}"
 nextcloud_webroot: "/home/sites/data/{{ tld }}/{{ domain }}/nuage"
 nextcloud_source: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
-nextcloud_common: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
\ No newline at end of file
+nextcloud_common: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
+php_fpm_service: php8.2-fpm
\ No newline at end of file
diff --git a/host_vars/localhost.yml b/host_vars/localhost.yml
new file mode 100644 (file)
index 0000000..391cefc
--- /dev/null
@@ -0,0 +1 @@
+nextcloud_tmp_path: "/tmp/nextcloud/{{ domain }}"
\ No newline at end of file
index 2640df1..13b31d3 100644 (file)
@@ -1,22 +1,44 @@
 ---
 # WARNING ATTENTION VERIFIER QU'IL Y A ASSEZ D'ESPACE SUR ATELIERS POUR CREER UNE ARCHIVES DES DATAS NEXTCLOUD
-# commande pour lancer le playbook: ansible-playbook play_move_and_restore.yml -e "site_domain=cyclocoop"
+# commande pour lancer le playbook: ansible-playbook play_move_and_restore.yml -u rominique
+
+- name: Play sur le controller
+  hosts: localhost
+  vars_prompt:
+
+    - name: domain
+      prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
+      private: false
 
-# play sur le controller
-- hosts: localhost
   tasks:
-  - name: create nextcloud restore dir on controller
-    ansible.builtin.file:
-      path: "{{ nextcloud_tmp_path }}"
-      state: directory
-      mode: '777'
-
-# play sur ateliers
-- hosts: ateliers
+
+    - name: Rendre la var domain dispo pour le host ateliers
+      ansible.builtin.set_fact:
+        domain: "{{ domain }}"
+      delegate_to: "{{ item }}"
+      delegate_facts: true
+      loop:
+        - ateliers
+        - vm_debian11
+
+    - name: Create nextcloud restore dir on controller
+      ansible.builtin.file:
+        path: "{{ nextcloud_tmp_path }}"
+        state: directory
+        mode: '777'
+
+- name: Play sur ateliers
+  hosts: ateliers
   tasks:
-  - include_tasks: tasks/backup_from_ateliers.yml
 
-# play sur vm_upgrade
-- hosts: vm_debian11
+    # - name: Include backup_from_ateliers
+    #   ansible.builtin.include_tasks: tasks/backup_from_ateliers.yml
+
+- name: Play sur vm_debian11
+  hosts: vm_debian11
   tasks:
-  - include_tasks: tasks/restore_to_vm.yml
\ No newline at end of file
+
+    - name: Include restore_to_vm.
+      ansible.builtin.include_tasks: tasks/restore_to_vm.yml
+
+# clean file on controller?
index af1e3ab..ea4dcc6 100644 (file)
@@ -1,33 +1,44 @@
 ---
-- name: create nextcloud restore dir 
-  ansible.builtin.file: 
+- name: Create nextcloud restore dir
+  ansible.builtin.file:
     path: "{{ nextcloud_tmp_path }}"
     state: directory
     mode: '777'
 
-- name: activate nextcloud maintenance mode
-  become_user: "{{ nextcloud_websrv_user }}"
-  become: true
-  command: './console maintenance:mode --on'
-  args:
-    chdir: "{{ nextcloud_webroot }}"
+- name: activate nextcloud maintenance mode
+  become_user: "{{ nextcloud_websrv_user }}"
+  become: true
+  command: './console maintenance:mode --on'
+  args:
+    chdir: "{{ nextcloud_webroot }}"
 
-- name: "Compress directory {{ nextcloud_data_path }} into {{ nextcloud_tmp_path }}/data.tar.gz"
-  become_user: "{{ nextcloud_websrv_user }}"
-  become: true
-  community.general.archive:
-    path: "{{ nextcloud_data_path }}"
-    dest: "{{ nextcloud_tmp_path }}/data.tar.gz"
-    format: gz
-    force_archive: true
-    mode: '777'
-
-- name: Create a dump of the postgreSQL database
+- name: "Compress directory {{ nextcloud_data_path }} into {{ nextcloud_tmp_path }}/data.tar.gz"
+  become_user: "{{ nextcloud_websrv_user }}"
+  become: true
+  community.general.archive:
+    path: "{{ nextcloud_data_path }}"
+    dest: "{{ nextcloud_tmp_path }}/data.tar.gz"
+    format: gz
+    force_archive: true
+    mode: '777'
+
+- name: Create a dump of the postgreSQL database # noqa : command-instead-of-module
   become: true
   become_user: "{{ nextcloud_websrv_user }}"
-  command: "pg_dump -f {{ nextcloud_tmp_path }}/dump.sql -F c -O -b {{ nextcloud_db_name }}"
+  ansible.builtin.command: "pg_dump -f dump.sql -F c -O -b {{ nextcloud_db_name }}"
+  args:
+    chdir: "{{ nextcloud_tmp_path }}"
+
+- name: copy nextcloud config file
+  become_user: "{{ nextcloud_websrv_user }}"
+  become: true
+  ansible.builtin.copy: 
+    src: "{{ nextcloud_webroot }}/config/config.php"
+    dest: "{{ nextcloud_tmp_path }}/config.php"
+    remote_src: yes # because the config file is already in the nextcloud_tmp_path
+    mode: '755'
 
-- name: add read permissions to created tmp files
+- name: Add read permissions to created tmp files
   become: true
   become_user: root
   ansible.builtin.file:
     owner: "{{ nextcloud_websrv_user }}"
     group: "{{ nextcloud_websrv_user }}"
     state: directory
-    recurse: yes
-    mode: '644' #or 'u=rw,g=r,o=r'
+    recurse: true
+    mode: '755' # or 'u=rw,g=r,o=r'
 
 - name: Fetch nextcloud_data from atelier to ansible controller
+  # become: true
+  # become_user: "{{ nextcloud_websrv_user }}"
+  ansible.builtin.fetch:
+    src: "{{ item }}"
+    dest: "/tmp/nextcloud/{{ domain }}/"
+    flat: true
+  loop:
+    - "{{ nextcloud_tmp_path }}/dump.sql"
+    - "{{ nextcloud_tmp_path }}/data.tar.gz"
+    - "{{ nextcloud_tmp_path }}/config.php"
+
+- name: Supprimer les fichiers temporaires du serveur ateliers
   become: true
   become_user: "{{ nextcloud_websrv_user }}"
-  fetch: 
-    src: "{{ item }}"
-    dest: "{{ nextcloud_tmp_path }}/"
-    flat: yes
+  ansible.builtin.file:
+    path: "{{ item }}"
+    state: absent
   loop:
     - "{{ nextcloud_tmp_path }}/dump.sql"
     - "{{ nextcloud_tmp_path }}/data.tar.gz"
-    - "{{ nextcloud_webroot }}/config/config.php"
+    - "{{ nextcloud_tmp_path }}/config.php"
 
 # - name: deactivate nextcloud maintenance mode
 #   become_user: "{{ nextcloud_websrv_user }}"
 #   become: true
 #   command: './console maintenance:mode --off'
 #   args:
-#     chdir: "{{ nextcloud_webroot }}"
\ No newline at end of file
+#    chdir: "{{ nextcloud_webroot }}"
\ No newline at end of file
index e05ada3..77a46c6 100644 (file)
@@ -4,7 +4,7 @@
   ansible.builtin.get_url:
     url: "{{ nextcloud_repo_url }}/nextcloud-{{ nouvelle_version }}.tar.bz2"
     dest: "{{ nextcloud_sources_files_path }}/"
-    mode: '755' #or u=rwx,g=rx,o=rx
+    mode: '755' # or u=rwx,g=rx,o=rx
     checksum: "md5:{{ nextcloud_repo_url }}/nextcloud-{{ nouvelle_version }}.tar.bz2.md5"
 
 - name: create nextcloud source dir 
@@ -13,7 +13,7 @@
   ansible.builtin.file: 
     path: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
     state: directory
-    mode: '755' #or u=rwx,g=rx,o=rx
+    mode: '755' # or u=rwx,g=rx,o=rx
 
 - name: Extract downloaded nextcloud source
   become: true
@@ -21,7 +21,7 @@
   ansible.builtin.unarchive:
     src: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}.tar.bz2"
     dest: "{{ nextcloud_sources_files_path }}/"
-#    mode: '755' #or u=rwx,g=rx,o=rx
+#    mode: '755' # or u=rwx,g=rx,o=rx
     remote_src: yes
 
 - name: "rename nextloud dir to nextcloud-{{ nouvelle_version }}"
@@ -30,7 +30,7 @@
   ansible.builtin.copy: 
     src: "{{ nextcloud_sources_files_path }}/nextcloud/"
     dest: "{{ nextcloud_sources_files_path }}/nextcloud-{{ nouvelle_version }}"
-    remote_src: yes #because the config file is already in the nextcloud_tmp_path
+    remote_src: yes # because the config file is already in the nextcloud_tmp_path
 
 - name: deleted downloaded nextcloud files
   become: true
index ca771cb..4998bc2 100644 (file)
 ---
-- name: clean nextcloud restore dir content
-  ansible.builtin.file:
-    path: "{{ nextcloud_tmp_path }}"
-    state: absent
+# - name: Clean nextcloud restore dir content
+#   become_user: "{{ nextcloud_websrv_user }}"
+#   become: true
+#   ansible.builtin.file:
+#     path: "{{ item }}"
+#     state: absent
+#   loop: 
+#     - "{{ nextcloud_tmp_path }}"
+#     - "{{ nextcloud_webroot }}/data"
 
-- name: recreate nextcloud restore dir 
+- name: Recreate nextcloud restore dir # necessite le paquet acl installé
+  become_user: "{{ nextcloud_websrv_user }}"
+  become: true
   ansible.builtin.file:
-    path: "{{ nextcloud_tmp_path }}"
-    state: present
+    path: "{{ item }}"
+    state: directory
+  loop: 
+    - "{{ nextcloud_tmp_path }}"
+    - "{{ nextcloud_webroot }}/data"
 
-- name: Copy the file from ansible controller to vm host
-  copy: 
-    src: "{{ item }}"
-    dest: "{{ nextcloud_data_path }}"
-  loop:
-    - "{{ nextcloud_tmp_path }}/dump.sql"
-    - "{{ nextcloud_tmp_path }}/data.tar.gz"
-    - "{{ nextcloud_tmp_path }}/config.php"
+# - name: Copy files from ansible controller to vm host
+#   become_user: "{{ nextcloud_websrv_user }}"
+#   become: true
+#   ansible.builtin.copy:
+#     src: "{{ nextcloud_tmp_path }}/"
+#     dest: "{{ nextcloud_tmp_path }}/"
 
-- name: Extract nc data archive
-  ansible.builtin.unarchive:
-    src: "{{ nextcloud_data_tmp }}"
-    dest: "{{ nextcloud_data_path }}"
+# - name: Extract nc data archive
+#   become_user: "{{ nextcloud_websrv_user }}"
+#   become: true
+#   ansible.builtin.unarchive:
+#     src: "{{ nextcloud_tmp_path }}/data.tar.gz"
+#     dest: "{{ nextcloud_webroot }}/data"
 
-- name: stop webserver service
+- name: Stop webserver service
   become: true
   become_user: root
   ansible.builtin.service:
     name: "{{ nextcloud_websrv }}"
     state: stopped
 
-- name: restore psql dump
+- name: "[PostgreSQL] - {{ nextcloud_websrv_user }} role is created."
+  become_user: postgres
   become: true
+  community.postgresql.postgresql_user:
+    name: "{{ nextcloud_websrv_user }}"
+    state: present
+    role_attr_flags: CREATEDB
+
+- name: "[PostgreSQL] - {{ nextcloud_db_name }} database is created."
+  become_user: postgres
+  become: true
+  community.postgresql.postgresql_db:
+    name: "{{ nextcloud_db_name }}"
+    state: "{{ item }}"
+    owner: "{{ nextcloud_websrv_user }}"
+    target: "{{ nextcloud_tmp_path }}/dump.sql"
+  loop:
+    - absent
+    - present
+    - restore
+
+# - name: Restore psql dump # noqa : command-instead-of-module
+#   become: true
+#   become_user: postgres
+#   ansible.builtin.command: "pg_restore -c -F c -O -x -d {{ nextcloud_db_name }} {{ nextcloud_tmp_path }}/dump.pgc"
+
+- name: Update data fingerprint post db restore # noqa : command-instead-of-module
   become_user: "{{ nextcloud_websrv_user }}"
-  command: "pg_restore -F c -O -d {{ nextcloud_db_name }} {{ nextcloud_tmp_path }}/dump.sql"
+  become: true
+  ansible.builtin.command: './console maintenance:data-fingerprint'
+  args:
+    chdir: "{{ nextcloud_webroot }}"
 
-- name: copy config.php over from old instance
+- name: create nextcloud config
   become_user: "{{ nextcloud_websrv_user }}"
   become: true
-  ansible.builtin.copy:
-    src: "{{ nextcloud_data_tmp }}/config/config.php"
+  ansible.builtin.template:
+    src: templates/config_template.j2
     dest: "{{ nextcloud_webroot }}/config/config.php"
-    remote_src: yes #because the config file is already in the nextcloud_tmp_path
     owner: "{{ nextcloud_websrv_user }}"
     group: "{{ nextcloud_websrv_user }}"
-    mode: '640' #or u=rwx,g=r,o=
+    mode: '640' # or u=rwx,g=r,o=
+
+- name: Deactivate nextcloud maintenance mode # noqa : command-instead-of-module
+  become_user: "{{ nextcloud_websrv_user }}"
+  become: true
+  ansible.builtin.command: './console maintenance:mode --off'
+  args:
+    chdir: "{{ nextcloud_webroot }}"
 
-- name: update nextcloud root dir symbolic link
+- name: Update nextcloud root dir symbolic link
+  become_user: "{{ nextcloud_websrv_user }}"
   become: true
   ansible.builtin.file:
     src: "{{ nextcloud_source }}"
     dest: "{{ nextcloud_webroot }}/nextcloud"
-    owner: nextcloud
-    group: nextcloud
+    owner: "{{ nextcloud_websrv_user }}"
+    group: "{{ nextcloud_websrv_user }}"
     state: link
     follow: false
 
-- name: update nextcloud common app dir symbolic link
+- name: Update nextcloud common app dir symbolic link
+  become_user: "{{ nextcloud_websrv_user }}"
   become: true
   ansible.builtin.file:
     src: "{{ nextcloud_common }}"
     dest: "{{ nextcloud_webroot }}/common"
-    owner: nextcloud
-    group: nextcloud
+    owner: "{{ nextcloud_websrv_user }}"
+    group: "{{ nextcloud_websrv_user }}"
     state: link
     follow: false
 
-- name: deactivate nextcloud maintenance mode
-  become_user: "{{ nextcloud_websrv_user }}"
-  become: true
-  command: './console maintenance:mode --off'
-  args:
-    chdir: "{{ nextcloud_webroot }}"
-
-- name: start webserver service
+- name: Start webserver service
   become: true
   ansible.builtin.service:
     name: "{{ nextcloud_websrv }}"
     state: started
 
-- name: Run occ upgrade
+- name: Run occ upgrade # noqa : command-instead-of-module
   become_user: "{{ nextcloud_websrv_user }}"
   become: true
-  command: './console upgrade'
+  ansible.builtin.command: './console upgrade'
   args:
     chdir: "{{ nextcloud_webroot }}"
   register: nc_upgrade_result
 
-- name: display upgrade result
-  debug:
+- name: Display upgrade result
+  ansible.builtin.debug:
     var: nc_upgrade_result.stdout_lines
 
-- name: wait for upgrade to complete
+- name: Wait for upgrade to complete
   block:
-  - name: wait for nextcloud maintenance mode to become false
-    become_user: "{{ nextcloud_websrv_user }}"
-    become: true
-    command: php occ status
-    args:
-      chdir: "{{ nextcloud_webroot }}"
-    register: result
-    until: "'maintenance: false' in result.stdout"
-    retries: 15
-    delay: 20
+
+    - name: Wait for nextcloud maintenance mode to become false # noqa : command-instead-of-module
+      become_user: "{{ nextcloud_websrv_user }}"
+      become: true
+      ansible.builtin.command: './console status'
+      args:
+        chdir: "{{ nextcloud_webroot }}"
+      register: result
+      until: "'maintenance: false' in result.stdout"
+      retries: 15
+      delay: 20
+
   rescue:
-  - name: deactivate maintenance mode manually
-    become_user: "{{ nextcloud_websrv_user }}"
-    become: true
-    command: php occ maintenance:mode --off
-    register: rescue
-  - name: display rescue
-    debug:
-      var: rescue.stdout_lines
-
-- name: launch post-upgrade cleaning scripts
+
+    - name: Deactivate maintenance mode manually # noqa : command-instead-of-module
+      become_user: "{{ nextcloud_websrv_user }}"
+      become: true
+      ansible.builtin.command: './console maintenance:mode --off'
+      args:
+        chdir: "{{ nextcloud_webroot }}"
+      register: rescue
+
+    - name: Display rescue
+      ansible.builtin.debug:
+        var: rescue.stdout_lines
+
+- name: Launch post-upgrade cleaning scripts
+  when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"
   block:
-  - name: launch some occ cleaning command
-    become_user: "{{ nextcloud_websrv_user }}"
-    become: true
-    command: "php occ {{ command }}"
-    args:
-      chdir: "{{ nextcloud_webroot }}"
-    loop:
-      - db:add-missing-columns
-      - db:add-missing-indices 
-      - db:add-missing-primary-keys
-      - dav:remove-invalid-shares
-      - files:cleanup
-#      - files:scan --all
-    loop_control:
-      loop_var: command
-    register: nc_indices_cmd
-
-  - name: display each occ commands result
-    debug:
-      msg: "{{ item.stdout_lines }}"
-    loop: "{{ nc_indices_cmd.results }}" 
-    loop_control:
-      label: "{{ item.command }}"
-  when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"
\ No newline at end of file
+
+    - name: Launch some occ cleaning command
+      become_user: "{{ nextcloud_websrv_user }}"
+      become: true
+      ansible.builtin.command: "./console { command }}"
+      args:
+        chdir: "{{ nextcloud_webroot }}"
+      loop:
+        - db:add-missing-columns
+        - db:add-missing-indices
+        - db:add-missing-primary-keys
+        - dav:remove-invalid-shares
+        - files:cleanup
+  #      - files:scan --all
+      loop_control:
+        loop_var: command
+      register: nc_indices_cmd
+
+    - name: Display each occ commands result
+      ansible.builtin.debug:
+        msg: "{{ item.stdout_lines }}"
+      loop: "{{ nc_indices_cmd.results }}"
+      loop_control:
+        label: "{{ item.command }}"
index e541c37..68eae33 100644 (file)
@@ -1,11 +1,10 @@
----
-- name: stop webserver service
+- name: Stop webserver service
   become: true
   ansible.builtin.service:
     name: "{{ nextcloud_websrv }}"
     state: stopped
-  
-- name: update nextcloud root dir symbolic link
+
+- name: Update nextcloud root dir symbolic link
   become: true
   ansible.builtin.file:
     src: "{{ nextcloud_source }}"
@@ -15,7 +14,7 @@
     state: link
     follow: false
 
-- name: update nextcloud common app dir symbolic link
+- name: Update nextcloud common app dir symbolic link
   become: true
   ansible.builtin.file:
     src: "{{ nextcloud_common }}"
     state: link
     follow: false
 
-- name: start webserver service
+- name: Start webserver service
   become: true
   ansible.builtin.service:
     name: "{{ nextcloud_websrv }}"
     state: started
 
-- name: Run nextcloud upgrade script
+- name: Run nextcloud upgrade script # noqa : command-instead-of-module
   become_user: "{{ nextcloud_websrv_user }}"
   become: true
-  command: ./console upgrade
+  ansible.builtin.command: ./console upgrade
   args:
     chdir: "{{ nextcloud_webroot }}"
   register: nc_upgrade_result
 
-- name: display upgrade result
+- name: Display upgrade result
   debug:
     var: nc_upgrade_result.stdout_lines
 
-- block:
-  - name: wait for nextcloud maintenance mode to become false
-    become_user: "{{ nextcloud_websrv_user }}"
-    become: true
-    command: ./console status
-    args:
-      chdir: "{{ nextcloud_webroot }}"
-    register: result
-    until: "'maintenance: false' in result.stdout"
-    retries: 15
-    delay: 20
+- name: Bloque de tâches contrôlant la fin de la maintenance de mise à jour
+  block:
+    - name: Wait for nextcloud maintenance mode to become false # noqa : command-instead-of-module
+      become_user: "{{ nextcloud_websrv_user }}"
+      become: true
+      ansible.builtin.command: ./console status
+      args:
+        chdir: "{{ nextcloud_webroot }}"
+      register: result
+      until: "'maintenance: false' in result.stdout"
+      retries: 15
+      delay: 20
   rescue:
-  - name: deactivate maintenance mode manually
-    become_user: "{{ nextcloud_websrv_user }}"
-    become: true
-    command: ./console maintenance:mode --off
-    args:
-          chdir: "{{ nextcloud_webroot }}"
-    register: rescue
-  - name: display rescue
-    debug:
-      var: rescue.stdout_lines
\ No newline at end of file
+    - name: Deactivate maintenance mode manually # noqa : command-instead-of-module
+      become_user: "{{ nextcloud_websrv_user }}"
+      become: true
+      ansible.builtin.command: ./console maintenance:mode --off
+      args:
+        chdir: "{{ nextcloud_webroot }}"
+      register: rescue
+
+    - name: Display rescue
+      ansible.builtin.debug:
+        var: rescue.stdout_lines
+
+- name: Reload php fpm service
+  become: true
+  ansible.builtin.service:
+    name: "{{ php_fpm_service }}"
+    state: reloaded
\ No newline at end of file
diff --git a/templates/config_template.j2 b/templates/config_template.j2
new file mode 100644 (file)
index 0000000..88db3f4
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+$CONFIG = array (
+  'appstoreenabled' => false,
+  'trusted_domains' => 
+  array (
+    0 => 'nuage.migration.org',
+  ),
+  'datadirectory' => '{{ nextcloud_webroot}}/data',
+  'overwrite.cli.url' => 'https://nuage.migration.org',
+  'dbtype' => 'pgsql',
+  'dbname' => '{{ nextcloud_db_name }}',
+  'dbhost' => '/run/postgresql',
+  'dbport' => '',
+  'dbtableprefix' => 'oc_',
+  'dbuser' => '{{ nextcloud_websrv_user}}',
+  'dbpassword' => '',
+  'installed' => true,
+  'apps_paths' => 
+  array (
+    0 => 
+    array (
+      'path' => '{{ nextcloud_webroot}}/nextcloud/apps/',
+      'url' => '/apps',
+      'writable' => false,
+    ),
+    1 => 
+    array (
+      'path' => '{{ nextcloud_webroot}}/common/',
+      'url' => '/common-apps',
+      'writable' => false,
+    ),
+  ),
+  'theme' => '',
+  'loglevel' => 2,
+);
index f68ce5c..eb40ebb 100644 (file)
@@ -1,69 +1,74 @@
 ---
-# commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml -e "site_domain=cyclocoop"
+# commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml
 
-# promp pour définir les variables
-- hosts: ligatures
+- name: Promp pour définir les variables
+  hosts: ligatures
   vars_prompt:
-  - name: nouvelle_version
-    prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.0)'
-    private: false
 
-  - name: tld
-    prompt: 'TLD du site à mettre à jour?(ex: org)'
-    private: false
+    - name: nouvelle_version
+      prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.0)'
+      private: false
 
-  - name: domain
-    prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
-    private: false
+    - name: tld
+      prompt: 'TLD du site à mettre à jour?(ex: org)'
+      private: false
+
+    - name: domain
+      prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
+      private: false
+
+    - name: sigle
+      prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
+      private: false
 
-  - name: sigle
-    prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
-    private: false
   pre_tasks:
-  - name: Vérif si la source nextcloud est téléchargé
-    become: true
-    ansible.builtin.stat:
-      path: "{{ nextcloud_source }}"
-    register: new_nextcloud_source
 
-  - name: Vérif si le dossier common app est créé
-    become: true
-    ansible.builtin.stat:
-      path: "{{ nextcloud_common }}"
-    register: new_nextcloud_common
+    - name: Vérif si la source nextcloud est téléchargé
+      become: true
+      ansible.builtin.stat:
+        path: "{{ nextcloud_source }}"
+      register: new_nextcloud_source
+
+    - name: Vérif si le dossier common app est créé
+      become: true
+      ansible.builtin.stat:
+        path: "{{ nextcloud_common }}"
+      register: new_nextcloud_common
 
-  - name: obtenir l'ancienne version
-    become_user: "{{ nextcloud_websrv_user }}"
-    become: true
-    command: '{{ nextcloud_webroot }}/console status --output=json'
-    register: result
+    - name: Obtenir l'ancienne version  # noqa : command-instead-of-module
+      become_user: "{{ nextcloud_websrv_user }}"
+      become: true
+      ansible.builtin.command: '{{ nextcloud_webroot }}/console status --output=json'
+      register: result
 
-  - name: enregistrer l'ancienne version
-    set_fact: 
-      ancienne_version: "{{ tmp.versionstring }}"
-    vars:
-      tmp: "{{ result.stdout | from_json }}"
+    - name: Enregistrer l'ancienne version
+      ansible.builtin.set_fact:
+        ancienne_version: "{{ tmp.versionstring }}"
+      vars:
+        tmp: "{{ result.stdout | from_json }}"
 
   tasks:
 
-  - include_tasks: tasks/download_nextcloud_source.yml
-    when: not new_nextcloud_source.stat.exists
-    vars:
-      ansible_become: true
-      become_user: nextcloud
+    - name: Include download_nextcloud_source tasks
+      ansible.builtin.include_tasks: tasks/download_nextcloud_source.yml
+      when: not new_nextcloud_source.stat.exists
+      vars:
+        ansible_become: true
+        become_user: nextcloud
 
-  - name: create new app common folder from old version one
-    become_user: nextcloud
-    become: true
-    ansible.builtin.copy: 
-      src: "{{ nextcloud_common_files_path }}/nextcloud-{{ ancienne_version }}/"
-      dest: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
-      remote_src: yes #because the config file is already in the nextcloud_tmp_path
-      mode: '754' #or 'u=rwx,g=rx,o=r'
-    when: not new_nextcloud_common.stat.exists
+    - name: Create new app common folder from old version one
+      become_user: nextcloud
+      become: true
+      ansible.builtin.copy:
+        src: "{{ nextcloud_common_files_path }}/nextcloud-{{ ancienne_version }}/"
+        dest: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
+        remote_src: true # because the config file is already in the nextcloud_tmp_path
+        mode: '754' # or 'u=rwx,g=rx,o=r'
+      when: not new_nextcloud_common.stat.exists
 
-  - include_tasks: tasks/update_nextcloud.yml
+    - name: Include update tasks
+      ansible.builtin.include_tasks: tasks/update_nextcloud.yml
 
-  - name: display upgrade result
-    debug:
-      msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"
+    - name: Display upgrade result
+      ansible.builtin.debug:
+        msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"