Adds a step0 for pre upgrade-init checks

Adds a step0 for any pre-upgrade checks. This migrates
some of the checks we have at the top of
extraconfig/tasks/major_upgrade_controller_pacemaker_1.sh

Checks for other services (and for the cluster) will follow
in separate commits.

Partially-Implements: blueprint overcloud-upgrades-per-service
Change-Id: I607f1fed68d7f11773484c3d7cb3e5af67465d57
This commit is contained in:
marios 2016-12-08 15:04:48 +02:00 committed by Athlan-Guyot sofer
parent 9245880ae4
commit 7ac5ef5f85
4 changed files with 18 additions and 3 deletions

View File

@ -19,7 +19,7 @@ resources:
# Upgrade Steps for all roles
# FIXME(shardy): would be nice to make the number of steps configurable
{% for step in range(1, 8) %}
{% for step in range(0, 8) %}
{% for role in roles %}
# Step {{step}} resources
{{role.name}}UpgradeConfig_Step{{step}}:
@ -28,7 +28,7 @@ resources:
# serialization, but the event output is easier to follow if we
# do, and there should be minimal performance hit (creating the
# config is cheap compared to the time to apply the deployment).
{% if step > 1 %}
{% if step > 0 %}
depends_on:
{% for dep in roles %}
- {{dep.name}}Upgrade_Step{{step -1}}
@ -40,7 +40,7 @@ resources:
{{role.name}}Upgrade_Step{{step}}:
type: OS::Heat::StructuredDeploymentGroup
{% if step > 1 %}
{% if step > 0 %}
depends_on:
{% for dep in roles %}
- {{dep.name}}Upgrade_Step{{step -1}}

View File

@ -95,6 +95,9 @@ outputs:
step_config: |
include ::tripleo::profile::base::database::mysql
upgrade_tasks:
- name: Check for galera root password
tags: step0
file: path=/root/.my.cnf state=file
- name: Stop service
tags: step2
service: name=mariadb state=stopped

View File

@ -53,3 +53,7 @@ outputs:
get_param: [ServiceNetMap, MysqlNetwork]
step_config: |
include ::tripleo::profile::pacemaker::database::mysql
upgrade_tasks:
- name: Check for galera root password
tags: step0
file: path=/root/.my.cnf state=file

View File

@ -33,6 +33,14 @@ outputs:
step_config: |
include ::tripleo::packages
upgrade_tasks:
- name: Check yum for rpm-python present
tags: step0
yum: "name=rpm-python state=present"
register: rpm_python_check
- name: Fail when rpm-python wasn't present
fail: msg="rpm-python package was not present before this run! Check environment before re-running"
when: rpm_python_check.changed != false
tags: step0
- name: Update all packages
tags: step3
yum: name=* state=latest