Install Ansible Control Node on CentOS 8 - CentLinux

Latest

Sunday, 17 May 2020

Install Ansible Control Node on CentOS 8

Install Ansible Control Node on CentOS 8

In this article, you will learn how to install Ansible control node on CentOS 8. Later, we will also configure an Ansible managed node and execute some adhoc commands on it.

 

This Article Provides:

 

What is Ansible?:

Ansible is an open-source software provisioning, configuration management, and application deployment tool. Ansible is developed by Red Hat and available in free and commercial editions.

Unlike Puppet and Chef, Ansible is agent-less. Ansible uses declarative language to define system configurations and uses SSH service and Python scripts to apply configurations on the managed nodes.

The Ansible machine that is used for management and administration of nodes is called Ansible Control Node. Whereas, the controlled nodes are called Ansible Managed hosts.

The Ansible control node has the Inventory of managed nodes and the Ansible software to manage it.

 

Environment Specification:

We are using two minimal CentOS 8 virtual machine with following specification.

Ansible Control Node:

  • CPU - 3.4 Ghz (2 cores)
  • Memory - 4 GB
  • Storage - 40 GB
  • Operating System - CentOS 8.1
  • Hostname – ansible-01.centlinux.com
  • IP Address - 192.168.116.225 /24

Ansible Managed Node:

  • CPU - 3.4 Ghz (2 cores)
  • Memory - 2 GB
  • Storage - 20 GB
  • Operating System - CentOS 8.1
  • Hostname – apache-01.centlinux.com
  • IP Address - 192.168.116.206 /24

 

Update CentOS 8 Software Packages:

Connect to ansible-01.centlinux.com as root user by using a ssh tool or you can configure a Jump Server to securely connect to your network servers from a web-based ssh interface.

It is a best practice to always update the CentOS 8 installed software packages before installing or configuring a server software.

We can update CentOS 8 software packages by using dnf command.

[root@ansible-01 ~]# dnf update -y
CentOS-8 - AppStream                            801  B/s | 4.3 kB     00:05
CentOS-8 - Base                                 3.1 kB/s | 3.9 kB     00:01
CentOS-8 - Extras                               2.2 kB/s | 1.5 kB     00:00
Dependencies resolved.
Nothing to do.
Complete!

Since, we have recently updated our CentOS 8 software packages, therefore, there is nothing to upgrade at this time.

 

Install Python on CentOS 8:

Ansible requires Python 2 (version 2.7) or Python 3 (version 3.5 or higher).

In CentOS 8 default yum repositories, we have Python 2.7 and Python 3.6 both are available. So we can install any of them to fulfill the Ansible requirements.

We are installing Python 3.6 on CentOS 8 as follows.

[root@ansible-01 ~]# dnf module install -y python36
Last metadata expiration check: 0:17:50 ago on Sat 16 May 2020 01:29:52 AM PKT.
Dependencies resolved.
================================================================================
 Package            Arch   Version                              Repo       Size
================================================================================
Installing group/module packages:
 python36           x86_64 3.6.8-2.module_el8.1.0+245+c39af44f  AppStream  19 k
Installing dependencies:
 python3-pip        noarch 9.0.3-15.el8                         AppStream  19 k
 python3-setuptools noarch 39.2.0-5.el8                         BaseOS    162 k
Installing module profiles:
 python36/common
Enabling module streams:
 python36                  3.6

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 201 k
Installed size: 466 k
Downloading Packages:
(1/3): python36-3.6.8-2.module_el8.1.0+245+c39a  43 kB/s |  19 kB     00:00
(2/3): python3-pip-9.0.3-15.el8.noarch.rpm       40 kB/s |  19 kB     00:00
(3/3): python3-setuptools-39.2.0-5.el8.noarch.r 307 kB/s | 162 kB     00:00
--------------------------------------------------------------------------------
Total                                           100 kB/s | 201 kB     00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : python3-setuptools-39.2.0-5.el8.noarch                 1/3
  Installing       : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64    2/3
  Running scriptlet: python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64    2/3
  Installing       : python3-pip-9.0.3-15.el8.noarch                        3/3
  Running scriptlet: python3-pip-9.0.3-15.el8.noarch                        3/3
  Verifying        : python3-pip-9.0.3-15.el8.noarch                        1/3
  Verifying        : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64    2/3
  Verifying        : python3-setuptools-39.2.0-5.el8.noarch                 3/3

Installed:
  python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64
  python3-pip-9.0.3-15.el8.noarch
  python3-setuptools-39.2.0-5.el8.noarch

