Sunday, April 26, 2020

Ansible playbook for Java 11 Installation on Ubuntu - Ansible Java 11 Playbook Ubuntu 22.0.4

1. Login to Ansible management server/machine. Create SSH keys in Ansible host machine by executing the below command: (if you already have keys created, please skip this step)

enter three you will see keys successfully created.
2.  Execute the below command on Ansible management node and copy the public key content:
sudo cat ~/.ssh/

copy the above output.
3. Now login to target node, execute the below command to open the file
sudo vi /home/ubuntu/.ssh/authorized_keys
type shift A and then enter now 
    and paste the key in the above file. please do not delete any existing values in this file.

4. Now go back to Ansible mgmt node, do changes in /etc/ansible/hosts file to include the node you will be installing software. Make sure you add public IP address of target node as highlighted below in red color:
sudo vi /etc/ansible/hosts
xx.xx.xx.xx ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa  ansible_python_interpreter=/usr/bin/python3

5. let's make sure Ansible Control node is able to connect to target node

ansible -m ping all

ansible all -a "whoami"

6. make changes in playbooks as given below,
cd ~/playbooks

sudo vi installJava11.yml

- hosts: My_Group
    - name: Task - 1 Update APT package manager repositories cache
      become: true
        update_cache: yes
    - name: Task -2 Install Java using Ansible
      become: yes
        name: "{{ packages }}"
        state: present
           - openjdk-11-jdk

6. Execute Ansible playbook
ansible-playbook installJava11.yml

now after successfully executing, enter below command to make sure Java is installed in target node:

java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)


  1. if you got /root/.ssh/id_rsa: No such file or directory try this ansible_ssh_private_key_file=/home/ubuntu/.ssh/id_rsa