- hosts: localhost vars: gitea_url: http://38.108.68.64 project_config_ref: master project_config_dest: /tmp/project_config tasks: - name: Clone project-config git: repo: https://opendev.org/openstack/project-config dest: "{{ project_config_dest }}" version: "{{ project_config_ref }}" - name: Get Gerrit project list set_fact: gerrit_projects: "{{ lookup('file', project_config_dest + '/gerrit/projects.yaml') | from_yaml }}" - name: Parse Gerrit org list set_fact: gerrit_orgs: "{{ gerrit_projects | map(attribute='project') | map('regex_search', '^(.*?)/') | list | unique | select | map('regex_replace', '/', '') | list }}" - name: debug debug: msg: "{{ gerrit_orgs }}" - name: Get Gitea org list # We assume that all the orgs we are interested in are owned by root uri: url: "{{ gitea_url }}/api/v1/user/orgs" user: root password: "{{ gitea_root_password }}" force_basic_auth: true status_code: 200 register: gitea_org_list - name: Parse Gitea org list set_fact: gitea_orgs: "{{ gitea_org_list.json | map(attribute='username') | list }}" - name: Create orgs loop: "{{ gerrit_orgs }}" loop_control: loop_var: org include_tasks: 'setup-org.yaml' - name: Create repos loop: "{{ gerrit_projects }}" loop_control: loop_var: project include_tasks: 'setup-repo.yaml'