Complete!

Check version of Python to verify that it has been installed correctly.

[root@ansible-01 ~]# python3 --version
Python 3.6.8

 

Install EPEL Yum Repository on CentOS 8:

EPEL (Extra Packages for Enterprise Linux) is a free community supported yum repository from Fedora team. EPEL provides latest versions of Linux software that are not available in standard yum repositories.

We can enable EPEL yum repository on CentOS 8 by installing the epel-release package.

[root@ansible-01 ~]# dnf install -y epel-release
Last metadata expiration check: 0:00:06 ago on Sat 16 May 2020 02:06:44 AM PKT.
Dependencies resolved.
================================================================================
 Package               Architecture    Version            Repository       Size
================================================================================
Installing:
 epel-release          noarch          8-8.el8            extras           23 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 23 k
Installed size: 32 k
Downloading Packages:
epel-release-8-8.el8.noarch.rpm                 324 kB/s |  23 kB     00:00
--------------------------------------------------------------------------------
Total                                            34 kB/s |  23 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : epel-release-8-8.el8.noarch                            1/1
  Running scriptlet: epel-release-8-8.el8.noarch                            1/1
  Verifying        : epel-release-8-8.el8.noarch                            1/1

Installed:
  epel-release-8-8.el8.noarch

Complete!

Build cache for EPEL yum repository.

[root@ansible-01 ~]# dnf makecache
CentOS-8 - AppStream                            6.1 kB/s | 4.3 kB     00:00
CentOS-8 - Base                                 6.1 kB/s | 3.9 kB     00:00
CentOS-8 - Extras                               3.3 kB/s | 1.5 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - 6.6 kB/s | 117 kB     00:17
Extra Packages for Enterprise Linux 8 - x86_64  496 kB/s | 6.6 MB     00:13
Metadata cache created.

EPEL yum repository has been installed and ready for use.

 

Install Ansible on CentOS 8:

We can install Ansible on CentOS 8, by one of the following three methods.

  1. Install the latest release of Ansible from EPEL yum repository
  2. Install Ansible by using pip (Python Package Manager)
  3. Install by compiling the Ansible source code available at GitHub

Here, we are installing Ansible by using EPEL yum repository.

First of all, check the available version of Ansible in EPEL repository.

[root@ansible-01 ~]# dnf info ansible --repo=epel
Last metadata expiration check: 0:02:29 ago on Sat 16 May 2020 02:07:46 AM PKT.
Available Packages
Name         : ansible
Version      : 2.9.7
Release      : 1.el8
Architecture : noarch
Size         : 17 M
Source       : ansible-2.9.7-1.el8.src.rpm
Repository   : epel
Summary      : SSH-based configuration management, deployment, and task
             : execution system
URL          : http://ansible.com
License      : GPLv3+
Description  : Ansible is a radically simple model-driven configuration
             : management, multi-node deployment, and remote task execution
             : system. Ansible works over SSH and does not require any software
             : or daemons to be installed on remote nodes. Extension modules can
             : be written in any language and are transferred to managed
             : machines automatically.

We have Ansible 2.9 available in EPEL yum repository. Therefore, We are installing it by using dnf command.

[root@ansible-01 ~]# dnf install -y ansible
Last metadata expiration check: 0:05:08 ago on Sat 16 May 2020 02:07:46 AM PKT.
Dependencies resolved.
================================================================================
 Package                 Arch        Version               Repository      Size
================================================================================
Installing:
 ansible                 noarch      2.9.7-1.el8           epel            17 M
Installing dependencies:
 python3-babel           noarch      2.5.1-5.el8           AppStream      4.8 M
 python3-jinja2          noarch      2.10.1-2.el8_0        AppStream      538 k
 python3-jmespath        noarch      0.9.0-11.el8          AppStream       45 k
 python3-markupsafe      x86_64      0.23-19.el8           AppStream       39 k
 python3-pyasn1          noarch      0.3.7-6.el8           AppStream      126 k
 python3-pytz            noarch      2017.2-9.el8          AppStream       54 k
 python3-pyyaml          x86_64      3.12-12.el8           BaseOS         193 k
 libsodium               x86_64      1.0.18-2.el8          epel           162 k
 python3-bcrypt          x86_64      3.1.6-2.el8.1         epel            44 k
 python3-pynacl          x86_64      1.3.0-5.el8           epel           100 k
 sshpass                 x86_64      1.06-9.el8            epel            27 k
