Commit Graph

24 Commits (wip-pr-6207-docs-update)

Author SHA1 Message Date
Guillaume Abrioux d7fd46842d library: add module_utils namespace
This adds a new `module_utils` namespace in order to avoid defining same
functions in each module.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2020-11-24 10:38:28 +01:00
Guillaume Abrioux 6938ed1302 ansible.cfg: set force_valid_group_names param
As of 2.10, group names containing a dash are invalid.
However, setting this option makes it still possible to use a dash in
group names and prevent this warning to show up.
It might need to be definitely addressed in a future ansible release.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1880476

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2020-09-24 14:03:49 -04:00
Guillaume Abrioux d682412e2a ansible.cfg: do not enforce PreferredAuthentications
There's no need to enforce PreferredAuthentications by default.
Users can still choose to override the ansible.cfg with any additional
parameter like this one to fit their infrastructure.

Fixes: #4826

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2019-12-09 17:15:09 -05:00
Harald Jensås e695efcaf7 Replace ipaddr() with ips_in_ranges()
This change implements a filter_plugin that is used in the
ceph-facts, ceph-validate roles and infrastucture-playbooks.
The new filter plugin will return a list of all IP address
that reside in any one of the given IP ranges. The new filter
replaces the use of the ipaddr filter.

ceph.conf already support a comma separated list of CIDRs
for the public_network and cluster_network options.

Changes: [1] and [2] introduced a regression in ceph-ansible
where public_network can no longer be a comma separated list
of cidrs.

With this change a comma separated list of subnet CIDRs can
also be used for monitor_address_block and radosgw_address_block.

[1] commit: d67230b2a2
[2] commit: 20e4852888

Related-To: https://bugs.launchpad.net/tripleo/+bug/1840030
Related-To: https://bugzilla.redhat.com/show_bug.cgi?id=1740283

Closes: #4333
Please backport to stable-4.0

Signed-off-by: Harald Jensås <hjensas@redhat.com>
2019-09-27 10:11:53 +02:00
Dimitri Savineau 34f9d51178 tests: Update ansible ssh_args variable
Because we're using vagrant, a ssh config file will be created for
each nodes with options like user, host, port, identity, etc...
But via tox we're override ANSIBLE_SSH_ARGS to use this file. This
remove the default value set in ansible.cfg.

Also adding PreferredAuthentications=publickey because CentOS/RHEL
servers are configured with GSSAPIAuthenticationis enabled for ssh
server forcing the client to make a PTR DNS query.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
2019-06-17 09:24:24 +02:00
Dimitri Savineau a1a871cade ansible.cfg: Add library path to configuration
Ceph module path needs to be configured if we want to avoid issues
like:

no action detected in task. This often indicates a misspelled module
name, or incorrect module path

Currently the ansible-lint command in Travis CI complains about that.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
2019-02-18 19:52:50 +01:00
Guillaume Abrioux b37c4adb32 ansible: increase fact cache timeout
10m seems a bit low, indeed, a complete run can take more than 1h.
Let's increase it to 2h

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2019-02-06 08:58:52 +00:00
Patrick C. F. Ernzer fd222a8bbf ansible.cfg: change log_path to directory used by fact_caching_connection
Since fact_caching_connection uses a directory in $HOME already, write the
ansible.log to the same directory.

Fixes: #3509

Signed-off-by: Patrick C. F. Ernzer <pcfe@redhat.com>
2019-02-05 13:53:28 +00:00
Sébastien Han 5419497726 test: use yaml stdout callback
This provides a much more readable output for tasks. It'll be easier to
debug traces.

Signed-off-by: Sébastien Han <seb@redhat.com>
2018-12-17 14:09:55 +01:00
Andrew Schoen 4b5cac2e07 tests: increase ssh timeout and retries in ansible.cfg
We see quite a few failures in the CI related to testing nodes losing
ssh connection. This modification allows ansible to retry more times and
wait longer before timing out. This seems to really affect testing
scenarios that use a large amount of testing nodes. The centos7_cluster
scenario specifically has 12 nodes and suffered from these failures
often.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-06-07 18:00:52 +02:00
jtudelag 3a9d0c5535 Tune ansible.cfg
Based on the OpenShift one:
https://docs.openshift.com/container-platform/3.7/scaling_performance/install_practices.html#scaling-performance-install-optimization

