Revert "Remove sylinked git cache functionality"

This reverts commit 9c1859c7f9.
For deployers having symlinks in the P branch, the removal of
those tasks would be problematic when doing an upgrade to Q.

Instead, we keep those tasks, and mention their deprecation.
People wanting to use the git cache can still use it, but
as a plain folder instead of a symlink.

Change-Id: Ief7ad423b9e701c145b97de42e5165fe2f7347d7
This commit is contained in:
Jean-Philippe Evrard 2018-01-23 10:51:46 +00:00 committed by Jesse Pretorius (odyssey4me)
parent 0ea979b3f5
commit f961a6d3c2
2 changed files with 29 additions and 1 deletions

View File

@ -0,0 +1,12 @@
---
deprecations:
- |
In OSA deployments prior to Queens, if ``repo_git_cache_dir`` was set
to a folder which existed on a repo container host then that folder
would be symlinked to the repo container bind mount instead of
synchronising its contents to the repo container. This functionality
is deprecated in Queens and will be removed in Rocky. The ability to
make use of the git cache still exists, but the folder contents will
be synchronised from the deploy host to the repo container. If you
have made use of the symlink functionality previously, please move
the contents to a standard folder and remove the symlink.

View File

@ -51,7 +51,6 @@
group: "{{ repo_service_group_name }}"
mode: "{{ item.mode | default('02755') }}"
with_items:
- path: "{{ repo_git_cache_dir }}"
- path: "{{ repo_service_home_folder }}"
- path: "{{ repo_service_home_folder }}/.ssh"
mode: "02700"
@ -76,6 +75,23 @@
owner: "root"
group: "root"
# TODO(evrardjp):
# The functionality provided by the following two tasks is
# deprecated in Queens and should be removed in Rocky. Apply
# the changes as done in https://review.openstack.org/521750
- name: Check if the git folder exists already
stat:
path: "{{ repo_git_cache_dir }}"
register: _git_folder
- name: Git service data folder setup
file:
path: "{{ (_git_folder.stat.exists and _git_folder.stat.islnk) | ternary(_git_folder.stat.lnk_source, repo_git_cache_dir) }}"
state: "directory"
owner: "{{ repo_service_user_name }}"
group: "{{ repo_service_group_name }}"
recurse: true
- name: File and directory setup (root user)
file:
path: "{{ item.path }}"