Installing weak dependencies:
 python3-paramiko        noarch      2.4.3-1.el8           epel           289 k

Transaction Summary
================================================================================
Install  13 Packages

Total download size: 24 M
Installed size: 124 M
Downloading Packages:
(1/13): python3-jmespath-0.9.0-11.el8.noarch.rp  68 kB/s |  45 kB     00:00
(2/13): python3-markupsafe-0.23-19.el8.x86_64.r 244 kB/s |  39 kB     00:00
(3/13): python3-pyasn1-0.3.7-6.el8.noarch.rpm   203 kB/s | 126 kB     00:00
(4/13): python3-pytz-2017.2-9.el8.noarch.rpm    198 kB/s |  54 kB     00:00
(5/13): python3-jinja2-2.10.1-2.el8_0.noarch.rp 243 kB/s | 538 kB     00:02
(6/13): python3-pyyaml-3.12-12.el8.x86_64.rpm    29 kB/s | 193 kB     00:06
(7/13): python3-babel-2.5.1-5.el8.noarch.rpm    509 kB/s | 4.8 MB     00:09
(8/13): libsodium-1.0.18-2.el8.x86_64.rpm        58 kB/s | 162 kB     00:02
(9/13): python3-bcrypt-3.1.6-2.el8.1.x86_64.rpm  13 kB/s |  44 kB     00:03
(10/13): python3-paramiko-2.4.3-1.el8.noarch.rp 156 kB/s | 289 kB     00:01
(11/13): sshpass-1.06-9.el8.x86_64.rpm           93 kB/s |  27 kB     00:00
(12/13): python3-pynacl-1.3.0-5.el8.x86_64.rpm   36 kB/s | 100 kB     00:02
(13/13): ansible-2.9.7-1.el8.noarch.rpm         959 kB/s |  17 MB     00:18
--------------------------------------------------------------------------------
Total                                           940 kB/s |  24 MB     00:25
warning: /var/cache/dnf/epel-6519ee669354a484/packages/ansible-2.9.7-1.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64  1.6 MB/s | 1.6 kB     00:00
Importing GPG key 0x2F86D6A1:
 Userid     : "Fedora EPEL (8) <epel@fedoraproject.org>"
 Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : sshpass-1.06-9.el8.x86_64                             1/13
  Installing       : python3-bcrypt-3.1.6-2.el8.1.x86_64                   2/13
  Installing       : libsodium-1.0.18-2.el8.x86_64                         3/13
  Installing       : python3-pynacl-1.3.0-5.el8.x86_64                     4/13
  Installing       : python3-pyyaml-3.12-12.el8.x86_64                     5/13
  Installing       : python3-pytz-2017.2-9.el8.noarch                      6/13
  Installing       : python3-babel-2.5.1-5.el8.noarch                      7/13
  Installing       : python3-pyasn1-0.3.7-6.el8.noarch                     8/13
  Installing       : python3-paramiko-2.4.3-1.el8.noarch                   9/13
  Installing       : python3-markupsafe-0.23-19.el8.x86_64                10/13
  Installing       : python3-jinja2-2.10.1-2.el8_0.noarch                 11/13
  Installing       : python3-jmespath-0.9.0-11.el8.noarch                 12/13
  Installing       : ansible-2.9.7-1.el8.noarch                           13/13
  Running scriptlet: ansible-2.9.7-1.el8.noarch                           13/13
  Verifying        : python3-babel-2.5.1-5.el8.noarch                      1/13
  Verifying        : python3-jinja2-2.10.1-2.el8_0.noarch                  2/13
  Verifying        : python3-jmespath-0.9.0-11.el8.noarch                  3/13
  Verifying        : python3-markupsafe-0.23-19.el8.x86_64                 4/13
  Verifying        : python3-pyasn1-0.3.7-6.el8.noarch                     5/13
  Verifying        : python3-pytz-2017.2-9.el8.noarch                      6/13
  Verifying        : python3-pyyaml-3.12-12.el8.x86_64                     7/13
  Verifying        : ansible-2.9.7-1.el8.noarch                            8/13
  Verifying        : libsodium-1.0.18-2.el8.x86_64                         9/13
  Verifying        : python3-bcrypt-3.1.6-2.el8.1.x86_64                  10/13
  Verifying        : python3-paramiko-2.4.3-1.el8.noarch                  11/13
  Verifying        : python3-pynacl-1.3.0-5.el8.x86_64                    12/13
  Verifying        : sshpass-1.06-9.el8.x86_64                            13/13

