Adds ansible script to split this repo into roles.

Use it like this, to split and update:

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
pull/214/head
Markus Hubig 2015-02-23 18:25:37 +01:00
parent c3df7813a6
commit f27e8e0846
1 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,66 @@
---
# 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: False
roles:
- ceph-common
- ceph-mon
- ceph-osd
- ceph-mds
- ceph-radosgw
- haproxy
tasks:
- name: check for github prefix option on commandline
tags: split
fail: >
msg='github prefix missing! e.g: (--extra-vars github=mhubig/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
command: >
git subtree push --prefix=roles/{{ item }} {{ item }} master
chdir=../
with_items: roles