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>
(cherry picked from commit 823700bc1b)
Support updating crush rule of the pool via crush rule name.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit d6ac0cc120)
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>
(cherry picked from commit 5a44fbeaa6)
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>
(cherry picked from commit f6fd034e7e)
Set return code to 0 on check mode when the user doesn't exists and it will fail the module.
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 878cce5b48)
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>
(cherry picked from commit ed4b6e71b3)
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>
(cherry picked from commit a95726c409)
Ceph return them as string so in comparision it would always fail
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit f0b4cc3f0d)
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>
(cherry picked from commit e8d34b6ee6)
This refactor makes the 'name' argument not mandatory because when
'state' is 'info' we shouldn't need to pass it.
The second change is just a duplicate code removal.
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
With ansible-core 2.15 it is not possible to pass argument of unexpected
type, as otherwise module will fail with:
`'None' is not a string and conversion is not allowed`
With that we want to only get all existing crush rules, so we can simply
supply an empty string as a name argument, which would satisfy
requirements and have same behaviour for previous ansible versions.
Alternative approach would be to stop making `name` as a required
argument to the module and use empty string as default value
when info state is used.
Signed-off-by: Dmitriy Rabotyagov <noonedeadpunk@gmail.com>
filestore objectstore will be gone in the next Ceph release.the
This drops the filestore support in ceph-ansible.
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
`name` is a mandatory parameter when `state` is either
`present` or `absent` or `update` or `info`.
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
When creating a RBD pool it needs to be initialized as per documentation[1]
Modified (pre_)generate_ceph_cmd to make it usable with any command with
the same parameters as the ceph command
[1]https://docs.ceph.com/en/latest/rbd/rados-rbd-cmds/#create-a-block-device-pool
Signed-off-by: Teoman ONAY <tonay@redhat.com>
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>
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>
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>
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>
The `crush_device_class` option of the `ceph_ec_profile` module was documented
but not implemented.
This commit adds it and ensures its value is updated on the corresponding EC
profile.
Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
This makes it possible to call `podman run` with custom bind-mounts.
cephadm-adopt.yml playbook needs it for a very specific use case:
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2027411
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
When using ceph-volume lvm create/prepare/batch then the keyring of each
OSD created is displayed in the output.
Let's replace those by some '*' chars.
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
When the ceph dashboard user creation fails then the issue is hidden
as we don't check the return code and don't print the error message
in the module output.
This ends up with a failure on the ceph dashboard set roles command saying
that the user doesn't exist.
By failing on the user creation, we will have an explicit explaination of
the issue (like weak password).
Closes: #6197
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>