Installed:
  ansible-2.9.7-1.el8.noarch             python3-paramiko-2.4.3-1.el8.noarch
  python3-babel-2.5.1-5.el8.noarch       python3-jinja2-2.10.1-2.el8_0.noarch
  python3-jmespath-0.9.0-11.el8.noarch   python3-markupsafe-0.23-19.el8.x86_64
  python3-pyasn1-0.3.7-6.el8.noarch      python3-pytz-2017.2-9.el8.noarch
  python3-pyyaml-3.12-12.el8.x86_64      libsodium-1.0.18-2.el8.x86_64
  python3-bcrypt-3.1.6-2.el8.1.x86_64    python3-pynacl-1.3.0-5.el8.x86_64
  sshpass-1.06-9.el8.x86_64

Complete!

Verify the Ansible installation by checking its version as follows.

[root@ansible-01 ~]# ansible --version
ansible 2.9.7
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)]

 

Enable Bash Completion of Ansible Commands:

As of Ansible 2.9, shell completion of Ansible commands is available and provided through an optional dependency called argcomplete. argcomplete supports bash but has limited support for zsh and tcsh.

We are installing python3-argcomplete package to enable bash completion of Ansible commands.

[root@ansible-01 ~]# dnf install -y python3-argcomplete
CentOS-8 - AppStream                            3.2 kB/s | 4.3 kB     00:01
CentOS-8 - Base                                 6.2 kB/s | 3.9 kB     00:00
CentOS-8 - Extras                               1.9 kB/s | 1.5 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - 5.3 kB/s | 9.0 kB     00:01
Extra Packages for Enterprise Linux 8 - x86_64  6.6 kB/s | 5.9 kB     00:00
Dependencies resolved.
================================================================================
 Package                   Architecture Version           Repository       Size
================================================================================
Installing:
 python3-argcomplete       noarch       1.9.3-6.el8       AppStream        60 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 60 k
Installed size: 194 k
Downloading Packages:
python3-argcomplete-1.9.3-6.el8.noarch.rpm      220 kB/s |  60 kB     00:00
--------------------------------------------------------------------------------
Total                                            81 kB/s |  60 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : python3-argcomplete-1.9.3-6.el8.noarch                 1/1
  Running scriptlet: python3-argcomplete-1.9.3-6.el8.noarch                 1/1
  Verifying        : python3-argcomplete-1.9.3-6.el8.noarch                 1/1

Installed:
  python3-argcomplete-1.9.3-6.el8.noarch

Complete!

Configure argcomplete to enable bash completion of Ansible commands.

[root@ansible-01 ~]# activate-global-python-argcomplete
activate-global-python-argcomplete
Installing bash completion script /etc/bash_completion.d/python-argcomplete.sh
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"

 

Generate SSH Key Pair for Ansible Control Node:

We are generating a SSH key pair for our Ansible Control Node. This SSH key pair will be used to setup password-less authentication on Ansible Managed Nodes.

