You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Excercise 3 - Write a ansible module using Adhoc commands to create a user and add him into sudoers and using regular user only run "Excercise 3" all adhoc commands to remote machine.
2 example:
Write a Ansible Adhoc Commands to create a user called “deploy-user” which is part of group called “group” and with /bin/bash shell.
ansible 127.0.0.1 -m user -a "name=deploy-user group=group shell=/bin/bash"
Write a Ansble Adhoc commands install package named “httpd” in RHEL/centos.
ansible 127.0.0.1 -m yum -a "name=httpd state=present"
Write a Ansible Adhoc commands to start and enable the service named “httpd”
ansible 127.0.0.1 -m service -a "name=httpd state=started"
Write a Ansible commands to create a file called “index.html” in /var/www/html with some dummy html contents.
ansible 127.0.0.1 -m copy -a "dest=/var/www/html content='new content'"
Write a Ansible commands to reboot a self machine.
ansible 127.0.0.1 -m reboot
Write a Ansible commands to install a package called “git”, “wget”.
ansible 127.0.0.1 -m yum -a "name=git"
ansible 127.0.0.1 -m yum -a "name=wget"
Write a Ansible Adhoc commands to clone git repo. thttps://github.com/scmgalaxy/ansible-role-
ansible 127.0.0.1 -m group -a "name=deploy state=present"
ansible 127.0.0.1 -m group -a "name=deploy-user group=deploy shell='/bin/bash' state=present"
ansible 127.0.0.1 -m yum -a "name=httpd state=present"
ansible 127.0.0.1 -m service -a "name=httpd state=started"
ansible 127.0.0.1 -m copy -a "dest=/var/www/html/index.html content='
Welcome to HPE
"
ansible 127.0.0.1 -m reboot
ansible 127.0.0.1 -m yum -a "name=git state=present"
ansible 127.0.0.1 -m yum -a "name=wget state=present"
ansible 127.0.0.1 -m git -a "repo=https://github.com/scmgalaxy/ansible-role-template dest=/home/lab_git_repo"
PROBLEM_2:
ansible 127.0.0.1 -m group -a "name=deploy state=present"
ansible 127.0.0.1 -m user -a "name=deploy-user group=deploy shell=/bin/bash state=present"
ansible 127.0.0.1 -m yum -a "name=httpd state=present"
ansible 127.0.0.1 -m service -a "name=httpd state=started"
ansible 127.0.0.1 -m copy -a "dest=/var/www/html/index.html content='
Welcome to HPE
'"
ansible 127.0.0.1 -m yum -a "name=git state=present"
ansible 127.0.0.1 -m yum -a "name=wget state=present"
ansible 127.0.0.1 -m git -a "dest=/home/harish/GitRepo repo=https://github.com/scmgalaxy/ansible-role-template"
ansible 127.0.0.1 -m copy -a "src=/opt/index.html dest=/var/www/html/index.html"
ansible 127.0.0.1 -m group -a "name=deploy state=present"
ansible 127.0.0.1 -m user -a "name=deploy-user group=deploy state=present"
ansible 127.0.0.1 -m service -a "name=httpd state=present"
ansible 127.0.0.1 -m file -a "dest=/opt/index.html mode=600 state=touch"
ansible 127.0.0.1 -m copy -a "dest=/opt/index.html content='
Welcome to HP Ansible class
'
ansible 127.0.0.1 -m reboot
ansible 127.0.0.1 -m yum -a "name=git state=present"
ansible 127.0.0.1 -m yum -a "name=wget state=present"
ansible 127.0.0.1 -m git -a "repo=https://github.com/scmgalaxy/ansible-role-template dest=/src/ansible-examples
separate_git_dir=/src/ansible-examples.gitstate=present"
ansible 127.0.0.1 -m group -a "name=deploy state=present"
ansible 127.0.0.1 -m user -a "name=deploy-user group=deploy shell= /bin/bash"
ansible 127.0.0.1 -m yum -a "name=http state=true"
ansible 127.0.0.1 -m service -a "name=httpd state=start"
ansible 127.0.0.1 -m copy -a "dest=/opt/index.html mode=755 content="
Welcome to HP Ansible class
""
ansible 127.0.0.1 -m copy -a "src=/opt/index.html dest=/var/www/html/"
ansible 127.0.0.1 -m command -a "name=reboot state=true"
ansible 127.0.0.1 -m yum -a "name=git,wget state=true"
ansible 127.0.01 -m git -a "clone=no repo=https://github.com/scmgalaxy/ansible-role-template"
1. Write a Ansible Adhoc Commands to create a group called “deploy”
sudo ansible 127.0.0.1 -m group -a "name=deploy state=present"
1. Write a Ansible Adhoc Commands to create a user called “deploy-user” which is part of group called “deploy” and with /bin/bash shell.
sudo ansible 127.0.0.1 -m user -a "name=deploy group=deploy"
2. Write a Ansble Adhoc commands install package named “httpd” in RHEL/centos.
sudo ansible 127.0.0.1 -m yum -a "name=httpd state=present"
3. Write a Ansible Adhoc commands to start and enable the service named “httpd”
sudo ansible 127.0.0.1 -m service -a "name=httpd state=started"
4. Write a Ansible commands to create a file called “index.html” in /var/www/html with some dummy html contents.
sudo ansible 127.0.0.1 -m file -a "path=/var/www/html state=directory"
sudo ansible 127.0.0.1 -m file -a "dest=/var/www/html/index.html mode=600 state=touch"
sudo ansible 127.0.0.1 -m lineinfile -a "dest=/opt/index.html line='<html> <h1> Welcome to HP Ansible class </h1> </html> '"
5. Write a Ansible commands to reboot a self machine.
sudo ansible 127.0.0.1 -m reboot
6. Write a Ansible commands to install a package called “git”, “wget”.
sudo ansible 127.0.0.1 -m yum -a "name=git,wget state=present"
7. Write a Ansible Adhoc commands to clone git repo. T https://github.com/scmgalaxy/ansible-role-template
sudo ansible 127.0.0.1 -m git -a "dest=/home/tester repo=https://github.com/scmgalaxy/ansible-role-template clone=yes dest/tmp/test"
ansible all -i 10.76.137.86, -m group -a "name=deploy state=present" -u root -k
ansible all -i 10.76.137.86, -m user -a "name=deploy-user group=deploy shell='/bin/bash' state=present" -u root -k
ansible all -i 10.76.137.86, -m yum -a "name=httpd state=present" -u root -k
ansible all -i 10.76.137.86, -m service -a "name=httpd state=started" -u root -k
ansible all -i 10.76.137.86, -m copy -a "dest=/var/www/html/index.html content='
Welcome to HPE
'" -u root -k
ansible all -i 10.76.137.86, -m reboot -u root -k
ansible all -i 10.76.137.86, -m yum -a "name=git state=present" -u root -k
ansible all -i 10.76.137.86, -m yum -a "name=wget state=present" -u root -k
ansible all -i 10.76.137.86, -m git -a "repo=https://github.com/scmgalaxy/ansible-role-template dest=/home/lab_git_repo" -u root -k
ansible all -i 192.168.43.223, -m user -a "name=test shell=/bin/bash password=test" -u root -k
ansible all -i 192.168.43.223, -m lineinfile -a "path=/etc/sudoers regexp='^test' line='test ALL=(ALL) NOPASSWD: ALL'" -u root -k
ansible all -i 192.168.43.223, -m group -a "name=deploy state=present " -u test -b -k
ansible all -i 192.168.43.223, -m user -a "name=deploy-user group=group shell=/bin/bash" -u test -b -k
ansible all -i 192.168.43.223, -m yum -a "name=httpd state=present" -u test -b -k
ansible all -i 192.168.43.223, -m service -a "name=httpd state=started" -u test -b -k
ansible all -i 192.168.43.223, -m copy -a "dest=/var/www/html/index.html content='new content'" -u test -b -k
ansible all -i 192.168.43.223, -m reboot -u test -b -k
ansible all -i 192.168.43.223, -m yum -a "name=git" -u test -b -k
ansible all -i 192.168.43.223, -m yum -a "name=wget" -u test -b -k
ansible all -i 192.168.43.223, -m git -a "repo=https://github.com/ansible/ansible-examples.git dest=/var/github" -u test -b -k
sudo ansible all -i 192.168.11.129, -m user -a "name=tester group=wheel password='$1$xyz$uUyjutWOci1QzJxu496qP/'" --ask-pass
ansible all -i 192.168.11.129, -m yum -a "name=httpd state=present" -bK --ask-pass -u tester
ansible all -i 192.168.11.129, -m service -a "name=httpd state=started enabled=1" -u tester --ask-pass -bK
ansible all -i 192.168.11.129, -u tester --ask-pass -bK -m file -a "dest=/var/www/html/index.html mode=644 state=touch"
ansible all -i 192.168.11.129, -u tester --ask-pass -bK -m lineinfile -a "dest=/var/www/html/index.html line='<html> <h1> Welcome to HP Ansible class </h1> </html>' state=present"
1. Create a user on the remote machine and add the user to the sudoers group
ansible all -i 192.168.59.163, -m user -a "name=deploy group=wheel" -u tester -K -b
2. Write a Ansible Adhoc Commands to create a group called “deploy”
ansible all -i 192.168.59.163, -m group -a "name=deploy state=present" -u tester -K -b
3. Write a Ansible Adhoc Commands to create a user called “deploy-user” which is part of group called “deploy” and with /bin/bash shell.
ansible all -i 192.168.59.163, -m user -a "name=deploy group=deploy" -u tester -K -b
4. Write a Ansble Adhoc commands install package named “httpd” in RHEL/centos.
ansible all -i 192.168.59.163, -m yum -a "name=httpd state=present" -u tester -K -b
5. Write a Ansible Adhoc commands to start and enable the service named “httpd”
ansible all -i 192.168.59.163, -m service -a "name=httpd state=started" -u tester -K -b
6. Write a Ansible commands to create a file called “index.html” in /var/www/html with some dummy html contents.
ansible all -i 192.168.59.163, -m file -a "path=/var/www/html state=directory" -u tester -K -b
ansible all -i 192.168.59.163, -m file -a "dest=/var/www/html/index.html mode=600 state=touch" -u tester -K -b
ansible all -i 192.168.59.163, -m lineinfile -a "dest=/var/www/html/index.html line='<html> <h1> Welcome to HP Ansible class </h1> </html> '" -u tester -K -b
7. Write a Ansible commands to reboot a self machine.
ansible all -i 192.168.59.163, -m reboot -u tester -K -b
8. Write a Ansible commands to install a package called “git”, “wget”.
ansible all -i 192.168.59.163, -m yum -a "name=git,wget state=present"
9. Create a temp directory to host the repo
ansible all -i 192.168.59.163, -m file -a "path=/tmp/test state=directory"
10. Write a Ansible Adhoc commands to clone git repo. T https://github.com/scmgalaxy/ansible-role-template
ansible all -i 192.168.59.163, -m git -a "repo=https://github.com/scmgalaxy/ansible-role-template clone=yes dest=/tmp/test"
PROBLEM 3:
#ansible all -i 10.76.136.176, -m group -a "name=deploy state=present" -u root -k
#ansible all -i 10.76.136.176, -m user -a "name=deploy-user group=deploy shell=/bin/bash state=present" -u root -k
#ansible all -i 10.76.136.176, -m yum -a "name=httpd state=present" -u root -k
#ansible all -i 10.76.136.176, -m service -a "name=httpd state=started" -u root -k
#ansible all -i 10.76.136.176, -m copy -a "dest=/var/www/html/index.html content='
Welcome to HPE
'" -u root -k
#ansible all -i 10.76.136.176, -m yum -a "name=git state=present" -u root -k
#ansible all -i 10.76.136.176, -m yum -a "name=wget state=present" -u root -k
#ansible all -i 10.76.136.176, -m git -a "dest=/home/harish/GitRepo repo=https://github.com/scmgalaxy/ansible-role-template" -u root -k
ansible all -i 192.168.5.131, -m group -a "name=deploy state=present" -u root -k
ansible all -i 192.168.5.131, -m user -a "name=deploy-user group=deploy shell='/bin/bash' state=present" -u root -k
ansible all -i 192.168.5.131, -m yum -a "name=httpd state=present" -u root -k
ansible all -i 192.168.5.131, -m service -a "name=httpd state=started" -u root -k
ansible all -i 192.168.5.131, -m copy -a "dest=/var/www/html/index.html content='
Welcome to HPE
'" -u root -k
ansible all -i 192.168.5.131, -m reboot -u root -k
ansible all -i 192.168.5.131, -m yum -a "name=git state=present" -u root -k
ansible all -i 192.168.5.131, -m yum -a "name=wget state=present" -u root -k
ansible all -i 192.168.5.131, -m git -a "repo=https://github.com/scmgalaxy/ansible-role-template dest=/home/lab_git_repo" -u root -k
ansible all -i 192.168.56.103, -m group -a "name=deploy"
ansible all -i 192.168.56.103, -m user -a "name=deploy-user group=deploy shell=/bin/bash state=present"
ansible all -i 192.168.56.103, -m lineinfile -a "state=present dest=/etc/sudoers line='%wheel ALL=(ALL) NOPASSWD: ALL'"
ansible all -i 192.168.56.103, -m lineinfile -a "state=present dest=/home/deploy-user/.bash_profile line='https_proxy=web-proxy.ind.hp.com:8080'"
ansible all -i 192.168.56.103, -m yum -a "name=httpd state=present" -u deploy-user -b
ansible all -i 192.168.56.103, -m yum -a "name=wget state=present" -u deploy-user -b
ansible all -i 192.168.56.103, -m file -a "dest=/opt/index.html mode=755 state=touch" -u deploy-user -b
ansible all -i 192.168.56.103, -m lineinfile -a "state=present dest=/opt/index.html line='
Welcome to HPE ansible class on remote node
'" -u deploy-user -b
ansible all -i 192.168.56.103, -m copy -a "src=/opt/index.html dest=/var/www/html" -u deploy-user -b
ansible all -i 192.168.56.103, -m service -a "name=httpd state=started" -u deploy-user -b
Welcome to HP Asible class Welcome to HPE Ansible class July- Swetha
Exercise 2 Answers
1)Write a Ansible Adhoc Commands to create a group called “deploy”
[root@localhost ~]# ansible 127.0.0.1 -m group -a "name=deploy"
127.0.0.1 | CHANGED => {
"changed": true,
"gid": 1000,
"name": "deploy",
"state": "present",
"system": false
}
Write a Ansible Adhoc Commands to create a user called “deploy-user”
which is part of group called “deploy” and with /bin/bash shell.
[root@localhost ~]# ansible 127.0.0.1 -m user -a "name=deploy-user groups=deploy shell=/bin/bash"
127.0.0.1 | CHANGED => {
"changed": true,
"comment": "",
"create_home": true,
"group": 1001,
"groups": "deploy",
"home": "/home/deploy-user",
"name": "deploy-user",
"shell": "/bin/bash",
"state": "present",
"system": false,
"uid": 1000
}
[root@localhost html]# id deploy-user
uid=1000(deploy-user) gid=1001(deploy-user) groups=1001(deploy-user),1000(deploy)
Write a Ansble Adhoc commands install package named “httpd” in RHEL/centos.
ansible 127.0.0.1 -m yum -a "name=httpd state=latest"
root@localhost ~]# ansible 127.0.0.1 -m yum -a "name=httpd state=latest"
127.0.0.1 | SUCCESS => {
"ansible_facts": {
"pkg_mgr": "yum"
},
"changed": false,
"changes": {
"installed": [],
"updated": []
},
"msg": "",
"rc": 0,
"results": [
"All packages providing httpd are up to date",
""
]
}
Write a Ansible Adhoc commands to start and enable the service named “httpd”
ansible 127.0.0.1 -m service -a "name=httpd state=started"
sucessful output received.
Write a Ansible commands to create a file called “index.html” in
/var/www/html with some dummy html contents.
#ansible 127.0.0.1 -m file -a "dest=/opt/index.html mode=666 state=touch owner=root"
#ansible 127.0.0.1 -m lineinfile -a "path=/opt/index.html line='Welcome to HPE Ansible class July- Swetha'"
#ansible 127.0.0.1 -m copy -a "src=/opt/index.html dest=/var/www/html"
Write a Ansible commands to reboot a self machine.
ansible 127.0.0.1 -a "/sbin/shutdown -r"
Write a Ansible commands to install a package called “git”, “wget”.
[root@localhost ~]# ansible 127.0.0.1 -m yum -a "name=wget state=present"
127.0.0.1 | SUCCESS => {
"ansible_facts": {
"pkg_mgr": "yum"
},
"changed": false,
"msg": "",
"rc": 0,
"results": [
"wget-1.14-18.el7_6.1.x86_64 providing wget is already installed"
]
}
Write a Ansible Adhoc Commands to create a group called “deploy”
ansible all -i 10.76.137.151, -m group -a "name=deploy state=present" -u tester -K -b -k
[root@localhost ~]# ansible all -i 10.76.137.151, -m group -a "name=deploy state=present" -u tester -K -b -k
SSH password:
BECOME password[defaults to SSH password]:
10.76.137.151 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"gid": 1001,
"name": "deploy",
"state": "present",
"system": false
}
Write a Ansible Adhoc Commands to create a user called “deploy-user” which is part of group called “deploy” and
with /bin/bash shell.
#ansible all -i 10.76.137.151, -m user -a "name=deploy group=deploy" -u tester -K -b -k
[root@localhost ~]# id deploy
uid=1001(deploy) gid=1001(deploy) groups=1001(deploy)
[root@localhost ~]# id deploy-user
uid=1002(deploy-user) gid=1001(deploy) groups=1001(deploy)
Write a Ansble Adhoc commands install package named “httpd” in RHEL/centos.
ansible all -i 10.76.137.151, -m yum -a "name=httpd state=present" -u tester -K -b -k
After the command output on ARS is as:
[root@localhost ~]# rpm -qa | grep -i http
httpd-tools-2.4.6-89.el7.centos.x86_64
httpd-2.4.6-89.el7.centos.x86_64
Write a Ansible Adhoc commands to start and enable the service named “httpd”
#ansible all -i 10.76.137.151, -m service -a "name=httpd state=started" -u tester -K -b -k
successful message
Write a Ansible commands to create a file called “index.html” in /var/www/html with some dummy html contents.
ansible all -i 10.76.137.151, -m file -a "path=/var/www/html state=directory" -u tester -K -b -k
ansible all -i 10.76.137.151, -m file -a "dest=/var/www/html/index.html mode=600 state=touch" -u tester -K -b -k
ansible all -i 10.76.137.151, -m lineinfile -a "dest=/var/www/html/index.html line=' # Welcome to HP Ansible class '" -u tester -K -b -k
- name: Create a user and add it to the group
hosts: web
tasks:
- name: Create a group
group: name=deploy state=present
- name: Create a user and add to group
user: name=deploy group=deploy
- name: Setup a web server
hosts: web
tasks:
- name: Install Apache
yum: name=httpd
- name: Start Apache server
service: name=httpd state=started
- name: Write contents to a file on webserver
hosts: web
tasks:
- name: Create a directory
file: path=/var/www/html state=directory
- name: Create a file
file: dest=/var/www/html/index.html mode=600 state=touch
- name: Write contents to the file
lineinfile: dest=/var/www/html/index.html line='<html> <h1> Welcome to HP Ansible class </h1> </html>'
- name: Reboot the Apache server
hosts: web
tasks:
- name: Restart the httpd server
reboot:
---
- name: Install git and wget packages
hosts: web
tasks:
- name: Install git, wget packages
yum: name=git,wget state=present
- name: Clone the repo
hosts: web
tasks:
- name: Create a temp directory to host repo
file: path=/tmp/test state=directory
- name: Clone the repo using url
git: repo=https://github.com/scmgalaxy/ansible-role-template clone=yes dest=/tmp/test
exercise 2