blob: fd6433dd098ca9a5c5dcfe667f90df273abe8391 [file] [log] [blame] [view]
<H4>steps to execute ansible playbook to setup Apache Jenkins build slaves</H4>
<hr>
<b><p>step1<h5>update the hosts file</h5></p></b>
```
[gkesavan@HW11151 ~/work/toolchain (master)]$ cat hosts
[ubuntu-slaves]
priapus.apache.org
pomona.apache.org
penates.apache.org
pietas.apache.org
proserpina.apache.org
[hadoop-slaves]
asf90[0:5].gq1.ygridcore.net
asf9[06:11].gq1.ygridcore.net
[ubuntu-slaves:vars]
jdk_version=7
jvm_data_model=32
ansible_ssh_user=<sshuser>
update_etc_hosts=false
[hadoop-slaves:vars]
jdk_version=6
jvm_data_model=64
ansible_ssh_user=<sshuser>
update_etc_hosts=true
[slaves:children]
ubuntu-slaves
hadoop-slaves
```
<p>To run on specific hosts comment out other host info or other option is to commentout the label say ubuntu-slave , if only want to run the playbooks on hadoop-slaves. Also, set the <sshuser> to point to a userid that has sudo access on the slaves.</p>
<hr>
<b><p>step2<h5>update init.yml</h5></p></b>
<p> If, execting ansible playbook for the first time you may have to enable couple to flags.</p>
<b><p>To setup p/w less ssh from master to slave</p></b>
```
setup_master_key: true
<path to jenkins master pub key> - add the path to the jenkins master pub key
```
<b><p>To setup jenkins user with crypted password
copy the password from one of the jenins slaves shadow file
and paste it against </p></b>
```
pass_word: and also set setup_password: true
```
<b><p>and similary for setting up the clover license, installing jdk and copying nexus password for ci user</p></b>
<hr>
<b><p>step3<h5>To execute ansible playbooks.</h5> </p> </b>
```
ansible-playbook -i hosts init.yml ```
<p>This would execute all the modules which doesnt have any tag definition.</p>
```
ansible-playbook -i hosts init.yml -vv --tags install_libraries,update_configs
```
<p>This would execute install_libraries and update_configs tags. Tags are defined for these two main task as we continue to update the configs and install new set of libraries. We can introduce more tags as needed.</p>