diff --git a/defaults/main.yml b/defaults/main.yml index ece4a43..0485459 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -31,6 +31,7 @@ repo_build_use_upper_constraints: true repo_build_upper_constraints_overrides: [] repo_build_service_user_name: "nginx" +repo_build_service_group_name: "www-data" repo_build_base_path: "/var/www/repo" repo_build_global_links_path: "/var/www/repo/links" diff --git a/tasks/repo_clone_git.yml b/tasks/repo_clone_git.yml index 452a1f7..fd227f4 100644 --- a/tasks/repo_clone_git.yml +++ b/tasks/repo_clone_git.yml @@ -17,7 +17,23 @@ template: src: "op-clone-script.sh.j2" dest: "/opt/op-clone-script.sh" - register: repo_clone_script_template + tags: + - repo-clone-repos + +- name: Check if the git folder exists already + stat: + path: "{{ repo_build_git_dir }}" + register: _git_folder + tags: + - repo-clone-repos + +- name: Git service data folder setup + file: + path: "{{ (_git_folder.stat.exists and _git_folder.stat.islnk) | ternary(_git_folder.stat.lnk_source, repo_build_git_dir) }}" + state: "directory" + owner: "{{ repo_build_service_user_name }}" + group: "{{ repo_build_service_group_name }}" + recurse: true tags: - repo-clone-repos @@ -25,6 +41,5 @@ shell: "bash /opt/op-clone-script.sh" become: yes become_user: "{{ repo_build_service_user_name }}" - when: repo_clone_script_template | changed tags: - repo-clone-repos diff --git a/tests/test-install-server.yml b/tests/test-install-server.yml index 8b5ee01..4af3232 100644 --- a/tests/test-install-server.yml +++ b/tests/test-install-server.yml @@ -19,7 +19,22 @@ roles: - "repo_server" post_tasks: - - name: Pre-cache the keystone git repository + + - name: Check if the git cache exists on deployment host + local_action: + module: stat + path: "/opt/git/openstack" + register: _local_git_cache + + - name: Pre-cache the keystone git repository (from git cache) + synchronize: + src: "/opt/git/openstack/keystone/" + dest: "/var/www/repo/openstackgit/keystone" + when: + - _local_git_cache.stat is defined + - _local_git_cache.stat.exists + + - name: Pre-cache the keystone git repository (from git source) git: repo: "https://git.openstack.org/openstack/keystone" dest: "/var/www/repo/openstackgit/keystone" @@ -27,7 +42,11 @@ update: yes become: yes become_user: "{{ repo_build_service_user_name }}" - - name: Pre-cache the tempest git repository + when: + - _local_git_cache.stat is defined + - not _local_git_cache.stat.exists + + - name: Pre-cache the tempest git repository (from git source) git: repo: "https://git.openstack.org/openstack/tempest" dest: "/var/www/repo/openstackgit/tempest" @@ -35,13 +54,16 @@ update: yes become: yes become_user: "{{ repo_build_service_user_name }}" + - name: Intentionally set the keystone repo remote origin to github shell: "git remote set-url origin https://github.com/openstack/keystone.git" args: chdir: "/var/www/repo/openstackgit/keystone" + - name: Intentionally remote the tempest repo remote origin shell: "git remote remove origin" args: chdir: "/var/www/repo/openstackgit/tempest" + vars_files: - test-vars.yml