Projet

Général

Profil

0001-add-delete_all_tenants-option-to-delete-every-tenant.patch

Emmanuel Cazenave, 19 janvier 2022 14:31

Télécharger (5,7 ko)

Voir les différences:

Subject: [PATCH] add delete_all_tenants option to delete every tenants
 (#60811)

 delete-tenants.yml       | 77 +++++++++++++++++++++++++---------------
 group_vars/all           |  1 +
 tasks/delete_tenants.yml | 22 ++++++++++++
 3 files changed, 72 insertions(+), 28 deletions(-)
 create mode 100644 tasks/delete_tenants.yml
delete-tenants.yml
1 1
---
2
- name: delete all publik tenants
2
- name: delete publik tenants
3 3
  hosts: local
4 4
  vars:
5 5
    venv_py3_bin: "{{venv_py3}}/bin"
......
7 7
    - facts
8 8

  
9 9
  tasks:
10
    - name: "delete hobo tenant"
11
      command: "{{venv_py3_bin}}/{{apps['hobo']['project_name']}}-manage delete_tenant {{tenants_conf['dev-hobo']}}"
12
      ignore_errors: yes
13 10

  
14
    - name: "delete combo user tenant"
15
      command: "{{venv_py3_bin}}/{{apps['combo']['project_name']}}-manage delete_tenant {{tenants_conf['user-combo']}}"
16
      ignore_errors: yes
11
    - import_tasks: tasks/delete_tenants.yml
12
      vars:
13
        app: hobo
14
        tenant_dir: /var/lib/hobo/tenants
15
        tenants: "{{[tenants_conf['dev-hobo']]}}"
16
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['hobo']['project_name']}}-manage delete_tenant"
17 17

  
18
    - name: "delete combo agent tenant"
19
      command: "{{venv_py3_bin}}/{{apps['combo']['project_name']}}-manage delete_tenant {{tenants_conf['agent-combo']}}"
20
      ignore_errors: yes
18
    - import_tasks: tasks/delete_tenants.yml
19
      vars:
20
        app: combo
21
        tenant_dir: /var/lib/combo/tenants
22
        tenants: "{{[tenants_conf['user-combo'], tenants_conf['agent-combo']]}}"
23
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['combo']['project_name']}}-manage delete_tenant"
21 24

  
22
    - name: "delete authentic tenant"
23
      command: "{{venv_py3_bin}}/{{apps['authentic']['project_name']}}-manage delete_tenant {{tenants_conf['connexion-authentic']}}"
24
      ignore_errors: yes
25
    - import_tasks: tasks/delete_tenants.yml
26
      vars:
27
        app: authentic
28
        tenant_dir: /var/lib/authentic2-multitenant/tenants
29
        tenants: "{{[tenants_conf['connexion-authentic']]}}"
30
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['authentic']['project_name']}}-manage delete_tenant"
25 31

  
26
    - name: "delete wcs tenant"
27
      command: "{{venv_py3_bin}}/wcsctl.py delete_tenant {{tenants_conf['demarches-wcs']}}"
28
      ignore_errors: yes
32
    - import_tasks: tasks/delete_tenants.yml
33
      vars:
34
        app: wcs
35
        tenant_dir: /var/lib/wcs/tenants
36
        tenants: "{{[tenants_conf['demarches-wcs']]}}"
37
        delete_tenant_cmd: "{{venv_py3_bin}}/wcsctl.py delete_tenant"
29 38

  
30
    - name: "delete fargo tenant"
31
      command: "{{venv_py3_bin}}/{{apps['fargo']['project_name']}}-manage delete_tenant {{tenants_conf['dev-fargo']}}"
32
      ignore_errors: yes
39
    - import_tasks: tasks/delete_tenants.yml
40
      vars:
41
        app: fargo
42
        tenant_dir: /var/lib/fargo/tenants
43
        tenants: "{{[tenants_conf['dev-fargo']]}}"
44
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['fargo']['project_name']}}-manage delete_tenant"
33 45

  
34
    - name: "delete chrono tenant"
35
      command: "{{venv_py3_bin}}/{{apps['chrono']['project_name']}}-manage delete_tenant {{tenants_conf['dev-chrono']}}"
36
      ignore_errors: yes
46
    - import_tasks: tasks/delete_tenants.yml
47
      vars:
48
        app: chrono
49
        tenant_dir: /var/lib/chrono/tenants
50
        tenants: "{{[tenants_conf['dev-chrono']]}}"
51
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['chrono']['project_name']}}-manage delete_tenant"
37 52

  
38
    - name: "delete passerelle tenant"
39
      command: "{{venv_py3_bin}}/{{apps['passerelle']['project_name']}}-manage delete_tenant {{tenants_conf['dev-passerelle']}}"
40
      ignore_errors: yes
53
    - import_tasks: tasks/delete_tenants.yml
54
      vars:
55
        app: passerelle
56
        tenant_dir: /var/lib/passerelle/tenants
57
        tenants: "{{[tenants_conf['dev-passerelle']]}}"
58
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['passerelle']['project_name']}}-manage delete_tenant"
41 59

  
42
    - name: "delete bijoe tenant"
43
      command: "{{venv_py3_bin}}/{{apps['bijoe']['project_name']}}-manage delete_tenant {{tenants_conf['dev-bijoe']}}"
44
      ignore_errors: yes
60
    - import_tasks: tasks/delete_tenants.yml
61
      vars:
62
        app: bijoe
63
        tenant_dir: /var/lib/bijoe/tenants
64
        tenants: "{{[tenants_conf['dev-bijoe']]}}"
65
        delete_tenant_cmd: "{{venv_py3_bin}}/{{apps['bijoe']['project_name']}}-manage delete_tenant"
group_vars/all
1 1
clean_venv: false
2 2
compile_theme: true
3 3
django_version: 2.2.24
4
delete_all_tenants: false
4 5
git_ssh: false
5 6
devinst_share: /usr/local/share/publik-devinst
6 7
publik_conf: "/home/{{user}}/.config/publik"
tasks/delete_tenants.yml
1
- name: "Delete {{app}} main tenants"
2
  command: "{{delete_tenant_cmd}} {{item}}"
3
  ignore_errors: yes
4
  loop: "{{tenants}}"
5
  when: not delete_all_tenants
6

  
7
- name: "Find all {{app}} tenants"
8
  ansible.builtin.find:
9
    paths: "{{tenant_dir}}"
10
    recurse: no
11
    file_type: directory
12
    use_regex: true
13
    excludes: '.*\.invalid$'
14
  register: all_tenants
15
  when: delete_all_tenants
16

  
17
- name: "Delete all {{app}} tenants"
18
  command: "{{delete_tenant_cmd}} {{item.path | basename}}"
19
  loop: "{{all_tenants.files}}"
20
  when: delete_all_tenants
21

  
22

  
0
-