]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/log
ceph-ansible.git
3 years agoswitch-to-containers: ignore errors when stopping service
Guillaume Abrioux [Mon, 17 Oct 2022 08:20:21 +0000 (10:20 +0200)]
switch-to-containers: ignore errors when stopping service

There might be cases where it can break idempotency.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoswitch-to-containers: fix rbd-mirror migration
Guillaume Abrioux [Fri, 14 Oct 2022 17:33:26 +0000 (19:33 +0200)]
switch-to-containers: fix rbd-mirror migration

`--state=enabled` isn't a valid filter so the unit from the packaging
never gets removed.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2134917
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agolibrary/radosgw_user.py: fix user update
John Karasev [Wed, 28 Sep 2022 18:57:41 +0000 (11:57 -0700)]
library/radosgw_user.py: fix user update

Removes the case when display_name was defined prevously but
was not provided when modifying. Without this change the module
will change display_name to name even if display_name was not name
originally. See #7296

Signed-off-by: John Karasev <john.karasev@intel.com>
3 years agoceph-osd: remove unused ceph config set for osd_memory_target
Seena Fallah [Sat, 24 Sep 2022 17:49:09 +0000 (19:49 +0200)]
ceph-osd: remove unused ceph config set for osd_memory_target

As the conf is always being set in the config file there is no need to set it in with `ceph config`.
Also this will make it hard to run the playbook with the `ceph_update_config` tag as it won't run and will create an inconsistency between the config managements of the cluster

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agoceph-config: fix overriding osd_memory_target
Seena Fallah [Sat, 24 Sep 2022 17:46:20 +0000 (19:46 +0200)]
ceph-config: fix overriding osd_memory_target

When the value is overriding in `ceph_conf_overrides`, there is no need to calculate and set `osd_memory_target` again as we wanted to override the conf by our desired value.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agoceph-config: don't check for devices on existing osds
Seena Fallah [Sat, 24 Sep 2022 17:21:41 +0000 (19:21 +0200)]
ceph-config: don't check for devices on existing osds

When osd_auto_discovery is true the `devices` var will be empty (as the disks have holders).
Also in general there is no need to check for devices to list the devices with ceph-volume as we have `default({})` on the stdout in `num_osds` set fact in the next task

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agoceph-config: always set _osd_memory_target
Seena Fallah [Sat, 24 Sep 2022 17:07:36 +0000 (19:07 +0200)]
ceph-config: always set _osd_memory_target

this should be set when rolling_update is true as well, otherwise, it will reset to default on the upgrade

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agocommon: v18/reef kickoff
Guillaume Abrioux [Fri, 7 Oct 2022 08:49:00 +0000 (10:49 +0200)]
common: v18/reef kickoff

align with ceph/ceph/pull/47458 since it has been merged.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agodoc: update README-MULTISITE.md
quangln94 [Fri, 7 Oct 2022 14:23:47 +0000 (16:23 +0200)]
doc: update README-MULTISITE.md

I update the parameters according to this PR: #7315
In addition, where rgw_zonesecondary: True and rgw_zonemaster: False,

I change rgw_zonegroupmaster to be False as those lines below:

https://github.com/ceph/ceph-ansible/blob/main/README-MULTISITE.md?plain=1#L396
https://github.com/ceph/ceph-ansible/blob/main/README-MULTISITE.md?plain=1#L417
https://github.com/ceph/ceph-ansible/blob/main/README-MULTISITE.md?plain=1#L520
https://github.com/ceph/ceph-ansible/blob/main/README-MULTISITE.md?plain=1#L535
Add note at line 205 here https://github.com/ceph/ceph-ansible/blob/main/README-MULTISITE.md?plain=1#L205

Signed-off-by: quangln94 <ngocquang.ptit@gmail.com>
3 years agoUpdate ceph_ec_profile.py
quangln94 [Fri, 23 Sep 2022 07:32:04 +0000 (14:32 +0700)]
Update ceph_ec_profile.py

This parameters "crush_root" unsupported for (ceph_ec_profile) module: crush_root
Follow this issue: https://github.com/ceph/ceph-ansible/issues/7306

3 years agorbd-mirror: add rx peer only once
Guillaume Abrioux [Tue, 13 Sep 2022 14:54:22 +0000 (16:54 +0200)]
rbd-mirror: add rx peer only once

in order to avoid the following error:

```
multiple RX peers are not currently supported
```

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2037646
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agorbd-mirror: fix multiple rbd-mirror daemon support
Guillaume Abrioux [Mon, 12 Sep 2022 13:07:19 +0000 (15:07 +0200)]
rbd-mirror: fix multiple rbd-mirror daemon support

This `run_once: true` breaks multiple rbd-mirror daemons support
as it would make all rbd-mirror daemons use the same keyring.
Each rbd-mirror daemon needs its own keyring in order to start.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2037646
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph-crash: add missing \ in service file
Seena Fallah [Wed, 7 Sep 2022 17:57:34 +0000 (19:57 +0200)]
ceph-crash: add missing \ in service file

regression by: d374e634edbb55cc1012308dff848a42a01fb012

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agoceph-crash: add support cluster name
Seena Fallah [Sat, 27 Aug 2022 20:26:23 +0000 (22:26 +0200)]
ceph-crash: add support cluster name

add cluster name to CEPH_ARGS env var to support custom cluster name
this can change as an arg to ceph-crash when https://github.com/ceph/ceph/pull/47836 released

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
3 years agoceph-config: allow overriding osd_memory_target
Guillaume Abrioux [Tue, 16 Aug 2022 07:43:50 +0000 (09:43 +0200)]
ceph-config: allow overriding osd_memory_target

If `osd_memory_target` is set in group_vars, the default value (4Gb)
should be overridden.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2118544
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoconfig: use osd_memory_target value from ceph_conf_overrides if defined
Guillaume Abrioux [Tue, 9 Aug 2022 20:44:36 +0000 (22:44 +0200)]
config: use osd_memory_target value from ceph_conf_overrides if defined

otherwise it's impossible to override `osd_memory_target`
via `ceph_conf_overrides`.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2056675
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoconfig: do not always set _osd_memory_target
Guillaume Abrioux [Mon, 8 Aug 2022 05:43:54 +0000 (07:43 +0200)]
config: do not always set _osd_memory_target

When 'osd_memory_target' is overridden in ceph_conf_overrides.
The task that sets the fact `osd_memory_target` in the ceph-config role
should be skipped.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2056675#c11
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agorolling_update: fix rbd-mirror play
Guillaume Abrioux [Wed, 3 Aug 2022 07:09:15 +0000 (09:09 +0200)]
rolling_update: fix rbd-mirror play

There's no service to stop/mask when the node being upgraded is
a 'primary node' only (1 way replication).

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agotests: isolate ansible collections
Guillaume Abrioux [Fri, 29 Jul 2022 09:15:17 +0000 (11:15 +0200)]
tests: isolate ansible collections

When Ansible collections are installed, they should be isolated.
Otherwise, they will be shared in any scheduled job.
This might cause issues when running different branch versions for instance.
This also replace `ANSIBLE_CALLBACK_WHITELIST` with `ANSIBLE_CALLBACK_ENABLED` as it's
going to be deprecated in Ansible 2.15.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoadopt: fix placement update calls for rgw
Guillaume Abrioux [Tue, 2 Aug 2022 07:01:04 +0000 (09:01 +0200)]
adopt: fix placement update calls for rgw

The commands called here are not built correctly.
This commit fixes it.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2058038#c27
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoflake8: fix 'error E275 missing whitespace after keyword'
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>