]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/log
ceph-ansible.git
3 years agoflake8: fix 'error E275 missing whitespace after keyword' BZ211101-limit-mds
Guillaume Abrioux [Mon, 1 Aug 2022 21:39:35 +0000 (23:39 +0200)]
flake8: fix 'error E275 missing whitespace after keyword'

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: skip rbdmirror tests on non-secondary daemon
Guillaume Abrioux [Mon, 1 Aug 2022 21:12:13 +0000 (23:12 +0200)]
tests: skip rbdmirror tests on non-secondary daemon

the daemon is not running on the 'primary' daemon.
Therefore, these tests are not needed.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: set no_log_on_ceph_key_tasks=false
Guillaume Abrioux [Mon, 1 Aug 2022 18:22:10 +0000 (20:22 +0200)]
tests: set no_log_on_ceph_key_tasks=false

In order to not have to always reproduce it when a failure shows up in the CI
having the failure logged can make us save some time.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agorbd-mirror: follow up on recent rbd-mirror refactor
Guillaume Abrioux [Mon, 1 Aug 2022 18:18:50 +0000 (20:18 +0200)]
rbd-mirror: follow up on recent rbd-mirror refactor

- ensure /var/lib/ceph/bootstrap-rbd-mirror exists
- always install ceph-base on rbdmirror nodes (otherwise, ceph-crash
  isn't present)

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoSet ceph_rbd_mirror_pool default value
Teoman ONAY [Mon, 1 Aug 2022 14:28:23 +0000 (16:28 +0200)]
Set ceph_rbd_mirror_pool default value

Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agoPlaybook fails when using --limit to install new MDS
Teoman ONAY [Mon, 1 Aug 2022 13:36:48 +0000 (15:36 +0200)]
Playbook fails when using --limit to install new MDS

"set_fact container_run_cmd" is not set when using --limit on MDS as facts
were not run on first MON.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2111017
Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agopurge-dashboard: check for legacy group name 'grafana-server'
Guillaume Abrioux [Fri, 29 Jul 2022 11:19:13 +0000 (13:19 +0200)]
purge-dashboard: check for legacy group name 'grafana-server'

When using the legacy group name 'grafana-server', this playbook will run but
won't remove properly all monitoring resources as expected.

Fixes: #7265
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agorbd-mirror: major refactor
Guillaume Abrioux [Thu, 12 May 2022 15:22:54 +0000 (17:22 +0200)]
rbd-mirror: major refactor

- Use config-key store to add cluster peer.
- Support multiple pools mirroring.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agodoc: update readthedoc settings
Guillaume Abrioux [Fri, 29 Jul 2022 14:50:03 +0000 (16:50 +0200)]
doc: update readthedoc settings

This is needed to enforce the python version.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoconfig: followup on 8a5628b51
Guillaume Abrioux [Mon, 11 Jul 2022 14:07:13 +0000 (16:07 +0200)]
config: followup on 8a5628b51

Add missing `--cluster {{ cluster }}` on task
`set osd_memory_target` in the main.yml file of the
ceph-config role.
Also it moves the task after ceph configuration file is actually written.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoconfig/osd: various fixes
Guillaume Abrioux [Mon, 11 Jul 2022 08:23:56 +0000 (10:23 +0200)]
config/osd: various fixes

- sets `osd_memory_target` per osd host.
- ceph.conf refactor (osd)

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2056675
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoconfig: fix indentation in main.yml
Guillaume Abrioux [Mon, 11 Jul 2022 08:03:53 +0000 (10:03 +0200)]
config: fix indentation in main.yml

For consistency and readability.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoRefresh /etc/ceph/osd json files content before zapping the disks
Teoman ONAY [Mon, 4 Jul 2022 09:54:41 +0000 (11:54 +0200)]
Refresh /etc/ceph/osd json files content before zapping the disks

If the physical disk to device path mapping has changed since the
last ceph-volume simple scan (e.g. addition or removal of disks),
a wrong disk could be deleted.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2071035
Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agobackup-and-restore: use archive/unarchive approach
Guillaume Abrioux [Thu, 7 Jul 2022 15:03:34 +0000 (17:03 +0200)]
backup-and-restore: use archive/unarchive approach

current approach is too complex and causes too many issues permission
issues.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2051640
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agopytest: drop test against py <3.8
Guillaume Abrioux [Wed, 6 Jul 2022 01:31:14 +0000 (03:31 +0200)]
pytest: drop test against py <3.8

since the bump to ansible-core 2.12, we have to drop
testing against py36 and py37 given that ansible 2.12 requires python
>=3.8

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agofacts: follow up on f6b49f78
Guillaume Abrioux [Wed, 6 Jul 2022 01:01:14 +0000 (03:01 +0200)]
facts: follow up on f6b49f78

f6b49f78a9f14c37b2ca81fa6172beba8f43adc4 changed a call back to `ipwrap`
This fixes this.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agohandler: update ganesha.pid path
Guillaume Abrioux [Tue, 5 Jul 2022 14:00:59 +0000 (16:00 +0200)]
handler: update ganesha.pid path

Due to some changes [1] in nfs-ganesha-4, we now have to use `/var/run/ganesha/ganesha.pid`

[1] https://github.com/nfs-ganesha/nfs-ganesha/commit/52e15c30d0997c63b72a7187e4271d911609ec13

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agofacts: fix set_radosgw_address.yml
Guillaume Abrioux [Tue, 5 Jul 2022 08:27:39 +0000 (10:27 +0200)]
facts: fix set_radosgw_address.yml

use `include_tasks` instead of `import_tasks`.
Given that with `import_tasks` statements are preprocessed
and the tasks that defines it hasn't been run yet, it will fail
and complain like following:

```
The error was: 'ansible.vars.hostvars.HostVarsVars object' has no attribute '_interface'
```

Using `include_tasks` instead fixes this.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agobackup-and-restore: various fixes
Guillaume Abrioux [Tue, 5 Jul 2022 07:58:02 +0000 (09:58 +0200)]
backup-and-restore: various fixes

- preserve mode and ownership on main directories
- make sure the directories are well present prior to restoring files.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2051640
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agofacts: fix deployments with different net interface names
Guillaume Abrioux [Thu, 16 Jun 2022 14:53:14 +0000 (16:53 +0200)]
facts: fix deployments with different net interface names

Deployments when radosgws don't have the same names for
network interface.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2095605
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: add yes_i_know=true in tox-shrink_osd.ini
Guillaume Abrioux [Mon, 4 Jul 2022 13:17:30 +0000 (15:17 +0200)]
tests: add yes_i_know=true in tox-shrink_osd.ini

main branch requires it. Otherwise the playbook won't run.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: drop shrink_osd from tox.ini
Guillaume Abrioux [Mon, 4 Jul 2022 11:33:24 +0000 (13:33 +0200)]
tests: drop shrink_osd from tox.ini

shrink_osd has its own tox config file (tox-shrink_osd.ini)

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocommon: fix a typo
Guillaume Abrioux [Sun, 3 Jul 2022 05:17:58 +0000 (07:17 +0200)]
common: fix a typo

s/of/or ..

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2099828#c25
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agobackup-and-restore: fix check on 'target_node' variable
Guillaume Abrioux [Wed, 29 Jun 2022 06:59:55 +0000 (08:59 +0200)]
backup-and-restore: fix check on 'target_node' variable

If the user doesn't pass a valid name (present in the inventory)
the playbook will fail like following:

```
fatal: [localhost -> {{ target_node }}]: FAILED! =>
  msg: |-
    The task includes an option with an undefined variable. The error was: "hostvars['10.70.46.40']" is undefined
```

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2051640
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agobackup-and-restore: fix check on 'mode' variable
Guillaume Abrioux [Wed, 29 Jun 2022 06:40:13 +0000 (08:40 +0200)]
backup-and-restore: fix check on 'mode' variable

Typical failure:

```
fatal: [localhost]: FAILED! =>
  msg: |-
    The conditional check 'mode not in ['backup', 'restore']' failed. The error was: error while evaluating conditional (mode not in ['backup', 'restore']): 'mode' is undefined
```

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2051640
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoRevert "upgrade: block upgrade when rgw multisite is active"
Guillaume Abrioux [Tue, 28 Jun 2022 11:34:12 +0000 (13:34 +0200)]
Revert "upgrade: block upgrade when rgw multisite is active"

This reverts commit 51bc8cb63642b5b1ca460e79adf4649d92773aa4.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoRevert "tests: use build main/6f765e2"
Guillaume Abrioux [Wed, 22 Jun 2022 08:11:40 +0000 (10:11 +0200)]
Revert "tests: use build main/6f765e2"

This reverts commit a568314eda48f2e1864ddc1e7648542db3034e7f.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agonfs: use repo from SIG
Guillaume Abrioux [Wed, 15 Jun 2022 11:45:48 +0000 (13:45 +0200)]
nfs: use repo from SIG

RPMs for nfs-ganesha aren't hosted anymore at https://download.ceph.com

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoRevert "tests: temporarily disable nfs-ganesha"
Guillaume Abrioux [Wed, 15 Jun 2022 11:45:11 +0000 (13:45 +0200)]
Revert "tests: temporarily disable nfs-ganesha"

This reverts commit 3f923d69acf6c26c4e49ee86f8dd96d2dd509f31.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoadd better clarification on ceph-ansible current status
Guillaume Abrioux [Wed, 15 Jun 2022 07:16:26 +0000 (09:16 +0200)]
add better clarification on ceph-ansible current status

Given that the project is still maintained for the time being, let's add a better
comment about that.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agomergify: reindent file properly
Guillaume Abrioux [Wed, 15 Jun 2022 09:24:40 +0000 (11:24 +0200)]
mergify: reindent file properly

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agomergify: add backport configuration for stable-7.0
Guillaume Abrioux [Wed, 15 Jun 2022 09:23:51 +0000 (11:23 +0200)]
mergify: add backport configuration for stable-7.0

So we can ask mergify to do automatic backport in stable-7.0

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agobackup-and-restore: fix a typo
Guillaume Abrioux [Wed, 15 Jun 2022 08:46:52 +0000 (10:46 +0200)]
backup-and-restore: fix a typo

Typo introduced during initial implementation.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2051640
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: use build main/6f765e2
Guillaume Abrioux [Tue, 14 Jun 2022 20:57:30 +0000 (22:57 +0200)]
tests: use build main/6f765e2

shaman is broken at the moment, this is the last working build on 'main'

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoansible: bump to ansible 2.12
Guillaume Abrioux [Tue, 14 Jun 2022 16:18:36 +0000 (18:18 +0200)]
ansible: bump to ansible 2.12

Add required changes to support ansible 2.12

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agofix(ceph-grafana): make dashboard download work again
Michael Wagner [Fri, 10 Jun 2022 15:10:23 +0000 (17:10 +0200)]
fix(ceph-grafana): make dashboard download work again

This fixes the dashboard download for pacific and later.

Signed-off-by: Michael Wagner <mitch.wagna@gmail.com>
3 years agomergify: add restriction on backport command
Guillaume Abrioux [Tue, 14 Jun 2022 07:54:10 +0000 (09:54 +0200)]
mergify: add restriction on backport command

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agodoc: update ansible version requirement
Guillaume Abrioux [Mon, 13 Jun 2022 07:22:10 +0000 (09:22 +0200)]
doc: update ansible version requirement

This updates the documentation regarding the Ansible version
requirement for `stable-6.0` branch.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph_pool: set target size ratio on both 'on' and 'warn' mode
Seena Fallah [Mon, 25 Apr 2022 22:07:28 +0000 (00:07 +0200)]
ceph_pool: set target size ratio on both 'on' and 'warn' mode

when we set target_size_ratio to warn it means that the administrator wants to get suggestion from the mgr module but apply it manually when he/she wants. So it's in the same approach as 'on' mode just triggered by hand.
So there is no need to set pg_num when target_size_ratio is 'warn' and the mgr module will calculate the correct pg_num and the administrator will adjust it whenever he/she wants.

It is the same approach that was in #6471

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agowhitelist->allowlist
David Galloway [Tue, 24 May 2022 18:43:05 +0000 (14:43 -0400)]
whitelist->allowlist

https://github.com/tox-dev/tox/blob/master/docs/changelog.rst#v3180-2020-07-23

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agomaster->root
David Galloway [Tue, 24 May 2022 18:40:41 +0000 (14:40 -0400)]
master->root

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agomaster->main
David Galloway [Tue, 24 May 2022 18:40:00 +0000 (14:40 -0400)]
master->main

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agocephadm_adopt: set autotune_memory_target_ratio
Guillaume Abrioux [Fri, 13 May 2022 11:28:55 +0000 (13:28 +0200)]
cephadm_adopt: set autotune_memory_target_ratio

This adds a task that sets `autotune_memory_target_ratio` depending on the
value of `is_hci`.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2028693
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoAdd ceph_infra tag to rolling_update
Francesco Pantano [Wed, 25 May 2022 19:32:19 +0000 (21:32 +0200)]
Add ceph_infra tag to rolling_update

When the upgrade from Ceph 4 to 5 is performed in the OpenStack context,
ceph-ansible triggers the rolling_update playbook, which is supposed to
rollout new Ceph containers.  The ceph-infra role tries to take care
about firewall, ntp config and logrotate; however, TripleO manages them
through tripleo-heat-templates.  This patch just add an additional tag
to skip the ceph-infra role in the OpenStack context.

Closes: https://bugzilla.redhat.com/2090456
Signed-off-by: Francesco Pantano <fpantano@redhat.com>
3 years agopurge: reset-failed ceph-crash
Guillaume Abrioux [Mon, 23 May 2022 07:49:10 +0000 (09:49 +0200)]
purge: reset-failed ceph-crash

This ensures we always reset-failed the ceph-crash service.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2055992
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: use latest version for pytest
Guillaume Abrioux [Thu, 12 May 2022 19:17:51 +0000 (21:17 +0200)]
tests: use latest version for pytest

with the bump of py version, let's use newer version for pytest.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: install ansible.utils collection
Guillaume Abrioux [Thu, 12 May 2022 19:16:46 +0000 (21:16 +0200)]
tests: install ansible.utils collection

otherwise, it's missing for external_clients and subset_update jobs

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocollections: install ansible.utils
Guillaume Abrioux [Thu, 12 May 2022 19:01:44 +0000 (21:01 +0200)]
collections: install ansible.utils

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocommon: move to `ansible.utils.ipwrap`
Guillaume Abrioux [Thu, 12 May 2022 18:49:04 +0000 (20:49 +0200)]
common: move to `ansible.utils.ipwrap`

ipwrap has moved to ansible.utils

see
https://github.com/ansible-collections/ansible.netcommon/commit/db4920ebf6bae6476ff8829e2cf475f19f83a990

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocommon: config rhcs tools repo on all nodes
Guillaume Abrioux [Thu, 28 Apr 2022 08:46:35 +0000 (10:46 +0200)]
common: config rhcs tools repo on all nodes

Otherwise `cephadm` can't be installed during cephadm-adopt.yml
playbook execution.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2073480
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocephadm-adopt: remove legacy directory after adoption
Guillaume Abrioux [Wed, 11 May 2022 11:47:46 +0000 (13:47 +0200)]
cephadm-adopt: remove legacy directory after adoption

When this directory is left after the osd adoption, it leads to the following error:

```
[WRN] CEPHADM_REFRESH_FAILED: failed to probe daemons or devices
    host axdesec2ocs1n002.ecommerce.inditex.grp `cephadm ceph-volume` failed: cephadm exited with an error code: 1, stderr:Inferring config /var/lib/ceph/41555360-e96b-4b16-a37c-873e0c940091/mon.axdesec2ocs1n002/config
ERROR: [Errno 2] No such file or directory: '/var/lib/ceph/41555360-e96b-4b16-a37c-873e0c940091/mon.axdesec2ocs1n002/config'.
```

this is because of an unexpected behavior regarding 'config inferring' when a legacy directory is present in /var/lib/ceph.

Note: this doesn't fix the root cause, this is a workaround.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2075510
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocontrib: add a playbook
Guillaume Abrioux [Tue, 12 Apr 2022 17:48:18 +0000 (19:48 +0200)]
contrib: add a playbook

this playbook can backup or restore some ceph files.
(/etc/ceph, /var/lib/ceph, ...)

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2051640
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoWarn about ceph-ansible deprecation
Guillaume Abrioux [Wed, 27 Apr 2022 15:00:56 +0000 (17:00 +0200)]
Warn about ceph-ansible deprecation

The official installer is now cephadm. stable-6.0 is the last
release of ceph-ansible such as we know it.

It will become a playbook intended for deploying minimal
Ceph cluster (mostly for development/testing purposes)

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: update vagrant_box default value
Guillaume Abrioux [Tue, 26 Apr 2022 11:45:50 +0000 (13:45 +0200)]
tests: update vagrant_box default value

This updates the default value for the vagrant_box variable
in all vagrant_variables.yml files

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests/setup: Use local mirror of centos 8 stream repo
David Galloway [Wed, 13 Apr 2022 18:51:08 +0000 (14:51 -0400)]
tests/setup: Use local mirror of centos 8 stream repo

The mirrors provided by CentOS' mirrorlists are super slow

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agoadded AlmaLinux and Rocky for iscsi deploy
Ingo Ebel [Thu, 31 Mar 2022 12:10:14 +0000 (14:10 +0200)]
added AlmaLinux and Rocky for iscsi deploy

Signed-off-by: Ingo Ebel <ingo.ebel@desy.de>
3 years agodashboard: allow collecting stats from the host
Guillaume Abrioux [Tue, 7 Dec 2021 14:43:45 +0000 (15:43 +0100)]
dashboard: allow collecting stats from the host

This commit makes podman bindmount `/:/rootfs:ro` so the container can
collect data from the host.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2028775
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph-facts: fix ansible templating error for auto osd discovery
pinotelio [Mon, 4 Apr 2022 09:48:14 +0000 (14:18 +0430)]
ceph-facts: fix ansible templating error for auto osd discovery

This commit fixes templating error that occurs when using auto osd discovery. Getting the len before converting the result to a list causes "object of type generator has no len()" error.

Signed-off-by: pinotelio <ahmadreza.mollapour@gmail.com>
3 years agovalidate: drop a check
Guillaume Abrioux [Mon, 28 Mar 2022 09:49:39 +0000 (11:49 +0200)]
validate: drop a check

Since the ISO install method removal, ceph-ansible isn't able
to detect wheter the user is deploying in a 'disconnected environment'.
By the way, given that ceph-ansible is available only for upgrading to RHCS 5,
this check doesn't make sense anymore, let's drop it.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2062147
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agodo not update Debian cache when package-install is disabled
insatomcat [Wed, 30 Mar 2022 13:48:02 +0000 (15:48 +0200)]
do not update Debian cache when package-install is disabled

When deploying with --skip-tags=package-install (when there is no access to a repository), the playbook is still trying to update the package cache, which makes the playbook fail.
This change prevents the playbook to try to update the cache when the package-install tag is skipped.

Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
3 years agodashboard: always set `dashboard_server_addr`
Guillaume Abrioux [Fri, 25 Mar 2022 08:14:56 +0000 (09:14 +0100)]
dashboard: always set `dashboard_server_addr`

When running the playbook with `--limit`, if the play targeted doesn't match
hosts present in the mgr group the playbook can fail.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2063029
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoUsing another user than root for cephadm ssh connections fails
Teoman ONAY [Thu, 17 Mar 2022 14:13:06 +0000 (15:13 +0100)]
Using another user than root for cephadm ssh connections fails

Fixes commit da42f3d139e595d09edfb30334fbc7ce17ffa3fe

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2048734
Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agotests: update the system before deploying
Guillaume Abrioux [Fri, 18 Mar 2022 13:41:40 +0000 (14:41 +0100)]
tests: update the system before deploying

Having a system up-to-date is usually a good idea.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoupgrade: block upgrade when rgw multisite is active
Guillaume Abrioux [Fri, 18 Mar 2022 12:41:17 +0000 (13:41 +0100)]
upgrade: block upgrade when rgw multisite is active

With this commit, upgrading a cluster from Nautilus to Pacific with
active rgw multisite replication will be blocked.
This is because a lot of bugs are currently present in Pacific regarding
RGW multisite.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2063702
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoTurn off SELinux separation for containers MON and RGW
Teoman ONAY [Mon, 7 Mar 2022 09:31:14 +0000 (10:31 +0100)]
Turn off SELinux separation for containers MON and RGW

Initially MONs and RGW binded /etc/pki/ca-trust/extracted using the :z flag
(introduced to solve an OSP TripleO issue on RHEL - #3638) but using
this flag prevents local services (like sssd) running on the host from accessing
the certificates/files in that folder.

Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agoadopt: fix node labelling
Guillaume Abrioux [Thu, 3 Mar 2022 12:44:53 +0000 (13:44 +0100)]
adopt: fix node labelling

When using group of group, the playbook will apply undesired
labels on nodes.
This commit fixes it by applying only the expected labels.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2057528
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoAdd cluster custom name support
Teoman ONAY [Thu, 24 Feb 2022 11:01:19 +0000 (12:01 +0100)]
Add cluster custom name support

When using cluster custom names, cephadm commands are executed using
the default admin keyring name which fails.

Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agoEnable user to change the account used for ssh connection
Teoman ONAY [Mon, 7 Feb 2022 13:23:49 +0000 (14:23 +0100)]
Enable user to change the account used for ssh connection

By default cephadm uses root account to connect remotely
to other nodes in the cluster. This change allows to choose
another account.
This commit also allows to use a dedicated subnet for cephadm mgmt.

Signed-off-by: Teoman ONAY <tonay@redhat.com>
3 years agopurge: ceph-crash purge fixes
Guillaume Abrioux [Mon, 28 Feb 2022 08:51:36 +0000 (09:51 +0100)]
purge: ceph-crash purge fixes

This fixes the service file removal and makes the playbook
call `systemctl reset-failed` on the service because in Ceph
Nautilus, ceph-crash doesn't handle `SIGTERM` signal.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2055992
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoswitch2containers: fail if less than 3 monitors
Guillaume Abrioux [Mon, 21 Feb 2022 16:12:06 +0000 (17:12 +0100)]
switch2containers: fail if less than 3 monitors

This playbook doesn't support less than 3 monitors present in the inventory.
Just like the rolling_update playbook, let's fail if less than
3 monitors are present.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2049132
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph-facts: ignore mounted disks on osd auto discovery
Seena Fallah [Sat, 15 Jan 2022 16:34:03 +0000 (20:04 +0330)]
ceph-facts: ignore mounted disks on osd auto discovery

Ignore disks with active mountpoint when osd_auto_discovery is true

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agotests/library: Add radosgw_caps tests
Mathias Chapelain [Tue, 25 Jan 2022 14:10:37 +0000 (15:10 +0100)]
tests/library: Add radosgw_caps tests

Provide basic tests for `radosgw_caps` module.

Signed-off-by: Mathias Chapelain <mathias.chapelain@proton.ch>
3 years agolibrary: Add radosgw_caps to manage capabilities
Mathias Chapelain [Tue, 18 Jan 2022 15:04:16 +0000 (16:04 +0100)]
library: Add radosgw_caps to manage capabilities

This commit add `radosgw_caps` module to be able to manage RadosGW users
capabilities.

Usage from module's documentation:
```YAML
- name: add users read write and all buckets capabilities
  radosgw_caps:
    name: foo
    state: present
    caps:
      - users=read,write
      - buckets=*
- name: remove usage write capabilities
  radosgw_caps:
    name: foo
    state: absent
    caps:
      - usage=write
```

This module support check mode by simulating the original `radosgw-admin`
behavior when adding capabilities.

Signed-off-by: Mathias Chapelain <mathias.chapelain@proton.ch>
3 years agomodule_utils/ca_common: Add optional diff argument to exit_module
Mathias Chapelain [Fri, 4 Feb 2022 18:33:18 +0000 (19:33 +0100)]
module_utils/ca_common: Add optional diff argument to exit_module

Add optional `diff` argument defaulting to `{ "before": "", "after": ""}`.

Signed-off-by: Mathias Chapelain <mathias.chapelain@proton.ch>
3 years agorpm: fix packaging
Guillaume Abrioux [Tue, 15 Feb 2022 16:25:05 +0000 (17:25 +0100)]
rpm: fix packaging

This fixes a couple of issues:

- ansible 2.10 isn't packaged.
- MOCK_CONFIG variable is wrong (centos 8 is EOL)

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoUpdate EPEL mock config
Joel Capitao [Wed, 2 Feb 2022 10:09:55 +0000 (11:09 +0100)]
Update EPEL mock config

CL8 is EOL since 31st January 2022 [1].
So the EPEL mock config needs to be switched to
new one supported [2][3].

[1] https://www.centos.org/centos-linux-eol/
[2] https://pagure.io/epel/issue/133
[3] https://github.com/rpm-software-management/mock/pull/817

Signed-off-by: Joel Capitao <jcapitao@redhat.com>
3 years agolibrary/ceph_pool: Fix potential null value when creating pools
Mathias Chapelain [Fri, 11 Feb 2022 14:11:22 +0000 (15:11 +0100)]
library/ceph_pool: Fix potential null value when creating pools

Before, creating a pool by providing *only* `pg_num` would result in an
error as it would produce `--pgp-num null`.

This commit fix this behavior by defaulting `pgp_num` value to `pg_num`.

Signed-off-by: Mathias Chapelain <mathias.chapelain@proton.ch>
3 years agoadopt: fix rbd-mirror adoption
Guillaume Abrioux [Wed, 9 Feb 2022 16:29:29 +0000 (17:29 +0100)]
adopt: fix rbd-mirror adoption

We can't use `{{ cephadm_cmd }}` here because the monitors aren't yet adopted.
We must use `{{ ceph_cmd }}` instead.
This also fixes some filters `| default()` (they must be moved before `| from_json()`)

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1967440
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoadopt: fix bug in mon_ip_list set_fact
Guillaume Abrioux [Tue, 8 Feb 2022 17:02:24 +0000 (18:02 +0100)]
adopt: fix bug in mon_ip_list set_fact

`default('{}')` must be before `| from_json`

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoadopt: check for POOL_APP_NOT_ENABLED warning
Guillaume Abrioux [Mon, 7 Feb 2022 15:08:40 +0000 (16:08 +0100)]
adopt: check for POOL_APP_NOT_ENABLED warning

This commit makes the cephadm-adopt playbook fail if the cluster
has the `POOL_APP_NOT_ENABLED` warning raised.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2040243
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph-facts: Fix get_def_crush_rule_name.yml in check mode
Benoît Knecht [Mon, 13 Dec 2021 15:36:27 +0000 (16:36 +0100)]
ceph-facts: Fix get_def_crush_rule_name.yml in check mode

This construct doesn't work as intended since ansible/ansible#74212:

```
item.stdout | default('{}') | from_json
```

That PR made the `command` module return `stdout` even in check mode (setting
it to the empty string), so `default()` has no effect in that case and
`from_json()` fails to parse an empty string.

Instead, `default()` needs to be invoked with its second argument set to
`True`, so that it replaces any `False` value (such as an empty string) with
its first argument:

```
item.stdout | default('{}', True) | from_json
```

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
3 years agoceph-osd: Fix crush_rules.yml in check mode
Benoît Knecht [Mon, 13 Dec 2021 13:41:23 +0000 (14:41 +0100)]
ceph-osd: Fix crush_rules.yml in check mode

Set a default value for `item.stdout` before passing it to `from_json()`. The
`when` condition doesn't prevent this template from being evaluated in check
mode, so it fails if `item.stdout` doesn't contain a valid JSON string.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
3 years agoceph-osd: Fix start_osds.yml in check mode
Benoît Knecht [Mon, 13 Dec 2021 12:59:17 +0000 (13:59 +0100)]
ceph-osd: Fix start_osds.yml in check mode

This construct doesn't work as intended since ansible/ansible#74212:

```
ceph_osd_ids.stdout | default('{}') | from_json
```

That PR made the `command` module return `stdout` even in check mode (setting
it to the empty string), so `default()` has no effect in that case and
`from_json()` fails to parse an empty string.

Instead, `default()` needs to be invoked with its second argument set to
`True`, so that it replaces any `False` value (such as an empty string) with
its first argument:

```
ceph_osd_ids.stdout | default('{}', True) | from_json
```

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
3 years agoceph-grafana: Add proxy env vars to grafana service template
John Karasev [Tue, 27 Apr 2021 20:52:48 +0000 (13:52 -0700)]
ceph-grafana: Add proxy env vars to grafana service template

When installing grafana plugins, the container will make http requests.
This requires http proxy otherwise installation cannot be performed. Passed
the proxy vars from all.yml as env args.
Fixes: ceph#6484, ceph#6481
Signed-off-by: John Karasev <john.karasev@intel.com>
3 years agoRemove the remaining packages
jowsiewski [Thu, 20 Jan 2022 13:24:00 +0000 (14:24 +0100)]
Remove the remaining packages

Signed-off-by: jowsiewski <owsiewski@gmail.com>
3 years agoAdd with_pkg tag on package related tasks
Francesco Pantano [Mon, 31 Jan 2022 16:25:19 +0000 (17:25 +0100)]
Add with_pkg tag on package related tasks

In the OpenStack context we let the integration tool (TripleO)
deal with repositories and packages.
This change just adds the with_pkg tag to allow TripleO skipping
both the repositories and packages installation.

Signed-off-by: Francesco Pantano <fpantano@redhat.com>
3 years agotests: use centos stream-8 instead of centos 8
Guillaume Abrioux [Mon, 31 Jan 2022 12:42:10 +0000 (13:42 +0100)]
tests: use centos stream-8 instead of centos 8

CentOS 8 is EOL as of December 2021.
Let's use CentOS stream 8 instead.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoadopt: create nfs exports at the user level
Guillaume Abrioux [Fri, 28 Jan 2022 13:12:07 +0000 (14:12 +0100)]
adopt: create nfs exports at the user level

The current implementation is wrong.
ceph-ansible lists all existing buckets and try to create
an export for each of them.
Instead, it's easier to create the export at the user level.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2037691
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agonfs-ganesha: fix debian based OS deployments
Guillaume Abrioux [Wed, 19 Jan 2022 09:19:37 +0000 (10:19 +0100)]
nfs-ganesha: fix debian based OS deployments

Let's use ppa repositories in order to deploy nfs-ganesha on Debian based OS.

Fixes: #7031
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoUse upstream config_template collection
Dmitriy Rabotyagov [Thu, 13 Jan 2022 15:57:50 +0000 (17:57 +0200)]
Use upstream config_template collection

In order to reduce need of module
internal maintenance and to join forces on plugin development,
it's proposed to switch to using upstream version of
config_template module.

As it's shipped as collection, it's installation for end-users
is trivial and aligns with general approach of shipping extra modules.

Signed-off-by: Dmitriy Rabotyagov <noonedeadpunk@ya.ru>
3 years agoFix rich version for ansible-lint
Dmitriy Rabotyagov [Thu, 13 Jan 2022 16:17:14 +0000 (18:17 +0200)]
Fix rich version for ansible-lint

Ansible-lint prior to v5.3.1 has issue with reach version >=11.0.0.
In order to cherry-pick fix to stable branches we fix rich version.

This should be reverted with ansible-lint version bump.

Signed-off-by: Dmitriy Rabotyagov <noonedeadpunk@ya.ru>
3 years agocephadm: set allow_overwrite at bootstrap step
yasinlachiny [Fri, 17 Dec 2021 23:02:32 +0000 (02:32 +0330)]
cephadm: set allow_overwrite at bootstrap step

Signed-off-by: yasinlachiny <yasin.lachiny@gmail.com>
3 years agocephadm-adopt: use named args in rgw export creation
Guillaume Abrioux [Thu, 6 Jan 2022 13:33:42 +0000 (14:33 +0100)]
cephadm-adopt: use named args in rgw export creation

In order to avoid breaking changes, let's use named argument
instead of positional argument syntax in the command line
used to create rgw export.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2037691
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph-handler: Fix check mode
Benoît Knecht [Thu, 30 Dec 2021 14:08:08 +0000 (15:08 +0100)]
ceph-handler: Fix check mode

When running in check mode with one or more Ceph daemons that need to be
restarted, the `tmpdirpath.path` variable that several handlers rely on is
undefined, leading to fatal errors.

This commit ensures the tasks that require `tmpdirpath.path` are skipped when
it's undefined.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
3 years agotests: temporarily disable nfs-ganesha
Guillaume Abrioux [Wed, 5 Jan 2022 08:52:35 +0000 (09:52 +0100)]
tests: temporarily disable nfs-ganesha

This commit [1] seems to have broken a selinux policy preventing nfs-ganesha from
starting properly.

Since we can't address the issue in ceph-ansible, let's disable temporarily nfs-ganesha testing.

[1] https://github.com/nfs-ganesha/nfs-ganesha/commit/dae2da63d58ae6bfe9ee813b5a59bc40102d7b8d

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocommon: remove legacy repositories
Guillaume Abrioux [Wed, 15 Dec 2021 12:25:49 +0000 (13:25 +0100)]
common: remove legacy repositories

As of rhceph-5, those repositories don't longer exist.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2032790
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoupdate: speed up client play
Guillaume Abrioux [Tue, 9 Nov 2021 14:35:12 +0000 (15:35 +0100)]
update: speed up client play

wip

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocontainer: align systemd units with rpm
Guillaume Abrioux [Wed, 8 Dec 2021 16:37:14 +0000 (17:37 +0100)]
container: align systemd units with rpm

Update `After=` and `Wants=` parameters in container systemd units
and make them be aligned with the systemd units that come
from the packaging.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2027440
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agocephadm-adopt: ensure /etc/ceph is present on monitoring node
Guillaume Abrioux [Tue, 7 Dec 2021 20:11:50 +0000 (21:11 +0100)]
cephadm-adopt: ensure /etc/ceph is present on monitoring node

When deploying the monitoring stack on a dedicated node, the directory
`/etc/ceph` has never been created. Therefore, the play for adopting the
monitoring stack fails because it can't write the minimal config file.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2029697
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agomake grafana network a configurable option
Danny Webb [Tue, 23 Nov 2021 16:28:02 +0000 (16:28 +0000)]
make grafana network a configurable option

Signed-off-by: Danny Webb <danny.webb@thehutgroup.com>