- Nov 30, 2020
-
-
Dimitri Savineau authored
This adds ceph_mgr_module ansible module for replacing the command module usage with the ceph mgr module enable/disable commands. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Dimitri Savineau authored
To avoid duplicate code. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Dimitri Savineau authored
- The plugins/filter directory wasn't present in the flake8 workflow configuration. - Fix the flake8 syntax. - Add the directory to PYTHONPATH environment variable for pytest to avoid importing the plugin filter via sys. - Add unittest on missing netaddr module import. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
- Nov 27, 2020
-
-
Guillaume Abrioux authored
`ceph.target` should be disabled only. Otherwise, in collocation scenario you stop other collocated services in the OSD play which isn't what we want to do. Each daemon has its corresponding play for managing the transition to container. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1901865 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Dimitri Savineau authored
Set the owner/group on alertmanager and prometheus directories and files to nobody and nogroup (uid and gid 65534) to avoid permission issues. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1901543 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Dimitri Savineau authored
This adds the module_utils and associated test directory into the flake8 and pytest workflow configuration. It also moves the ca_common module_utils test file from tests/library to it's own directory tests/module_utils. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
- Nov 26, 2020
-
-
Guillaume Abrioux authored
- update `generate_ceph_cmd()` so `user_key` is automatically built from `cluster` and `user` params. - update and add testing. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
pr #6054 got merged but could have been updated to use `ca_common` for `exit_module()` Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 25, 2020
-
-
Dimitri Savineau authored
Starting RHCS 5, only containerized deployment is available. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Dimitri Savineau authored
Since the action values are already defined as a list of choices in ansible then we will never enter into this condition. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Dimitri Savineau authored
This adds ceph_volume_simple_{activate,scan} ansible modules for replacing the command module usage with the ceph-volume simple activate/scan commands. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Guillaume Abrioux authored
adding monitor is no longer possible because we generate a new mon keyring each time the playbook is run. Fixes: #5864 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
We can achieve this task using `copy` module. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 24, 2020
-
-
Dimitri Savineau authored
When using a custom pool for iSCSI gateway then we need to set the pool name in the configuration otherwise the default rbd pool name will be used. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Guillaume Abrioux authored
This sets the `PYTHONPATH` environment variable so we can run pytest with the recent module refactor (module_utils introduction) Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
since we added `ca_test_common.py` let's use it in `test_ceph_key.py` Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Let's replace `command` tasks with `ceph_ec_profile` calls Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
This commit adds a new module `ceph_ec_profile` to manage erasure code profiles. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
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>
-
- Nov 23, 2020
-
-
Guillaume Abrioux authored
Let's use a github workflow instead of travis for this. With this commit we can get rid of Travis. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
ignore 302,303 and 505 errors [302] Using command rather than an argument to e.g. file [303] Using command rather than module [505] referenced files must exist they aren't relevant on these tasks. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible-lint 504 error: [504] Do not use 'local_action', use 'delegate_to: localhost' Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible-lint 201 error: [201] Trailing whitespace Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible-lint 502 error: [502] All tasks should be named Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible-lint 305 error: [305] Use shell only when shell functionality is required Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible lint 601 error: [601] Don't compare to literal True/False Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible lint 206 error: [206] Variables should have spaces before and after: {{ var_name }} Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible lint 301 error: [301] Commands should not change things if nothing needs doing Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
Fix ansible lint 306 error: [306] Shells that use pipes should set the pipefail option Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
let's use github workflow instead of travis. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 19, 2020
-
-
Guillaume Abrioux authored
This commit ensures that the `/var/lib/ceph/osd/{{ cluster }}-{{ osd_id }}` is present before starting OSDs. This is needed specificly when redeploying an OSD in case of OS upgrade failure. Since ceph data are still present on its devices then the node can be redeployed, however those directories aren't present since they are initially created by ceph-volume. We could recreate them manually but for better user experience we can ask ceph-ansible to recreate them. NOTE: this only works for OSDs that were deployed with ceph-volume. ceph-disk deployed OSDs would have to get those directories recreated manually. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1898486 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 18, 2020
-
-
Dimitri Savineau authored
We don't need to use run_once on that task when having running monitors otherwise the read task could be skip and the set task will fail. The conditional check 'crush_rule_variable.rc == 0' failed. The error was: error while evaluating conditional (crush_rule_variable.rc == 0): 'dict object' has no attribute 'rc' Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1898856 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
- Nov 17, 2020
-
-
Dimitri Savineau authored
Move the pytest testing from TravisCI to Github workflow. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Guillaume Abrioux authored
This commit changes the bind mount option for the mount point `/var/lib/ceph` in the systemd template for mon and mgr containers. This is needed in case of collocating mon/mgr with osds using dmcrypt scenario. Once mon/mgr got converted to containers, the dmcrypt layer sub mount is still seen in `/var/lib/ceph`. For some reason it makes the corresponding devices busy so any other container can't open/close it. As a result, it prevents osds from starting properly. Since it only happens on the nodes converted before the OSD play, the idea is to bind mount `/var/lib/ceph` on mon and mgr with the `rshared` option so once the sub mount is unmounted, it is propagated inside the container so it doesn't see that mount point. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1896392 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 16, 2020
-
-
Dimitri Savineau authored
fa2bb3af only fix the symlink owner/group issue in the OSD play. If the OSDs are collocated with other services like MONs and MGRs then the chown command will fail. $ find /var/lib/ceph/osd/ceph-0 -not -user 167 -execdir chown 167:167 {} + chown: cannot dereference './block': Permission denied Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1896448 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-
Guillaume Abrioux authored
This is a workaround to avoid error like following: ``` Error: error creating container storage: the container name "ceph-mgr-magna022" is already in use by "4a5f674e113f837a0cc561dea5d2cd55d16ca159a647b7794ab06c4c276ef701" ``` that doesn't seem to be 100% reproducible but it shows up after a reboot. The only workaround we came up with at the moment is to run `podman rm --storage <container>` before starting it. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1887716 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 13, 2020
-
-
Benoît Knecht authored
The `osd_pool_default_crush_rule` is set based on `crush_rule_variable`, which is the output of a `grep` command. However, two consecutive tasks can set that variable, and if the second task is skipped, it still overwrites the `crush_rule_variable`, leading the `osd_pool_default_crush_rule` to be set to `ceph_osd_pool_default_crush_rule` instead of the output of the first task. This commit ensures that the fact is set right after the `crush_rule_variable` is assigned, before it can be overwritten. Closes #5912 Signed-off-by:
Benoît Knecht <bknecht@protonmail.ch>
-
Gaudenz Steinlin authored
The osd_memory_target variable was only used if it was higher than the calculated value based on the number of OSDs. This is changed to always use the value if it is set in the configuration. This allows this value to be intentionally set lower so that it does not have to be changed when more OSDs are added later. Signed-off-by:
Gaudenz Steinlin <gaudenz.steinlin@cloudscale.ch>
-
- Nov 12, 2020
-
-
Guillaume Abrioux authored
This tag can be set at the play level. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Dimitri Savineau authored
When deploying the ceph OSD via the packages then the ceph-osd@.service unit is configured as enabled-runtime. This means that each ceph-osd service will inherit from that state. The enabled-runtime systemd state doesn't survive after a reboot. For non containerized deployment the OSD are still starting after a reboot because there's the ceph-volume@.service and/or ceph-osd.target units that are doing the job. $ systemctl list-unit-files|egrep '^ceph-(volume|osd)'|column -t ceph-osd@.service enabled-runtime ceph-volume@.service enabled ceph-osd.target enabled When switching to containerized deployment we are stopping/disabling ceph-osd@XX.servive, ceph-volume and ceph.target and then removing the systemd unit files. But the new systemd units for containerized ceph-osd service will still inherit from ceph-osd@.service unit file. As a consequence, if an OSD host is rebooting after the playbook execution then the ceph-osd service won't come back because they aren't enabled at boot. This patch also adds a reboot and testinfra run after running the switch to container playbook. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1881288 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com>
-