* Increases number of forks.
* Disables host_key_checking
* Smart gathering facts
* Fact caching jsonfile
* Enables profile_tasks callback
* Mutliplexes ssh connections (ControlMaster)
* Enables pipelining
2018-03-14 13:51:13 +01:00
Andy McCrae 60d4b75f51 Cleanup plugins directories and references
Having callback_plugins, and action plugins in random locations causes
a lot of disparity.

We should centralize this into one place in the plugins directory and
fix up the ansible.cfg to reflect this.

Additionally, since the ansible.cfg already reflects action_plugins, we
don't need a link to action_plugins in the base of the repository.
2018-03-14 11:15:39 +01:00
Guillaume Abrioux 5bf5642556 ansible: set ssh retry option to 5
We noticed that sometime, ceph-ansible can fail with error :

`Failed to connect to the host via ssh:`

It can occurs after the task `restart firewalld` has been played.

Setting `retries` to 5 should prevent from unexcepted ssh failure.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2018-01-23 16:16:20 +01:00
Sébastien Han f188042956 ansible.cfg: increase ssh timeout
CI slaves are slow so by setting a higher value we can avoid the following error:
Timeout (12s) waiting for privilege escalation prompt:

Now we wait for 32 sec...

More info here: https://github.com/ansible/ansible/issues/14426

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-09-06 11:26:36 +02:00
Sébastien Han 955783d5a7 ansible: disable retry files
Closes: https://github.com/ceph/ceph-ansible/issues/1611

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-06-22 15:56:41 +02:00
mh 64b7b88fb7 keep port as part of the control path
On a Vagrant setup, every host is 127.0.0.1 and every user is vagrant.
To not have ansible do the same stuff on the same machine (the one
we connected first), we should keep the port as part of the
control path.

Also this helps in setups where different hosts might be hidden
behind the same IP, but on different ports (e.g. using DNAT).
2017-05-30 18:28:39 +02:00
Sébastien Han ece9c14a33 ansible: add a note in ansible.cfg
Comments inside this file must be set BEFORE the option. NOT after the
option, otherwise the comment will be interpreted as a value to that
option.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-16 14:42:39 +02:00
Sébastien Han 9f2c21972d ansible: fix control path line
If the comment is put after the line then it is interpreted so we need
to move it before and have a dedicated line.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-16 14:39:03 +02:00
Sébastien Han 0e931d2bce ansible: shorten default control_path
Default ansible control_path option is too long, so we shorten it by
changing the ansible.cfg file.

For more info see: https://github.com/ansible/ansible/issues/11536
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1447569

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-11 08:59:52 +02:00
Sébastien Han 6a69fa9495 ansible: add logging path
Ability to log ansible plays in a log file. Default location is
/var/log/ansible.log
Be sure the user running Ansible has permissions on the logfile.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1445065

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-04-25 10:10:09 +02:00
Ivan Font 534b188396 Update for infrastructure-playbooks execution
- Updates to allow running infrastructure-playbooks both from within its
  directory or root directory of ceph-ansible.

Signed-off-by: Ivan Font <ifont@redhat.com>
2016-10-26 09:43:37 -07:00
Sébastien Han 4407967de0 Using config_template
Thanks to @cloudnull great patch at
https://github.com/ansible/ansible/pull/12555
we now have the ability to add more configuration options instead of
having to push a PR to add a new option to the template. So you can
dynamically add and remove flags.

To use it, edit `ceph_conf_overrides` in `group_vars/all` like so:

```
ceph_conf_overrides
 global:
     foo: 12345
     bar: 6789
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-16 17:19:50 +01:00
Sébastien Han 3a083ce1b2 Remove ansible managed header from ceph.conf
Fixes: #125

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-10-10 15:41:31 +02:00
Lorin Hochstein 92c0445989 Use Vagrant's Ansible provisioner
Use Vagrant's built-in support for Ansible provisioner. This eliminates the need
for a hosts file, and simplifies the ansible config file.

Renames config from .ansible.cfg to ansible.cfg since Ansible expects the file
to be called ansible.cfg and be adjacent to Vagrantfile when using the Vagrant
provisioner.
2014-05-11 19:34:37 -04:00