--- # Copyright 2017, 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: Ensuring upstream SHAs validity hosts: "localhost" gather_facts: no connection: local user: root tasks: - name: Include repo_packages variables include_vars: dir: "{{ playbook_dir }}/../inventory/group_vars" files_matching: source_git.yml ignore_unknown_extensions: True extensions: - 'yml' - name: Define list of services tracked set_fact: service_projects: "{{ hostvars[inventory_hostname] | select('match', '^([a-z_]*)_git_track_branch') | map('regex_replace', '^([a-z_]*)_git_track_branch', '\\1') | list }}" - name: Clone git repos git: repo: "{{ hostvars[inventory_hostname][item ~ '_git_repo'] }}" dest: "/tmp/opendev/{{ hostvars[inventory_hostname][item ~ '_git_repo'] | basename }}" version: "{{ hostvars[inventory_hostname][item ~ '_git_install_branch'] }}" depth: "10" update: true force: true with_items: "{{ service_projects }}" register: git_clone until: git_clone is success retries: "2" delay: "10"