%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /etc/ansible/roles/web/tasks/
Upload File :
Create Path :
Current File : //etc/ansible/roles/web/tasks/delete_site.yml

---
# delete site with defined name - link type
# site_name - name site 
# site_dir  - direcory name for site

######## create, upload variables that used in playbook
#####
- name: gathering facts about deleted site
  delegate_to: "{{ cluster_web_server }}"
  bx_facts: name=status password=0 site={{ web_site_name }} site_dir={{ web_site_dir }}
  tags: configure_site

- name: create variable with site options
  set_fact:
    bx_site_info: "{{ hostvars[inventory_hostname]['bx_sites'][0] }}"
  tags: configure_site

- name: set variables for deleted site
  set_fact:
    web_site_dir:       "{{ bx_site_info.DocumentRoot }}"
    web_site_db:        "{{ bx_site_info.DBName }}"
    web_site_dbuser:    "{{ bx_site_info.DBLogin }}"
    web_site_dbserv:    "{{ bx_site_info.DBHost }}"
    web_site_type:      "{{ bx_site_info.SiteInstall }}"
    web_site_root_dir:  "{{ bx_site_info.DocumentRoot }}"
    web_site_shname:    "{{ bx_site_info.SiteShort }}"
    web_site_csync2:    "{{ bx_site_info.SiteCsync2 }}"
    web_site_cron:      "{{ bx_site_info.CronTask }}"
    web_site_email:     "{{ bx_site_info.EmailAddress }}"
  tags: configure_site

- name: set additional variables
  set_fact:
    web_site_sess_dir:       "{{ bx_site_info.phpSessionDir }}"
    web_site_upld_dir:       "{{ bx_site_info.phpUploadDir }}"
    web_site_ngx_http_link:  "{{ bx_site_info.NginxHTTPEDir }}/{{ bx_site_info.NginxHTTPConfig }}"
    web_site_ngx_https_link: "{{ bx_site_info.NginxHTTPEDir }}/{{ bx_site_info.NginxHTTPSConfig }}"
    web_site_ngx_http_conf:  "{{ bx_site_info.NginxHTTPDir }}/{{ bx_site_info.NginxHTTPConfig }}"
    web_site_ngx_https_conf: "{{ bx_site_info.NginxHTTPDir }}/{{ bx_site_info.NginxHTTPSConfig }}"
    web_site_apache_conf:    "{{ bx_site_info.ApacheConf }}"
    web_site_apache_scale_conf: "{{ bx_site_info.ApacheConfScale }}"
  tags: configure_site
  when: "web_site_type == 'kernel' or web_site_type == 'link'"

# defined is_cluster and bx_sites_info variables
- include: bx_sites_info.yml

- name: web cluster update for site data
  set_fact:
    web_site_dbserv: "{{ master_server }}"
  tags: configure_site
  when: "is_cluster == 'enable'"

#####
######## /create, upload variables that used in playbook

######## delete site configuration data; we don't remove by file, because we need to support older versions
####
- name: delete cron settings
  bx_site_opts: name=cron state=disable site={{ web_site_name }} dir={{ web_site_root_dir  }}
  when: "inventory_hostname == cluster_web_server and web_site_cron == 'enable'"
  ignore_errors: yes

- name: delete email settings
  bx_site_opts: name=mail state=disable site={{ web_site_name }} dir={{ web_site_root_dir }}
  when: "inventory_hostname == cluster_web_server and web_site_email != ''"
  ignore_errors: yes

####
######## /delete site config data

####
######## delete files data
- name: delete site document root
  file: path={{ web_site_root_dir }} state=absent
  tags: dir_site
  when: "'bitrix-web' in group_names"

- name: delete site php-directories
  file: path={{ item }} state=absent
  with_items:
    - "{{ web_site_sess_dir }}"
    - "{{ web_site_upld_dir }}"
  tags: dir_site
  when: "web_site_type != 'ext_kernel' and 'bitrix-web' in group_names"

- name: delete systemd-tmpfiles site config
  file: path=/etc/tmpfiles.d/{{ web_site_name }}.conf state=absent
  when: "'bitrix-web' in group_names and ansible_distribution == 'CentOS' and ansible_distribution_major_version == '7'"


####
######## /delete files data

######## delete config for web services
#####
- name: delete nginx config files
  file: path={{ item }} state=absent
  with_items:
    - "{{ web_site_ngx_http_link }}"
    - "{{ web_site_ngx_https_link }}"
    - "{{ web_site_ngx_http_conf }}"
    - "{{ web_site_ngx_https_conf }}"
  notify: restart nginx
  when: "web_site_type != 'ext_kernel' and 'bitrix-web' in group_names"

- name: delete apache config files
  file: path={{ item }} state=absent
  with_items:
    - "{{ web_site_apache_conf }}"
  notify: restart httpd
  when: "web_site_type != 'ext_kernel' and 'bitrix-web' in group_names"

- name: delete apache config files
  file: path={{ item }} state=absent
  with_items:
    - "{{ web_site_apache_scale_conf }}"
  notify: restart httpd-scale
  when: web_site_type != "ext_kernel" 
    and ansible_distribution_major_version == "7"
    and inventory_hostname == cluster_web_server

- name: change default site root directory
  lineinfile: 
    dest: "/etc/httpd/conf/httpd.conf"
    regexp: "DocumentRoot"
    line: "DocumentRoot '/var/www/html'"
  when: "web_site_name == 'default' and 'bitrix-web' in group_names"
  notify: restart httpd

- name: change default site root directory
  lineinfile: 
    dest: /etc/httpd/conf/httpd-scale.conf
    regexp: "DocumentRoot"
    line: "DocumentRoot '/var/www/html'"
  when: web_site_name == "default" 
    and ansible_distribution_major_version == "7"
    and inventory_hostname == cluster_web_server
  notify: restart httpd-scale

- name: add listen directive to httpd config
  lineinfile: 
    dest: /etc/httpd/conf/httpd.conf
    line: "Listen 127.0.0.1:8888" 
    state: present 
  when: "web_site_name == 'default' and 'bitrix-web' in group_names"
  notify: restart httpd

- name: add listen directive to httpd config
  lineinfile: 
    dest: /etc/httpd/conf/httpd-scale.conf
    line: "Listen 127.0.0.1:9887" 
    state: present 
  when: web_site_name == "default" 
    and ansible_distribution_major_version == "7"
    and inventory_hostname == cluster_web_server
  notify: restart httpd-scale

####
######## /delete config for web services

######## /delete database from mysql server
####
- include: delete_db.yml
  when: "web_site_type == 'kernel' or web_site_type == 'ext_kernel'"
####
######## /delete database from mysql server

######## delete csync configuration
####
- include: delete_csync2.yml
  when: "fstype is defined and cluster_web_configure == 'enable' and fstype == 'csync'"

- include: configs_lsyncd_delete_site.yml
  when: "fstype is defined and cluster_web_configure == 'enable' and fstype == 'lsync'"

####
######## /delete csync configuration

Zerion Mini Shell 1.0