Right now, under certain OS and Ansible versions, ie Rocky Linux and
ansible-core 2.17, `devices_check` variable is getting defined even if
task was skipped.
That results in set_fact to fail, as resulting variable has no `results`
key in it.
Structure of such variable looks like that:
```
"devices_check": {
"changed": false,
"false_condition": "osd_auto_discovery | default(False) | bool",
"skip_reason": "Conditional result was False",
"skipped": true
}
```
Checking for task not being skipped solves such issues.
Signed-off-by: Dmitriy Rabotyagov <noonedeadpunk@gmail.com>
If a custom Prometheus port was used before adoption, it was not
taken into account and default 9095 was set instead. Now custom
port is re-applied.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2242346
Signed-off-by: Teoman ONAY <tonay@ibm.com>
ceph orch ls rgw --format=yaml returns multiple documents
when multiple rgw are installed, this was not handled
correctly.
Signed-off-by: Teoman ONAY <tonay@ibm.com>
In some scenarios with NVMe, a device might be identified by
Ansible but could actually be a multipath device rather than an
actual device. We need to exclude these as Ceph cannot create
OSDs on them.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
networks was at the wrong level in the spec file. Failed with
"got an unexpected keyword argument 'networks'"
Signed-off-by: Teoman ONAY <tonay@ibm.com>
Alertmanager was bind to default * network instead of grafana_server_addr
as it was before. Now on if grafana_server_addr is defined, it will be
bind to that network.
Signed-off-by: Teoman ONAY <tonay@ibm.com>
RGW currently restarts without waiting for existing connections to
close. By adjusting the HAProxy weight before the restart, we can
ensure that no active connections are disrupted during the restart
process.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
As is idempotency does not work as the ceph orch
output does contain more attributes than the expected
spec.
Signed-off-by: Teoman ONAY <tonay@ibm.com>
Add new module ceph_orch_spec which applies ceph spec files.
This feature was needed to bind extra mount points to the RGW
container (/etc/pki/ca-trust/).
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2262133
Signed-off-by: Teoman ONAY <tonay@ibm.com>
Make it the same as "Create ceph initial directories" task
and make owner and group 167 for containers so they can write
with ceph user.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
Fixes cephadm-adopt test scenario by configuring rbd application
on test and test2 pools. Otherwise cephadm-adopt failed at task
"Check pools have an application enabled"
Signed-off-by: Teoman ONAY <tonay@ibm.com>
This is needed by ceph-exporter as it is parsing the socket by the number of dots.
Although the rgw_zone variable is only using for constructing the client name
and has nothing to do with multisiting.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
Although custom cluster name support was dropped, it breaks ceph-volume
functional testing as it uses "test" as cluster name.
The plan is to make ceph-volume use "ceph" but for now it's easier to
address the issue in this task.
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
If rgw is configured to only operate admin api - this is the status code it will return for GET on no path.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
This moves the tmpdir removal tasks to main playbook.
The handlers in Ansible are too restrictive and doesn't work
quite well for our use case.
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
This updates all vagrant_variables.yml to bump the default
image from centos/stream8 to centos/stream9
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
This enforces docker.io and docker respectively for
`container_package_name` and `container_service_name` by default
for Ubuntu distribution.
Fixes: #7496
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
Check the current value and asked both in low case as the asked one might be in capital as it should be.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
The returned payload from rgw has them as a boolean. By having them as a string it would always report a change and try to modify the user.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
The returned payload from rgw has is_master as a boolean. By having master as a string it would always report a change and try to modify the zonegroup.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>