diff --git a/README.md b/README.md index 7df3871..44f8e77 100644 --- a/README.md +++ b/README.md @@ -12,22 +12,22 @@ of servers within a production environment. QUICK START ----------- -For the impatient, `sudo pip install ansible` and add these lines to your group_vars/all: +For the impatient, `sudo pip install ansible` : + ```bash: + # install pip (Python package manager) and ansible + $ sudo easy_install pip + $ sudo pip install ansible + ``` -```bash: -# install pip (Python package manager) and ansible -$ sudo easy_install pip -$ sudo pip install ansible -``` - -```YAML:group_vars/all -# deploy tag -tag: Deploy1 - -# path -seeder_files_path: ~/builds -destination_path: /opt/hoge -``` +and add these lines to your group_vars/all: + ```YAML:group_vars/all + # deploy tag + tag: Deploy1 + + # path + seeder_files_path: ~/builds + destination_path: /directorypath/hoge/ + ``` HOW IT WORKS @@ -45,24 +45,24 @@ All involved servers must have python and pizg installed and the related murder support files (BitTornado, etc.). To upload the support files to the tracker, seeder, and peers, run: -```bash: -$ ansible-playbook -i prodction setup.yml -``` + ```bash: + $ ansible-playbook -i prodction setup.yml + ``` By default, these will go in `/usr/local/murder` in your apps deploy directory. Override this by setting the variable `remote_murder_path`. Before deploying, you must start the tracker: -```bash: -$ ansible-playbook -i prodction start_tracker.yml -``` + ```bash: + $ ansible-playbook -i prodction start_tracker.yml + ``` At this point you should be able to deploy normally: -```bash: -$ ansible-playbook -i prodction deploy.yml -``` + ```bash: + $ ansible-playbook -i prodction deploy.yml + ``` MANUAL USAGE (ansible-lssd without a deploy strategy) @@ -70,62 +70,70 @@ MANUAL USAGE (ansible-lssd without a deploy strategy) Modify a ./production and ./group_vars/all, manually define servers: -```INI:production -# ansible host -[ansible_host] -localhost ansible_connection=local +./production: + ```INI:production + # ansible host + [ansible_host] + localhost ansible_connection=local + + # tracker node + [tracker] + 10.0.0.1 + + # seeder node + [seeder] + 10.0.0.1 + + # peer nodes + [peer] + 10.1.1.1 + 10.1.1.2 + 10.1.1.3 + ``` -# tracker node -[tracker] -10.0.0.1 - -# seeder node -[seeder] -10.0.0.1 - -# peer nodes -[peer] -10.1.1.1 -10.1.1.2 -10.1.1.3 -``` - -```YAML:group_vars/all -# deploy tag -tag: Deploy1 - -# path -seeder_files_path: ~/builds -destination_path: /opt/hoge # or some other directory -``` +group_vars/all: + ```YAML:group_vars/all + # deploy tag + tag: Deploy1 + + # path + seeder_files_path: ~/builds + destination_path: /opt/hoge # or some other directory + ``` To distribute a directory of files, first make sure that murder is set up on all hosts, then manually run the murder cap tasks: 1. Start the tracker: -```bash: -$ ansible-playbook -i prodction start_tracker.yml -``` + ```bash: + $ ansible-playbook -i prodction start_tracker.yml + ``` 2. Create a torrent from a directory of files on the seeder, and start seeding: -```bash: -$ scp -r ./builds host1:~/builds -$ ansible-playbook -i prodction create_torrent.yml -$ ansible-playbook -i prodction start_seeder.yml -``` + ```bash: + # copy to seeder node + $ scp -r ./builds 10.0.0.1:~/builds + + # create torrent file + $ ansible-playbook -i prodction create_torrent.yml + + # start seeding + $ ansible-playbook -i prodction start_seeder.yml + ``` 3. Distribute the torrent to all peers: -```bash: -$ ansible-playbook -i prodction deploy.yml -``` + ```bash: + $ ansible-playbook -i prodction deploy.yml + ``` + 4. Stop the seeder and tracker: -```bash: -$ ansible-playbook -i prodction stop_seeder_and_tracker.yml -``` + ```bash: + $ ansible-playbook -i prodction stop_seeder_and_tracker.yml + ``` When this finishes, all peers will have the files in /opt/hoge/Deploy1