Fail Fast when trying to upgrade with LBaaS v1 enabled

Because LBaaS v1 isn't supported in Newton and we can't
migrate, deployer will have to manually disable LBaaS v1
before doing the upgrade.

Change-Id: I0aa309aa7adbdb37b333a550423b0d3b938c3923
This commit is contained in:
Jean-Philippe Evrard 2016-06-02 18:33:44 +01:00
parent 2afb96327c
commit 8d73290545
4 changed files with 58 additions and 0 deletions

View File

@ -63,6 +63,25 @@ inventory is found automatically.
# cd playbooks
Pre-flight checks
~~~~~~~~~~~~~~~~~
Before starting with the new version, you should do pre-flight checks
to ensure everything is fine. If any of those check fail, the upgrade
should stop to let the deployer chose what to do.
Making sure LBaaS v1 isn't in the way
`````````````````````````````````````
Because LBaaS was deprecated, this playbook checks if it was previously
deployed, and fails if this is the case.
See :ref:`lbaas-version-check` for more details.
.. code-block:: console
# openstack-ansible "${UPGRADE_PLAYBOOKS}/lbaas-version-check.yml"
Cleanup old facts
~~~~~~~~~~~~~~~~~

View File

@ -9,6 +9,19 @@ Within the main :file:`scripts` directory there is an :file:`upgrade-utilities`
directory, which contains an additional playbooks directory. These playbooks
facilitate the upgrade process.
.. _lbaas-version-check:
lbaas-version-check.yml
-----------------------
This playbook is part of the general pre-flight checks.
Because LBaaS v1 isn't supported in Newton and above, and there is no
migration path, the deployer will have to manually disable LBaaS v1 before
upgrading. For openstack-ansible, we are checking if ``neutron_lbaas`` is
set to ``False``, but additional operations are to be done by the deployer for
the cleanup.
.. _fact-cleanup-playbook:
``ansible_fact_cleanup.yml``

View File

@ -141,6 +141,7 @@ function main {
"${SCRIPTS_PATH}/bootstrap-ansible.sh"
pushd ${MAIN_PATH}/playbooks
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/lbaas-version-check.yml")
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/ansible_fact_cleanup.yml")
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/deploy-config-changes.yml")
RUN_TASKS+=("${UPGRADE_PLAYBOOKS}/user-secrets-adjustment.yml")

View File

@ -0,0 +1,25 @@
---
# Copyright 2016, 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: Fail fast if LBaaS v1 is configured
hosts: localhost
connection: local
tasks:
- name: Checking if neutron_lbaas variable exists
fail:
msg: |
LBaaS v1 isn't supported in Newton. Please read:
http://docs.openstack.org/developer/openstack-ansible/install-guide/configure-network-services.html#load-balancing-service-optional
when: neutron_lbaas | bool