Fix rolling upgrade test

The rolling upgrade test is currently not setting
the endpoint correctly due to 'keystone_upgrade'
not being defined.

This patch removes the requirement to define the
var by ensuring that the role always uses haproxy.
This prevents having to remember to set the var
when doing development and makes better sense for
test purposes anyway.

This patch also serialises the upgrade and ensures
that the backend is set into maintenance mode when
the upgrade is actioned.

Change-Id: I8f16495607abb871390d28c0b3e9b2b856dda097
Depends-On: I5cbb3824430dc09b36476f81e0cdfd4f0a15f497
This commit is contained in:
Jesse Pretorius 2017-06-16 17:35:09 +00:00
parent a66bc38593
commit ed136ef79c
5 changed files with 9 additions and 26 deletions

View File

@ -30,5 +30,8 @@ keystone2
[utility_all] [utility_all]
keystone1 keystone1
[haproxy_all] [haproxy_all:children]
haproxy
[haproxy]
localhost localhost

View File

@ -28,7 +28,7 @@ tempest_test_whitelist:
external_lb_vip_address: 10.1.0.1 external_lb_vip_address: 10.1.0.1
internal_lb_vip_address: 10.1.0.1 internal_lb_vip_address: 10.1.0.1
test_keystone_host: "{{ (keystone_upgrade is defined) | ternary(external_lb_vip_address, hostvars[groups[test_keystone_group][0]]['ansible_host']) }}" test_keystone_host: "{{ external_lb_vip_address }}"
# For upgrades we need haproxy variables # For upgrades we need haproxy variables
haproxy_default_services: haproxy_default_services:

View File

@ -1,23 +0,0 @@
---
# Copyright 2017, 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: Install haproxy
hosts: localhost
become: true
roles:
- role: "haproxy_server"
haproxy_service_configs: "{{ haproxy_default_services }}"
vars_files:
- os_keystone-overrides.yml

View File

@ -26,7 +26,7 @@
- include: common/test-prepare-containers.yml - include: common/test-prepare-containers.yml
# Install haproxy # Install haproxy
- include: test-install-haproxy.yml - include: common/test-install-haproxy.yml
# Install RabbitMQ/MariaDB # Install RabbitMQ/MariaDB
- include: common/test-install-infra.yml - include: common/test-install-infra.yml

View File

@ -22,6 +22,9 @@
# Prepare the containers # Prepare the containers
- include: common/test-prepare-containers.yml - include: common/test-prepare-containers.yml
# Install haproxy
- include: common/test-install-haproxy.yml
# Install RabbitMQ/MariaDB # Install RabbitMQ/MariaDB
- include: common/test-install-infra.yml - include: common/test-install-infra.yml