[root@ansible-01 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:4yfSptgQTPY9+1X+Qh0tJ3e9VDvPGz/KzlpBmm0qjmg root@ansible-01.centlinux.com
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|                .|
|    o        .  =|
|   + . .    = o=*|
|    o . S  o +oB*|
|     . o +  oooo+|
|    . . *....o. +|
|     E.+o+..+ .+.|
|    o.o. ...o=..o|
+----[SHA256]-----+

 

Add a CentOS 8 based Ansible Managed Node:

If we want to manage a CentOS 8 node, then we have perform some necessary configurations thereon.

If you are not using a DNS server for your network then you have to configure name resolution of managed nodes by using Local DNS Resolver.

Add the name resolution entry in hosts file of Ansible control node.

[root@ansible-01 ~]# echo "192.168.116.206 apache-01 apache-01.centlinux.com" >> /etc/hosts

There are only two software required to setup a Ansible Managed node.

  1. sshd with password less authentication
  2. Python

In CentOS 8 based systems, sshd is installed by default. So, we are only required to configure the password less authentication on it.

It is quiet easy, since we have already generated the SSH key pair. We now use the ssh-copy-id command to copy the public key to the managed node.

[root@ansible-01 ~]# ssh-copy-id root@apache-01.centlinux.com
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'apache-01.centlinux.com (192.168.116.206)' can't be established.
ECDSA key fingerprint is SHA256:skGj4xg0w+jIQtrfF8AOdfItgcXUQQu+bWUFfvws1Hk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@apache-01.centlinux.com's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@apache-01.centlinux.com'"
and check to make sure that only the key(s) you wanted were added.

That's all for the Ansible control node configurations. Now login to Ansible managed node (apache-01.centlinux.com) and install Python 3.6 thereon.

[root@apache-01 ~]# dnf module install -y python36
Last metadata expiration check: 0:34:38 ago on Sat 16 May 2020 01:35:27 PM PKT.
Dependencies resolved.
================================================================================
 Package            Arch   Version                              Repo       Size
================================================================================
Installing group/module packages:
 python36           x86_64 3.6.8-2.module_el8.1.0+245+c39af44f  AppStream  19 k
Installing dependencies:
 python3-pip        noarch 9.0.3-15.el8                         AppStream  19 k
 python3-setuptools noarch 39.2.0-5.el8                         BaseOS    162 k
Installing module profiles:
 python36/common
Enabling module streams:
 python36                  3.6

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 201 k
Installed size: 466 k
Downloading Packages:
(1/3): python3-pip-9.0.3-15.el8.noarch.rpm      111 kB/s |  19 kB     00:00
(2/3): python36-3.6.8-2.module_el8.1.0+245+c39a 110 kB/s |  19 kB     00:00
(3/3): python3-setuptools-39.2.0-5.el8.noarch.r 442 kB/s | 162 kB     00:00
--------------------------------------------------------------------------------
Total                                            46 kB/s | 201 kB     00:04
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : python3-setuptools-39.2.0-5.el8.noarch                 1/3
  Installing       : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64    2/3
  Running scriptlet: python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64    2/3
  Installing       : python3-pip-9.0.3-15.el8.noarch                        3/3
  Running scriptlet: python3-pip-9.0.3-15.el8.noarch                        3/3
  Verifying        : python3-pip-9.0.3-15.el8.noarch                        1/3
  Verifying        : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64    2/3
  Verifying        : python3-setuptools-39.2.0-5.el8.noarch                 3/3

Installed:
  python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64
  python3-pip-9.0.3-15.el8.noarch
  python3-setuptools-39.2.0-5.el8.noarch

Complete!

Verify Python installation by checking its version.

[root@apache-01 ~]# python3 --version
Python 3.6.8

apache-01.centlinux.com node is ready to be managed by the Ansible. Now login to Ansible control node and add apache-01.centlinux.com node in Ansible Inventory.

Create a directory to store Ansible inventory files.

[root@ansible-01 ~]# mkdir ansible
[root@ansible-01 ~]# cd ansible

Create the hosts file to define Ansible managed nodes.

[root@ansible-01 ansible]# vi hosts

Add a section [webservers] and add apache-01.centlinux.com node in it.

[webservers]
apache-01.centlinux.com

These configurations are quiet enough for executing Ansible adhoc commands. However, we can also write Ansible playbooks for orchestration of managed nodes.

List down the Ansible managed hosts from the Inventory.

[root@ansible-01 ansible]# ansible -i hosts --list-hosts all
  hosts (1):
    apache-01.centlinux.com

Check connectivity by pinging Ansible managed nodes.

[root@ansible-01 ansible]# ansible -i hosts -m ping all
apache-01.centlinux.com | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}

By using Ansible execute a command to managed host. We are installing Apache HTTP server on all the nodes in webservers section.

[root@ansible-01 ansible]# ansible -i hosts -m shell -a 'dnf install -y httpd' webservers
[WARNING]: Consider using the dnf module rather than running 'dnf'.  If you
need to use command because dnf is insufficient you can add 'warn: false' to
this command task or set 'command_warnings=False' in ansible.cfg to get rid of
this message.
apache-01.centlinux.com | CHANGED | rc=0 >>
Last metadata expiration check: 0:49:40 ago on Sat 16 May 2020 01:35:27 PM PKT.
Dependencies resolved.
================================================================================
 Package           Arch   Version                               Repo       Size
================================================================================
Installing:
 httpd             x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 M
Installing dependencies:
 apr               x86_64 1.6.3-9.el8                           AppStream 125 k
 apr-util          x86_64 1.6.1-6.el8                           AppStream 105 k
 centos-logos-httpd
                   noarch 80.5-2.el8                            AppStream  24 k
 httpd-filesystem  noarch 2.4.37-16.module_el8.1.0+256+ae790463 AppStream  35 k
 httpd-tools       x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 103 k
 mod_http2         x86_64 1.11.3-3.module_el8.1.0+213+acce2796  AppStream 158 k
 mailcap           noarch 2.1.48-3.el8                          BaseOS     39 k
