Ansible version > 2.9 Slow

Hi everyone,
I used to run for my playbooks ansible v2.9 and now I’m testing ansible 2.13.
Playbooks are the same but when executing using 2.13, it tooks randomly for some tasks long time (like freeze status for a long time).
No issue related to performance (cpu, ram, network).

Could you give me some advice?
Thanks

Note that because of the very confusing split and renumbering, you are
not testing "ansible 2.13". You're testing what is now called
"ansible-core 2.13". There is no "ansible" 2.13. There is an "ansible"
package which is up to version 7.0.0, and which almost no one has any
reason to use. It is a bundle of more than 100 distinct ansible
collection odules, more safely and consistently handled with the
"ansible collections" command. Avoid confusing the two, that way lies
madness.

It's tough to guess why ansible-core might be running slowly for you.
What operating system are you on? What version of python? Does this
happen with very simple tasks like auditing a list of hosts? Have you
turned off SSH hostkey logging, one of the most burdensome parts of
reaching out to hundreds and thousands of hosts at a time? Are you
running these both on the same operating system with the same
resources? It's very difficult to make a good guess without a lot more
hints.

There is an “ansible” package which is up to version 7.0.0, and which almost no one has any reason to use. It is a bundle of more than 100 distinct ansible collection modules, more safely and consistently handled with the “ansible collections” command.

There is no “ansible collections” command. Do you mean “ansible-galaxy”?

Let’s have a discussion about that. What is the preferred method of doing this?

The “ansible-galaxy collections” command does not offer a way to “update” installed collections.

% ansible-galaxy collection -h

usage: ansible-galaxy collection [-h] COLLECTION_ACTION …

positional arguments:

COLLECTION_ACTION

download Download collections and their dependencies as a tarball for an offline install.

init Initialize new collection with the base structure of a collection.

build Build an Ansible collection artifact that can be published to Ansible Galaxy.

publish Publish a collection artifact to Ansible Galaxy.

install Install collection(s) from file(s), URL(s) or Ansible Galaxy

list Show the name and version of each collection installed in the collections_path.

verify Compare checksums with the collection(s) found on the server and the installed copy. This does

not verify dependencies.

options:

-h, --help show this help message and exit

For this reason I find using the ‘ansible 7.0.0’ with included community collections easier to maintain.

Walter

There is an "ansible" package which is up to version 7.0.0, and which almost no one has any reason to use. It is a bundle of more than 100 distinct ansible collection modules, more safely and consistently handled with the "ansible collections" command.

There is no "ansible collections" command. Do you mean "ansible-galaxy"?

Welcome to the confusing naming schemes of these tools. You're correct
that the command is "ansible-galaxy collections. But they wind up
installed in a directory called "ansible_collecitons", which adds to
the confusion.

Let's have a discussion about that. What is the preferred method of doing this?

The "ansible-galaxy collections" command does not offer a way to "update" installed collections.

% ansible-galaxy collection -h

I suggest going to the actual available source at:

      https://github.com/ansible-collections/

And for comparison to what is in the much, much too large "ansible" tarball:

      https://github.com/ansible-community/ansible-build-data/blob/main/7/ansible-7.1.0.deps

I'd install only those you need. And I'd *definitely* leave out the
Fortinet modules, which are *huge*. They're roughly 150 MBytes of the
total 300 MBytes of the current "ansible" deployment.

Nico Kadel-Garcia <nkadel@gmail.com>