8352a09e32
In a multiple host deployment, the deploying host (which runs the playbooks) may not be the host for the containers being destroyed. Therefore, flush-net-cache is not performed on the deploying host. This would cause connectivity problem between the deploying host and the containers before the staled net cache timed out ultimately. Therefore, the local host shall always perform flush-net-cache when a container is destroyed. Change-Id: Iac0afa58084d35d285067c404de85e3466ba62e9 Closes-Bug: #1469285
67 lines
2.0 KiB
YAML
67 lines
2.0 KiB
YAML
---
|
|
# Copyright 2014, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Destroy lxc containers
|
|
hosts: "{{ container_group|default('all_containers') }}"
|
|
max_fail_percentage: 20
|
|
gather_facts: false
|
|
user: root
|
|
tasks:
|
|
- name: Destroy a container
|
|
lxc_container:
|
|
name: "{{ container_name }}"
|
|
state: "absent"
|
|
delegate_to: "{{ physical_host }}"
|
|
tags:
|
|
- container-destroy
|
|
- name: Destroy container service directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: "absent"
|
|
with_items:
|
|
- "/openstack/{{ container_name }}"
|
|
- "/openstack/backup/{{ container_name }}"
|
|
- "/openstack/log/{{ container_name }}"
|
|
- "/var/lib/lxc/{{ container_name }}"
|
|
- "{{ lxc_container_directory|default('/var/lib/lxc') }}/{{ container_name }}"
|
|
delegate_to: "{{ physical_host }}"
|
|
tags:
|
|
- container-directories
|
|
|
|
- name: Flush network cache on lxc host
|
|
hosts: "hosts"
|
|
max_fail_percentage: 20
|
|
gather_facts: false
|
|
user: root
|
|
tasks:
|
|
- name: Flush net cache
|
|
command: /usr/local/bin/lxc-system-manage flush-net-cache
|
|
delegate_to: "{{ physical_host }}"
|
|
tags:
|
|
- flush-net-cache
|
|
|
|
- name: Ensure flushing network cache on local host
|
|
hosts: 127.0.0.1
|
|
connection: local
|
|
max_fail_percentage: 20
|
|
gather_facts: false
|
|
user: root
|
|
tasks:
|
|
- name: Flush net cache
|
|
command: /usr/local/bin/lxc-system-manage flush-net-cache
|
|
tags:
|
|
- flush-net-cache
|
|
- flush-net-cache-local
|