From e2f62f93bd6e00a8e31414623d39343ca9b0ba3c Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Wed, 8 Mar 2017 12:49:17 +0000 Subject: [PATCH] Check if env.d folder exists for upgrades If an env.d folder does not exist then no actions should be done relating to the contents of the folder. Change-Id: I3ea94aa2882cba6dd8cc9550bac68fedcc4658b7 --- .../playbooks/deploy-config-changes.yml | 43 +++++++++++-------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/scripts/upgrade-utilities/playbooks/deploy-config-changes.yml b/scripts/upgrade-utilities/playbooks/deploy-config-changes.yml index f779e9765e..9774229bd3 100644 --- a/scripts/upgrade-utilities/playbooks/deploy-config-changes.yml +++ b/scripts/upgrade-utilities/playbooks/deploy-config-changes.yml @@ -22,26 +22,35 @@ - name: Create an old copy of openstack_deploy copy: src: "/etc/openstack_deploy/" - dest: "/etc/openstack_deploy.NEWTON/" + dest: "/etc/openstack_deploy.OCATA/" force: no - - name: Retrieve differences - shell: rsync -avun "{{ repo_root_dir }}/playbooks/inventory/env.d/" "/etc/openstack_deploy/env.d/" | grep "yml$" - failed_when: false - register: diff_result + - name: Check if there is a user-space env.d directory + stat: + path: "/etc/openstack_deploy/env.d" + register: _envd_dir - - name: Copy new env.d files into place - copy: - src: "{{ repo_root_dir }}/playbooks/inventory/env.d/{{ item }}" - dest: "/etc/openstack_deploy/env.d/{{ item }}" - force: no - with_items: - - "{{ diff_result.stdout_lines }}" - when: diff_result.stdout != "" + - block: - - 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 == "" + - name: Retrieve differences + shell: rsync -avun "{{ repo_root_dir }}/playbooks/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 }}/playbooks/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] }}" @@ -50,7 +59,7 @@ with_fileglob: - "/etc/openstack_deploy/user_*.yml" - - name: Write vars required for upgrade from Mitaka + - name: Write vars required for upgrade lineinfile: dest: /etc/openstack_deploy/user_variables.yml regexp: "^{{ item.key }}"