--- # This repice can be used to split this repo and keep the part updated! # Use it like this: # # ansible-playbook -i dummy-ansible-hosts contrib/splitup.yml \ # --tags split --extra-vars github=mhubig/ansible # # ansible-playbook -i dummy-ansible-hosts contrib/splitup.yml \ # --tags update --extra-vars github=mhubig/ansible - name: This recipe split the roles into repos and keeps them updated. hosts: localhost connection: local gather_facts: False vars: github: ceph/ansible roles: - ceph-common - ceph-mon - ceph-osd - ceph-mds - ceph-rgw - ceph-restapi tasks: - name: check for github prefix option on commandline tags: split fail: > msg='github prefix missing! e.g: (--extra-vars github=ceph/ansible).' when: github == False - name: split the repo in seperate branches tags: split command: > git subtree split --prefix=roles/{{ item }} -b {{ item }} --squash chdir=../ with_items: roles - name: adds remote github repos for the splits tags: split command: > git remote add {{ item }} git@github.com:{{ github }}-{{ item }}.git chdir=../ with_items: roles - name: adds upstream remote tags: update command: > git remote add upstream git@github.com:ceph/ceph-ansible.git ignore_errors: yes - name: pulles the newest changes from upstream tags: update command: > git pull upstream master:master - name: update the split repos from master tags: update shell: > git push {{ item }} $(git subtree split --prefix roles/{{ item }} master):master --force chdir=../ with_items: roles