52506b8f98
During upgrade testing, move Keystone containers behind an HAProxy load balancer and run a benchmarking tool to make continuous requests against the keystone API, providing summary output at the end of the play. This should help ensure the upgrade process between releases remains without downtime. To avoid service interruptions because of files being replaced during installations: - set the 'keystone_venv_tag' var so that it changes between releases - perform the 'Create WSGI symlinks' task only after the files being linked to exist Benchmarking scripts were provided by: https://github.com/lbragstad/keystone-performance-upgrade Co-Authored-By: Lance Bragstad <lbragstad@gmail.com> Change-Id: I462e6496f125c7e263bbab188e86c45e1f4f7f1e
43 lines
1.5 KiB
YAML
43 lines
1.5 KiB
YAML
---
|
|
# Copyright 2015, 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: Playbook for deploying previous keystone
|
|
hosts: keystone_all
|
|
user: root
|
|
gather_facts: true
|
|
pre_tasks:
|
|
- name: Set keystone_venv_tag fact
|
|
set_fact:
|
|
keystone_venv_tag: testing-previous
|
|
- name: Set keystone_messaging fact
|
|
set_fact:
|
|
keystone_messaging_enabled: "{{ groups['rabbitmq_all'] is defined }}"
|
|
- include: common/ensure-rabbitmq.yml
|
|
vhost_name: "{{ keystone_rabbitmq_vhost }}"
|
|
user_name: "{{ keystone_rabbitmq_userid }}"
|
|
user_password: "{{ keystone_rabbitmq_password }}"
|
|
when: "{{ groups['rabbitmq_all'] is defined }}"
|
|
- include: common/create-grant-db.yml
|
|
db_name: "{{ keystone_galera_database }}"
|
|
db_password: "{{ keystone_container_mysql_password }}"
|
|
roles:
|
|
- role: "os_previous_keystone"
|
|
post_tasks:
|
|
- name: Reset keystone_venv_tag fact
|
|
set_fact:
|
|
keystone_venv_tag: testing
|
|
vars_files:
|
|
- common/previous/test-vars.yml
|