Installing weak dependencies:
 apr-util-bdb      x86_64 1.6.1-6.el8                           AppStream  25 k
 apr-util-openssl  x86_64 1.6.1-6.el8                           AppStream  27 k
Enabling module streams:
 httpd                    2.4

Transaction Summary
================================================================================
Install  10 Packages

Total download size: 2.3 M
Installed size: 6.6 M
Downloading Packages:
(1/10): apr-util-bdb-1.6.1-6.el8.x86_64.rpm     153 kB/s |  25 kB     00:00
(2/10): apr-1.6.3-9.el8.x86_64.rpm              503 kB/s | 125 kB     00:00
(3/10): apr-util-1.6.1-6.el8.x86_64.rpm         398 kB/s | 105 kB     00:00
(4/10): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 171 kB/s |  27 kB     00:00
(5/10): centos-logos-httpd-80.5-2.el8.noarch.rp 196 kB/s |  24 kB     00:00
(6/10): httpd-filesystem-2.4.37-16.module_el8.1 192 kB/s |  35 kB     00:00
(7/10): httpd-tools-2.4.37-16.module_el8.1.0+25 210 kB/s | 103 kB     00:00
(8/10): mailcap-2.1.48-3.el8.noarch.rpm         123 kB/s |  39 kB     00:00
(9/10): mod_http2-1.11.3-3.module_el8.1.0+213+a 203 kB/s | 158 kB     00:00
(10/10): httpd-2.4.37-16.module_el8.1.0+256+ae7 518 kB/s | 1.7 MB     00:03
--------------------------------------------------------------------------------
Total                                           506 kB/s | 2.3 MB     00:04
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : apr-1.6.3-9.el8.x86_64                                1/10
  Running scriptlet: apr-1.6.3-9.el8.x86_64                                1/10
  Installing       : apr-util-bdb-1.6.1-6.el8.x86_64                       2/10
  Installing       : apr-util-openssl-1.6.1-6.el8.x86_64                   3/10
  Installing       : apr-util-1.6.1-6.el8.x86_64                           4/10
  Running scriptlet: apr-util-1.6.1-6.el8.x86_64                           4/10
  Installing       : httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.    5/10
  Installing       : mailcap-2.1.48-3.el8.noarch                           6/10
  Running scriptlet: httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae79    7/10
  Installing       : httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae79    7/10
  Installing       : centos-logos-httpd-80.5-2.el8.noarch                  8/10
  Installing       : mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86    9/10
  Installing       : httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64   10/10
  Running scriptlet: httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64   10/10
  Verifying        : apr-1.6.3-9.el8.x86_64                                1/10
  Verifying        : apr-util-1.6.1-6.el8.x86_64                           2/10
  Verifying        : apr-util-bdb-1.6.1-6.el8.x86_64                       3/10
  Verifying        : apr-util-openssl-1.6.1-6.el8.x86_64                   4/10
  Verifying        : centos-logos-httpd-80.5-2.el8.noarch                  5/10
  Verifying        : httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64    6/10
  Verifying        : httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae79    7/10
  Verifying        : httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.    8/10
  Verifying        : mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86    9/10
  Verifying        : mailcap-2.1.48-3.el8.noarch                          10/10

Installed:
  httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64
  apr-util-bdb-1.6.1-6.el8.x86_64
  apr-util-openssl-1.6.1-6.el8.x86_64
  apr-1.6.3-9.el8.x86_64
  apr-util-1.6.1-6.el8.x86_64
  centos-logos-httpd-80.5-2.el8.noarch
  httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch
  httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64
  mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64
  mailcap-2.1.48-3.el8.noarch

Complete!

Ansible has been installed on CentOS 8 control node and we have added a centos 8 based managed node. We advice you to enroll in Ansible: Ansible Automation Masterclass: 2-in-1 at Udemy or if you prefer self-study then Mastering Ansible - 3rd Edition by Packt Publishing must be a good read for you.

4 comments:

  1. python 2 going to obsolete so using python 3 is better

    ReplyDelete
  2. Whenever We tried to copy the ssh key to managed node, it will prompt for password, what is the root password I can use??

    because without password, the ssh key will not copy on managed node

    ReplyDelete
    Replies
    1. Hi, you can obtain the root password of your server from your System Administrator. or if you forget the root password then you have to reset it.

      Delete