-
Notifications
You must be signed in to change notification settings - Fork 3
/
deploy-config-changes.yml.save
89 lines (80 loc) · 3.35 KB
/
deploy-config-changes.yml.save
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
# 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: Upgrade environment/inventory configuration
hosts: localhost
connection: local
gather_facts: false
user: root
vars:
upgrade_scripts: "{{ playbook_dir }}/../scripts"
repo_root_dir: "{{ playbook_dir }}/../../../"
source_series: "pike"
ansible_python_interpreter: "/usr/bin/python"
tasks:
- name: Create an old copy of openstack_deploy
copy:
src: "/etc/openstack_deploy/"
dest: "/etc/openstack_deploy.{{ source_series | upper }}/"
force: no
- name: Check if there is a user-space env.d directory
stat:
path: "/etc/openstack_deploy/env.d"
register: _envd_dir
- block:
- name: Retrieve differences
shell: rsync -avun "{{ repo_root_dir }}/inventory/env.d/" "/etc/openstack_deploy/env.d/" | grep "yml$"
failed_when: false
register: diff_result
- name: Copy new env.d files into place
copy:
src: "{{ repo_root_dir }}/inventory/env.d/{{ item }}"
dest: "/etc/openstack_deploy/env.d/{{ item }}"
force: no
with_items:
- "{{ diff_result.stdout_lines }}"
when: diff_result.stdout != ""
- name: Check result for emptiness
debug: msg="All new env.d files are placed in the stock repo. No new changes"
when: diff_result.stdout == ""
when: _envd_dir.stat.exists | bool
- name: Update OpenStack variable names
command: "{{ upgrade_scripts }}/migrate_openstack_vars.py {{ item }} {{ (item | basename)[:-4] }}"
args:
creates: "/etc/openstack_deploy.{{ source_series | upper }}/VARS_MIGRATED_{{ (item | basename)[:-4] }}"
with_fileglob:
- "/etc/openstack_deploy/user_*.yml"
- name: Write vars required for upgrade
lineinfile:
dest: /etc/openstack_deploy/user_variables.yml
regexp: "{{ item.regexp | default('^' + item.key) }}"
line: "{{ item.key }}: {{ item.value }}"
backrefs: "{{ item.backrefs | default('no') }}"
state: present
with_items:
# Replace "10.0" with "10.1" within galera_repo_url
- key: "galera_repo_url"
regexp: '^galera_repo_url: (https?://.*10)\.0(.*)$'
value: '\1.1\2'
backrefs: yes
# Replace "10.0" with "10.1" within galera_client_apt_repo_url
- key: "galera_client_apt_repo_url"
regexp: '^galera_client_apt_repo_url: (https?://.*10)\.0(.*)$'
value: '\1.1\2'
backrefs: yes
# Replace "10.0" with "10.1" within galera_client_repo_url
- key: "galera_client_repo_url"
regexp: '^galera_client_repo_url: (https?://.*10)\.0(.*)$'
value: '\1.1\2'
backrefs: yes