diff options
Diffstat (limited to 'ci/ansible/roles/cleaner')
-rw-r--r--[-rwxr-xr-x] | ci/ansible/roles/cleaner/tasks/main.yml | 355 |
1 files changed, 188 insertions, 167 deletions
diff --git a/ci/ansible/roles/cleaner/tasks/main.yml b/ci/ansible/roles/cleaner/tasks/main.yml index c1c465c..4b3b0c2 100755..100644 --- a/ci/ansible/roles/cleaner/tasks/main.yml +++ b/ci/ansible/roles/cleaner/tasks/main.yml @@ -1,167 +1,188 @@ ---- -- name: remove golang tarball - file: - path: "/opt/{{ golang_tarball }}" - state: absent - force: yes - ignore_errors: yes - -- name: kill etcd daemon service - shell: killall etcd - ignore_errors: yes - when: db_driver == "etcd" and container_enabled == false - -- name: kill etcd containerized service - docker: - image: quay.io/coreos/etcd:latest - state: stopped - when: container_enabled == true - -- name: remove etcd service data - file: - path: "{{ etcd_dir }}" - state: absent - force: yes - ignore_errors: yes - when: db_driver == "etcd" - -- name: remove etcd tarball - file: - path: "/opt/{{ etcd_tarball }}" - state: absent - force: yes - ignore_errors: yes - when: db_driver == "etcd" - -- name: kill osdslet daemon service - shell: killall osdslet - ignore_errors: yes - when: container_enabled == false - -- name: kill osdslet containerized service - docker: - image: opensdsio/opensds-controller:latest - state: stopped - when: container_enabled == true - -- name: kill osdsdock daemon service - shell: killall osdsdock - ignore_errors: yes - when: container_enabled == false - -- name: kill osdsdock containerized service - docker: - image: opensdsio/opensds-dock:latest - state: stopped - when: container_enabled == true - -- name: clean all opensds build files - shell: . /etc/profile; make clean - args: - chdir: "{{ opensds_root_dir }}" - -- name: clean all opensds configuration files - file: - path: "{{ opensds_config_dir }}" - state: absent - force: yes - ignore_errors: yes - -- name: clean all opensds log files - file: - path: "{{ opensds_log_dir }}" - state: absent - force: yes - ignore_errors: yes - -- name: check if it existed before cleaning a volume group - shell: vgdisplay {{ vg_name }} - ignore_errors: yes - register: vg_existed - when: enabled_backend == "lvm" - -- name: remove a volume group if lvm backend specified - shell: vgremove {{ vg_name }} - when: enabled_backend == "lvm" and vg_existed.rc == 0 - -- name: check if it existed before cleaning a physical volume - shell: pvdisplay {{ pv_device }} - ignore_errors: yes - register: pv_existed - when: enabled_backend == "lvm" - -- name: remove a physical volume if lvm backend specified - shell: pvremove {{ pv_device }} - when: enabled_backend == "lvm" and pv_existed.rc == 0 - -- name: stop cinder-standalone service - shell: docker-compose down - become: true - args: - chdir: "{{ cinder_data_dir }}/cinder/contrib/block-box" - when: enabled_backend == "cinder" - -- name: clean the volume group of cinder - shell: - _raw_params: | - - # _clean_lvm_volume_group removes all default LVM volumes - # - # Usage: _clean_lvm_volume_group $vg - function _clean_lvm_volume_group { - local vg=$1 - - # Clean out existing volumes - sudo lvremove -f $vg - } - - # _remove_lvm_volume_group removes the volume group - # - # Usage: _remove_lvm_volume_group $vg - function _remove_lvm_volume_group { - local vg=$1 - - # Remove the volume group - sudo vgremove -f $vg - } - - # _clean_lvm_backing_file() removes the backing file of the - # volume group - # - # Usage: _clean_lvm_backing_file() $backing_file - function _clean_lvm_backing_file { - local backing_file=$1 - - # If the backing physical device is a loop device, it was probably setup by DevStack - if [[ -n "$backing_file" ]] && [[ -e "$backing_file" ]]; then - local vg_dev - vg_dev=$(sudo losetup -j $backing_file | awk -F':' '/'.img'/ { print $1}') - if [[ -n "$vg_dev" ]]; then - sudo losetup -d $vg_dev - fi - rm -f $backing_file - fi - } - - # clean_lvm_volume_group() cleans up the volume group and removes the - # backing file - # - # Usage: clean_lvm_volume_group $vg - function clean_lvm_volume_group { - local vg=$1 - - _clean_lvm_volume_group $vg - _remove_lvm_volume_group $vg - # if there is no logical volume left, it's safe to attempt a cleanup - # of the backing file - if [[ -z "$(sudo lvs --noheadings -o lv_name $vg 2>/dev/null)" ]]; then - _clean_lvm_backing_file {{ cinder_data_dir }}/${vg}.img - fi - } - - clean_lvm_volume_group {{cinder_volume_group}} - - args: - executable: /bin/bash - become: true - when: enabled_backend == "cinder" +---
+- name: kill osdslet daemon service
+ shell: killall osdslet
+ ignore_errors: yes
+ when: container_enabled == false
+
+- name: kill osdslet containerized service
+ docker:
+ image: opensdsio/opensds-controller:latest
+ state: stopped
+ when: container_enabled == true
+
+- name: kill osdsdock daemon service
+ shell: killall osdsdock
+ ignore_errors: yes
+ when: container_enabled == false
+
+- name: kill osdsdock containerized service
+ docker:
+ image: opensdsio/opensds-dock:latest
+ state: stopped
+ when: container_enabled == true
+
+- name: kill etcd daemon service
+ shell: killall etcd
+ ignore_errors: yes
+ when: db_driver == "etcd" and container_enabled == false
+
+- name: kill etcd containerized service
+ docker:
+ image: quay.io/coreos/etcd:latest
+ state: stopped
+ when: db_driver == "etcd" and container_enabled == true
+
+- name: remove etcd service data
+ file:
+ path: "{{ etcd_dir }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+ when: db_driver == "etcd"
+
+- name: remove etcd tarball
+ file:
+ path: "/opt/{{ etcd_tarball }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+ when: db_driver == "etcd"
+
+- name: clean opensds release files
+ file:
+ path: "{{ opensds_dir }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+
+- name: clean opensds release tarball file
+ file:
+ path: "{{ opensds_tarball_url }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+
+- name: clean opensds flexvolume plugins binary file
+ file:
+ path: "{{ flexvolume_plugin_dir }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+ when: nbp_plugin_type == "flexvolume"
+
+- name: clean nbp release files
+ file:
+ path: "{{ nbp_dir }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+
+- name: clean nbp release tarball file
+ file:
+ path: "{{ nbp_tarball_url }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+
+- name: clean all opensds configuration files
+ file:
+ path: "{{ opensds_config_dir }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+
+- name: clean all opensds log files
+ file:
+ path: "{{ opensds_log_dir }}"
+ state: absent
+ force: yes
+ ignore_errors: yes
+
+- name: check if it existed before cleaning a volume group
+ shell: vgdisplay {{ vg_name }}
+ ignore_errors: yes
+ register: vg_existed
+ when: enabled_backend == "lvm"
+
+- name: remove a volume group if lvm backend specified
+ lvg:
+ vg: "{{ vg_name }}"
+ state: absent
+ when: enabled_backend == "lvm" and vg_existed.rc == 0
+
+- name: remove physical volumes if lvm backend specified
+ shell: pvremove {{ item }}
+ with_items: "{{ pv_devices }}"
+ when: enabled_backend == "lvm"
+
+- name: stop cinder-standalone service
+ shell: docker-compose down
+ become: true
+ args:
+ chdir: "{{ cinder_data_dir }}/cinder/contrib/block-box"
+ when: enabled_backend == "cinder"
+
+- name: clean the volume group of cinder
+ shell:
+ _raw_params: |
+
+ # _clean_lvm_volume_group removes all default LVM volumes
+ #
+ # Usage: _clean_lvm_volume_group $vg
+ function _clean_lvm_volume_group {
+ local vg=$1
+
+ # Clean out existing volumes
+ sudo lvremove -f $vg
+ }
+
+ # _remove_lvm_volume_group removes the volume group
+ #
+ # Usage: _remove_lvm_volume_group $vg
+ function _remove_lvm_volume_group {
+ local vg=$1
+
+ # Remove the volume group
+ sudo vgremove -f $vg
+ }
+
+ # _clean_lvm_backing_file() removes the backing file of the
+ # volume group
+ #
+ # Usage: _clean_lvm_backing_file() $backing_file
+ function _clean_lvm_backing_file {
+ local backing_file=$1
+
+ # If the backing physical device is a loop device, it was probably setup by DevStack
+ if [[ -n "$backing_file" ]] && [[ -e "$backing_file" ]]; then
+ local vg_dev
+ vg_dev=$(sudo losetup -j $backing_file | awk -F':' '/'.img'/ { print $1}')
+ if [[ -n "$vg_dev" ]]; then
+ sudo losetup -d $vg_dev
+ fi
+ rm -f $backing_file
+ fi
+ }
+
+ # clean_lvm_volume_group() cleans up the volume group and removes the
+ # backing file
+ #
+ # Usage: clean_lvm_volume_group $vg
+ function clean_lvm_volume_group {
+ local vg=$1
+
+ _clean_lvm_volume_group $vg
+ _remove_lvm_volume_group $vg
+ # if there is no logical volume left, it's safe to attempt a cleanup
+ # of the backing file
+ if [[ -z "$(sudo lvs --noheadings -o lv_name $vg 2>/dev/null)" ]]; then
+ _clean_lvm_backing_file {{ cinder_data_dir }}/${vg}.img
+ fi
+ }
+
+ clean_lvm_volume_group {{cinder_volume_group}}
+
+ args:
+ executable: /bin/bash
+ become: true
+ when: enabled_backend == "cinder"
|