Add container/service clean up for ironic/trove
When upgrading from pike to queens there are the following changes to the container/service setup: 1. The ironic conductor service has been consolidated into the ironic_api_container. The previously implemented ironic_conductor_container can be removed. 2. All trove services have been consolidated into the trove_api_container. The previously implemented trove_conductor_container and trove_taskmanager_container can be removed. Change-Id: I6964fa54ee67ec651b61a675a61acf55f86158bb
This commit is contained in:
parent
2173902760
commit
e44e518b3c
@ -274,8 +274,15 @@ changes to the container/service setup:
|
||||
# A new ``heat_api`` container is created with all heat services
|
||||
running in it. The previously implemented ``heat_apis_container``
|
||||
and ``heat_engine_container`` can be removed.
|
||||
# The ironic conductor service has been consolidated into
|
||||
the ``ironic_api_container``. The previously implemented
|
||||
``ironic_conductor_container`` can be removed.
|
||||
# All nova services are consolidated into the ``nova_api_container``
|
||||
and the rest of the nova containers can be removed.
|
||||
# All trove services have been consolidated into the
|
||||
``trove_api_container``. The previously implemented
|
||||
``trove_conductor_container`` and ``trove_taskmanager_container``
|
||||
can be removed.
|
||||
|
||||
This cleanup can be done by hand, or the playbooks provided
|
||||
can be used to do it for you from the deployment node. The
|
||||
@ -292,5 +299,7 @@ from the haproxy configuration.
|
||||
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/cleanup-cinder.yml" -e force_containers_destroy=yes -e force_containers_data_destroy=yes
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/cleanup-heat.yml" -e force_containers_destroy=yes -e force_containers_data_destroy=yes
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/cleanup-ironic.yml" -e force_containers_destroy=yes -e force_containers_data_destroy=yes
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/cleanup-nova.yml" -e force_containers_destroy=yes -e force_containers_data_destroy=yes
|
||||
# openstack-ansible "${UPGRADE_PLAYBOOKS}/cleanup-trove.yml" -e force_containers_destroy=yes -e force_containers_data_destroy=yes
|
||||
# openstack-ansible --tags haproxy_server-config haproxy-install.yml
|
||||
|
@ -10,8 +10,15 @@ upgrade:
|
||||
* A new ``heat_api`` container is created with all heat services
|
||||
running in it. The previously implemented ``heat_apis_container``
|
||||
and ``heat_engine_container`` can be removed.
|
||||
* The ironic conductor service has been consolidated into
|
||||
the ``ironic_api_container``. The previously implemented
|
||||
``ironic_conductor_container`` can be removed.
|
||||
* All nova services are consolidated into the ``nova_api_container``
|
||||
and the rest of the nova containers can be removed.
|
||||
* All trove services have been consolidated into the
|
||||
``trove_api_container``. The previously implemented
|
||||
``trove_conductor_container`` and ``trove_taskmanager_container``
|
||||
can be removed.
|
||||
|
||||
Playbooks have been added to facilitate this process through
|
||||
automation. Please see the ``Major upgrades`` chapter in the
|
||||
|
@ -203,6 +203,8 @@ function main {
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/cleanup-nova.yml -e force_containers_destroy=yes -e force_containers_data_destroy=yes")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/cleanup-cinder.yml -e force_containers_destroy=yes -e force_containers_data_destroy=yes")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/cleanup-heat.yml -e force_containers_destroy=yes -e force_containers_data_destroy=yes")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/cleanup-ironic.yml -e force_containers_destroy=yes -e force_containers_data_destroy=yes")
|
||||
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/cleanup-trove.yml -e force_containers_destroy=yes -e force_containers_data_destroy=yes")
|
||||
RUN_TASKS+=("haproxy-install.yml --tags haproxy_server-config")
|
||||
# Run the tasks in order
|
||||
for item in ${!RUN_TASKS[@]}; do
|
||||
|
42
scripts/upgrade-utilities/playbooks/cleanup-ironic.yml
Normal file
42
scripts/upgrade-utilities/playbooks/cleanup-ironic.yml
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
# Copyright 2018, 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.
|
||||
|
||||
- hosts: ironic_conductor_container
|
||||
become: yes
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: Gather the necessary facts
|
||||
setup:
|
||||
gather_subset: "!facter,!ohai"
|
||||
|
||||
- name: Shut down ironic services in containers which will be deleted
|
||||
service:
|
||||
name: "ironic-conductor"
|
||||
enabled: no
|
||||
state: stopped
|
||||
|
||||
- include: "{{ playbook_dir }}/../../../playbooks/lxc-containers-destroy.yml"
|
||||
vars:
|
||||
container_group: "ironic_conductor_container"
|
||||
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: Remove the inventory entries for the deleted containers
|
||||
command: >-
|
||||
{{ playbook_dir }}/../../inventory-manage.py -r {{ item }}
|
||||
with_items: "{{ groups['ironic_conductor_container'] }}"
|
44
scripts/upgrade-utilities/playbooks/cleanup-trove.yml
Normal file
44
scripts/upgrade-utilities/playbooks/cleanup-trove.yml
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
# Copyright 2018, 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.
|
||||
|
||||
- hosts: trove_conductor_container:trove_taskmanager_container
|
||||
become: yes
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: Gather the necessary facts
|
||||
setup:
|
||||
gather_subset: "!facter,!ohai"
|
||||
|
||||
- name: Shut down trove services in containers which will be deleted
|
||||
service:
|
||||
name: >-
|
||||
{{ ansible_hostname | regex_replace('^.*-(trove)-(conductor|taskmanager)-container-[\\w\\d]+$', '\\1-\\2') }}
|
||||
enabled: no
|
||||
state: stopped
|
||||
|
||||
- include: "{{ playbook_dir }}/../../../playbooks/lxc-containers-destroy.yml"
|
||||
vars:
|
||||
container_group: "trove_conductor_container:trove_taskmanager_container"
|
||||
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: Remove the inventory entries for the deleted containers
|
||||
command: >-
|
||||
{{ playbook_dir }}/../../inventory-manage.py -r {{ item }}
|
||||
with_items: "{{ groups['trove_conductor_container'] +
|
||||
groups['trove_taskmanager_container'] }}"
|
Loading…
Reference in New Issue
Block a user