step1
``` [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= update_etc_hosts=false
[hadoop-slaves:vars] jdk_version=6 jvm_data_model=64 ansible_ssh_user= 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 - 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 ```
This would execute all the modules which doesnt have any tag definition.
ansible-playbook -i hosts init.yml -vv --tags install_libraries,update_configs
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.