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.

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.

 

This Article Provides:

     

    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.

    2 comments: