*`ceph-rest-api` will go away in the next stable release
* ceph cluster name support will go away, but existing deployments will continue to work
* remove ceph-common-coreos role in the next release
* removal of `KV_*` options, which were refering to a container deployment involving ETCD
* removal of `pool_default_pg_num`, we don't lookup the default value form the monitors, we just assume the default is the same as Ceph
* ceph-disk based deployments will not be supported anymore, which means osd scenarios 'collocated' and 'non-collocated' will continue to work for existing OSDs but new deployments will not be possible
* the next stable release will collocated monitor and managers on the same node by default, this will speed up deployments in general. Also manager are intended to run along side the monitor. This means declaring a `[mgrs]` won't be needed anymore
* the next stable release will not enable any manager module, they will need to be explicitly declared via `ceph_mgr_modules`
* the group name 'iscsi-gws' will go away in the next stable release
* the rgw systemd service names in the following list won't be managed anymore in the next stable release: `ceph-rgw@<hostname>.service`, `ceph-radosgw@<hostname>.service`, `ceph-radosgw@radosgw.<hostname>.service`, `ceph-radosgw@radosgw.gateway.service`
**This section is only useful if your cluster is containerized.**
As mentionned earlier, the next release of ceph-ansible will only support Nautilus and above.
In Nautilus, ceph-disk is gone completely. So we have to have a transition for ceph-disk OSDs to ceph-volume.
That will be implemented during the next cycle.
However, with 3.2 people might start looking for deploying OSDs with ceph-volume starting from Luminous 12.2.10 (available since Nov 2018) and Mimic 13.2.3 (not available at the time of writting).
* We moved the three existing OSD node to a new group `osds-legacy`
* The existing `[osds]` became a group (`[osds:children]`) of groups `[osds-legacy],[osds-lvm]`
* We added the new OSD nodes into a new group `[osds-lvm]`
This means we can avoid defining everything at inventory level.
For instance, it's pretty useful if all or most of your already existing OSDs share the same `osd_scenario` and/or same `devices` list.
Indeed, you can define a 'default' value for `osd_scenario`, `devices`, `dedicated_devices` in `group_vars/osds-legacy.yml` and then manage with the few nodes that would differ if so.
The same principe can be adopted for `osds-lvm` in `group_vars\osds-lvm.yml`.
Finally, anything set in `group_vars\osds.yml` would be shared across all OSD nodes.
* [3ead8a25](https://github.com/ceph/ceph-ansible/commit/3ead8a25) - tests: apply dev_setup on the secondary cluster for rgw_multisite (Guillaume Abrioux)
* [2fca8555](https://github.com/ceph/ceph-ansible/commit/2fca8555) - handler: show unit logs on error (Sébastien Han)
* [59524c72](https://github.com/ceph/ceph-ansible/commit/59524c72) - ceph-volume: be idempotent when the batch strategy changes (Andrew Schoen)
* [1a1886a4](https://github.com/ceph/ceph-ansible/commit/1a1886a4) - config: convert _osd_memory_target to int (Guillaume Abrioux)
* [abdc245c](https://github.com/ceph/ceph-ansible/commit/abdc245c) - infra: don't restart firewalld if unit is masked (Guillaume Abrioux)
* [c96af4ba](https://github.com/ceph/ceph-ansible/commit/c96af4ba) - osd_memory_target: standardize unit and fix calculation (Neha Ojha)
* [f5d8701e](https://github.com/ceph/ceph-ansible/commit/f5d8701e) - client: fix a typo in create_users_keys.yml (Guillaume Abrioux)
* [62d2ddaf](https://github.com/ceph/ceph-ansible/commit/62d2ddaf) - validate: allow stable-3.2 to run with ansible 2.4 (Guillaume Abrioux)
* [3b40e2bc](https://github.com/ceph/ceph-ansible/commit/3b40e2bc) - igw: add support for IPv6 (Jason Dillaman)
* [702f2bac](https://github.com/ceph/ceph-ansible/commit/702f2bac) - igw: open iscsi target port (Mike Christie)
* [44ee5c74](https://github.com/ceph/ceph-ansible/commit/44ee5c74) - igw: use api_port variable for firewall port setting (Mike Christie)
* [22aed972](https://github.com/ceph/ceph-ansible/commit/22aed972) - testinfra: change test osds for containers (Sébastien Han)
* [1df0a7ac](https://github.com/ceph/ceph-ansible/commit/1df0a7ac) - ceph_volume: add container support for batch (Sébastien Han)
* [1cdec406](https://github.com/ceph/ceph-ansible/commit/1cdec406) - test_osd: dynamically get the osd container (Sébastien Han)
* [876f6ced](https://github.com/ceph/ceph-ansible/commit/876f6ced) - test: convert all the tests to use lvm (Sébastien Han)
* [89e76e5b](https://github.com/ceph/ceph-ansible/commit/89e76e5b) - tox: change container image to use master (Sébastien Han)
* [2fd7da12](https://github.com/ceph/ceph-ansible/commit/2fd7da12) - test: remove ceph-disk CI tests (Sébastien Han)
* [748342f5](https://github.com/ceph/ceph-ansible/commit/748342f5) - roles: fix *_docker_memory_limit default value (Guillaume Abrioux)
* [b7e4d4eb](https://github.com/ceph/ceph-ansible/commit/b7e4d4eb) - roles: do not limit docker_memory_limit for various daemons (Neha Ojha)
* [219fa8f9](https://github.com/ceph/ceph-ansible/commit/219fa8f9) - infrastructure playbooks: ensure nvme_device is defined in lv-create.yml (Ali Maredia)
* [5ab90b35](https://github.com/ceph/ceph-ansible/commit/5ab90b35) - nfs: do not create the nfs user if already present (Sébastien Han)
* [fc20973c](https://github.com/ceph/ceph-ansible/commit/fc20973c) - Fix problem with ceph_key in python3 (Jairo Llopis)
* [ac37a0d0](https://github.com/ceph/ceph-ansible/commit/ac37a0d0) - ceph-defaults: set ceph_stable_openstack_release_uca to queens (Christian Berendt)
* [5fa2b699](https://github.com/ceph/ceph-ansible/commit/5fa2b699) - contrib: add a bash script to snapshort libvirt vms (Guillaume Abrioux)
* [b9539653](https://github.com/ceph/ceph-ansible/commit/b9539653) - handler: remove some leftover in restart_*_daemon.sh.j2 (Guillaume Abrioux)
* [fc6f1ae0](https://github.com/ceph/ceph-ansible/commit/fc6f1ae0) - doc: update default osd_objectstore value (Guillaume Abrioux)
* [55334baa](https://github.com/ceph/ceph-ansible/commit/55334baa) - docker-ce is used in aarch64 instead of docker engine (Nan Li)
* [3e488e82](https://github.com/ceph/ceph-ansible/commit/3e488e82) - tests: install lvm2 before setting up ceph-volume/LVM tests (Alfredo Deza)
* [ada03d06](https://github.com/ceph/ceph-ansible/commit/ada03d06) - ceph-validate: remove versions checks for bluestore and lvm scenario (Andrew Schoen)
* [436dc8c5](https://github.com/ceph/ceph-ansible/commit/436dc8c5) - ceph-config: allow the batch --report to fail when getting the OSD num (Andrew Schoen)
* [a63ca220](https://github.com/ceph/ceph-ansible/commit/a63ca220) - ceph-volume: if --report fails to load json, fail with better info (Andrew Schoen)
* [5ee305d1](https://github.com/ceph/ceph-ansible/commit/5ee305d1) - ceph-volume: make the batch action idempotent (Andrew Schoen)
* [40f82319](https://github.com/ceph/ceph-ansible/commit/40f82319) - ceph-config: use 'lvm list' to find num_osds for an existing cluster (Andrew Schoen)
* [2ffad1b4](https://github.com/ceph/ceph-ansible/commit/2ffad1b4) - ceph-volume: adds `lvm list` support to the ceph_volume module (Andrew Schoen)
* [8afef3d0](https://github.com/ceph/ceph-ansible/commit/8afef3d0) - ceph-config: use the ceph_volume module to get num_osds for lvm batch (Andrew Schoen)
* [07a384ba](https://github.com/ceph/ceph-ansible/commit/07a384ba) - ceph_volume: adds the report parameter (Andrew Schoen)
* [c453ea25](https://github.com/ceph/ceph-ansible/commit/c453ea25) - ceph-osd: use journal_size and block_db_size for lvm batch (Andrew Schoen)
* [71ce539d](https://github.com/ceph/ceph-ansible/commit/71ce539d) - ceph-defaults: add the block_db_size option (Andrew Schoen)
* [8bb131c7](https://github.com/ceph/ceph-ansible/commit/8bb131c7) - ceph-volume: add the journal_size and block_db_size options (Andrew Schoen)
* [82ec5a29](https://github.com/ceph/ceph-ansible/commit/82ec5a29) - site: use default value for 'cluster' variable (Sébastien Han)
* [9180f6a2](https://github.com/ceph/ceph-ansible/commit/9180f6a2) - rhcs: add helpers for the containerized deployment (Sébastien Han)
* [a6f77340](https://github.com/ceph/ceph-ansible/commit/a6f77340) - nfs: ignore error on semanage command for ganesha_t (Guillaume Abrioux)
* [8f2c660d](https://github.com/ceph/ceph-ansible/commit/8f2c660d) - tests: pin sphinx version to 1.7.9 (Guillaume Abrioux)
* [b36f3e06](https://github.com/ceph/ceph-ansible/commit/b36f3e06) - ceph_volume: adds the osds_per_device parameter (Andrew Schoen)
* [1c88c444](https://github.com/ceph/ceph-ansible/commit/1c88c444) - mon: fix `ExecStartPre` option in systemd unit file (Guillaume Abrioux)
* [9ff26e80](https://github.com/ceph/ceph-ansible/commit/9ff26e80) - defaults: add a default value to rgw_hostname (Guillaume Abrioux)
* [6954ac18](https://github.com/ceph/ceph-ansible/commit/6954ac18) - tests: do not upgrade ceph release for switch_to_containers scenario (Guillaume Abrioux)
* [ecbd3e45](https://github.com/ceph/ceph-ansible/commit/ecbd3e45) - Revert "client: add quotes to the dict values" (Guillaume Abrioux)
* [bf8f5899](https://github.com/ceph/ceph-ansible/commit/bf8f5899) - run rados cmd in container if containerized deployment (Tom Barron)
* [04df3f08](https://github.com/ceph/ceph-ansible/commit/04df3f08) - lv-create: use copy instead of the template module (Andrew Schoen)
* [f5a4c898](https://github.com/ceph/ceph-ansible/commit/f5a4c898) - tests: cat the contents of lv-create.log in infra_lv_create (Andrew Schoen)
* [131796f2](https://github.com/ceph/ceph-ansible/commit/131796f2) - lv-create: add an example logfile_path config option in lv_vars.yml (Andrew Schoen)
* [810cc478](https://github.com/ceph/ceph-ansible/commit/810cc478) - tests: adds a testing scenario for lv-create and lv-teardown (Andrew Schoen)
* [b0bfc173](https://github.com/ceph/ceph-ansible/commit/b0bfc173) - lv-teardown: fail silently if lv_vars.yml is not found (Andrew Schoen)
* [8424858b](https://github.com/ceph/ceph-ansible/commit/8424858b) - lv-teardown: set become: true at the playbook level (Andrew Schoen)
* [e43eec57](https://github.com/ceph/ceph-ansible/commit/e43eec57) - lv-create: fail silenty if lv_vars.yml is not found (Andrew Schoen)
* [fde47be1](https://github.com/ceph/ceph-ansible/commit/fde47be1) - lv-create: set become: true at the playbook level (Andrew Schoen)
* [35301b35](https://github.com/ceph/ceph-ansible/commit/35301b35) - lv-create: use the template module to write log file (Andrew Schoen)
* [909b38da](https://github.com/ceph/ceph-ansible/commit/909b38da) - infrastructure-playbooks/vars/lv_vars.yaml: minor fixes (Neha Ojha)
* [f65f3ea8](https://github.com/ceph/ceph-ansible/commit/f65f3ea8) - infrastructure-playbooks/lv-create.yml: use tempfile to create logfile (Neha Ojha)
* [50a6d814](https://github.com/ceph/ceph-ansible/commit/50a6d814) - infrastructure-playbooks/lv-create.yml: copy without using a template file (Neha Ojha)
* [186c4e11](https://github.com/ceph/ceph-ansible/commit/186c4e11) - infrastructure-playbooks/lv-create.yml: don't use action to copy (Neha Ojha)
* [9d43806d](https://github.com/ceph/ceph-ansible/commit/9d43806d) - infrastructure-playbooks: standardize variable usage with a space after brackets (Neha Ojha)
* [1f018d86](https://github.com/ceph/ceph-ansible/commit/1f018d86) - infrastructure-playbooks: playbooks for creating LVs for bucket indexes and journals (Ali Maredia)
* [dad10e8f](https://github.com/ceph/ceph-ansible/commit/dad10e8f) - rolling_update: register container osd units (Sébastien Han)
* [3149b256](https://github.com/ceph/ceph-ansible/commit/3149b256) - Revert "osd: generate device list for osd_auto_discovery on rolling_update" (Sébastien Han)
* [85cc61a6](https://github.com/ceph/ceph-ansible/commit/85cc61a6) - Use /var/lib/ceph/osd folder to filter osd mount point (Jeffrey Zhang)
* [7172737f](https://github.com/ceph/ceph-ansible/commit/7172737f) - roles: ceph-defaults: Set ceph_uid on SUSE distributions (Markos Chandras)
* [6423ab4a](https://github.com/ceph/ceph-ansible/commit/6423ab4a) - lvm: fix condition when selecting which scenario to run (Andrew Schoen)
* [e84f11e9](https://github.com/ceph/ceph-ansible/commit/e84f11e9) - osd: generate device list for osd_auto_discovery on rolling_update (Sébastien Han)
* [e15c61b6](https://github.com/ceph/ceph-ansible/commit/e15c61b6) - updates group_vars/osds.yml.sample to inlude crush_device_class (Andrew Schoen)
* [68d92929](https://github.com/ceph/ceph-ansible/commit/68d92929) - ceph-volume: docs for "lvm batch" support (Andrew Schoen)
* [52d9d406](https://github.com/ceph/ceph-ansible/commit/52d9d406) - Fix in regular expression matching OSD ID on non-contenerized deployment. restart_osd_daemon.sh is used to discover and restart all OSDs on a host. To do it the scripts loops the list of ceph-osd@ services in the system. This commit fixes bug in the regular expression responsile for extraction of OSDs - prior version uses `[0-9]{1,2}` expression which is ignoring all OSDS which numbers are greater than 99 (thus longer than 2 digits). Fix removed upper limit of digits in the number. This problem existed in two places in the script. (Artur Fijalkowski)
* [235d1b3f](https://github.com/ceph/ceph-ansible/commit/235d1b3f) - validate: add checks for interfaces (Sébastien Han)
* [b3266c5b](https://github.com/ceph/ceph-ansible/commit/b3266c5b) - rolling_update: set osd sortbitwise (Sébastien Han)
* [0a88bccf](https://github.com/ceph/ceph-ansible/commit/0a88bccf) - tests: followup on b89cc1746f (Guillaume Abrioux)
* [b89cc174](https://github.com/ceph/ceph-ansible/commit/b89cc174) - tests: do not deploy all daemons for shrink osds scenarios (Guillaume Abrioux)
* [af82e752](https://github.com/ceph/ceph-ansible/commit/af82e752) - tests: test master against ansible 2.6 (Guillaume Abrioux)
* [0c863a37](https://github.com/ceph/ceph-ansible/commit/0c863a37) - tests: add support of 'ooo-collocation' scenario when testing against ceph dev (Guillaume Abrioux)
* [d8281e50](https://github.com/ceph/ceph-ansible/commit/d8281e50) - tests: support update scenarios in test_rbd_mirror_is_up() (Guillaume Abrioux)
* [651ee469](https://github.com/ceph/ceph-ansible/commit/651ee469) - tests: stop hardcoding ansible version (Guillaume Abrioux)
* [7fc13bc9](https://github.com/ceph/ceph-ansible/commit/7fc13bc9) - validate: only run osd test on osd node (Sébastien Han)
* [9f54b3b4](https://github.com/ceph/ceph-ansible/commit/9f54b3b4) - mon: ensure socker is purged when mon is stopped (Guillaume Abrioux)
* [d0746e08](https://github.com/ceph/ceph-ansible/commit/d0746e08) - common: switch from docker module to docker_container (Guillaume Abrioux)
* [9a65ec23](https://github.com/ceph/ceph-ansible/commit/9a65ec23) - tests: fix `_get_osd_id_from_host()` in TestOSDs() (Guillaume Abrioux)
* [07852ed0](https://github.com/ceph/ceph-ansible/commit/07852ed0) - Remove zone from zonegroup and update period before deleting the zone to avoid inconsistent period information across other zones. (Shilpa Jagannath)
* [653b483f](https://github.com/ceph/ceph-ansible/commit/653b483f) - Add ceph_keyring_permissions variable to control permissions for keyring files in /etc/ceph. Default value is the same as it was (0600), but this variable allows user to override it (f.e. set it to 0640). (George Shuklin)
* [2d560b56](https://github.com/ceph/ceph-ansible/commit/2d560b56) - tests: skip tests for node iscsi-gw when deploying jewel (Guillaume Abrioux)
* [1c3dae4a](https://github.com/ceph/ceph-ansible/commit/1c3dae4a) - tests: skip rgw_tuning_pools_are_set when rgw_create_pools is not defined (Guillaume Abrioux)
* [d83b24d2](https://github.com/ceph/ceph-ansible/commit/d83b24d2) - tests: fix broken test when collocated daemons scenarios (Guillaume Abrioux)
* [d0cd6de5](https://github.com/ceph/ceph-ansible/commit/d0cd6de5) - Use rebase as merge strategy for PR (Julien Danjou)
* [824ec6d2](https://github.com/ceph/ceph-ansible/commit/824ec6d2) - Use rebase as merge strategy for PR (Julien Danjou)
* [21894655](https://github.com/ceph/ceph-ansible/commit/21894655) - tests: keep same ceph release during handlers/idempotency test (Guillaume Abrioux)
* [51cf3b7f](https://github.com/ceph/ceph-ansible/commit/51cf3b7f) - client: try to kill dummy container only on first client node (Guillaume Abrioux)
* [9ce81ae8](https://github.com/ceph/ceph-ansible/commit/9ce81ae8) - ceph-mds: do not enable multimds on jewel (Patrick Donnelly)
* [752781e2](https://github.com/ceph/ceph-ansible/commit/752781e2) - core: make ansible pinning to latest ansible 2.4 (Guillaume Abrioux)
* [bbb86913](https://github.com/ceph/ceph-ansible/commit/bbb86913) - tests: increase memory to 1024Mb for centos7_cluster scenario (Guillaume Abrioux)
* [a351b087](https://github.com/ceph/ceph-ansible/commit/a351b087) - tests: set CEPH_DOCKER_IMAGE_TAG when ceph release is luminous (Guillaume Abrioux)
* [a4ad2eb2](https://github.com/ceph/ceph-ansible/commit/a4ad2eb2) - validate: be more explicit with error msg when notario isn't installed (Guillaume Abrioux)
* [3a075684](https://github.com/ceph/ceph-ansible/commit/3a075684) - ceph-osd: set 'openstack_keys_tmp' only when 'openstack_config' is defined. (Konstantin Shalygin)
* [1a610df0](https://github.com/ceph/ceph-ansible/commit/1a610df0) - Fix to run secure cluster only once in a run (Vishal Kanaujia)
* [6035978e](https://github.com/ceph/ceph-ansible/commit/6035978e) - test: only on containerized iscsi (Sébastien Han)
* [090ecff9](https://github.com/ceph/ceph-ansible/commit/090ecff9) - client: keyrings aren't created when single client node (Guillaume Abrioux)
* [7b156deb](https://github.com/ceph/ceph-ansible/commit/7b156deb) - client: use dummy created container when there is no mon in inventory (Guillaume Abrioux)
* [e7d02a50](https://github.com/ceph/ceph-ansible/commit/e7d02a50) - ceph-validate: move system checks from ceph-common to ceph-validate (Andrew Schoen)
* [62c34e3c](https://github.com/ceph/ceph-ansible/commit/62c34e3c) - set the python-notario version to >= 0.0.13 in ceph-ansible.spec.in (Andrew Schoen)
* [c40ed1c6](https://github.com/ceph/ceph-ansible/commit/c40ed1c6) - site.yml: combine validate play with fact gathering play (Andrew Schoen)
* [fd7bb16e](https://github.com/ceph/ceph-ansible/commit/fd7bb16e) - docs: explain the ceph-validate role and how it validates configuration (Andrew Schoen)
* [cf2868f0](https://github.com/ceph/ceph-ansible/commit/cf2868f0) - validate: support validation of osd_auto_discovery (Andrew Schoen)
* [890e265f](https://github.com/ceph/ceph-ansible/commit/890e265f) - validate: adds a CEPH_RELEASES constant (Andrew Schoen)
* [d30a99c3](https://github.com/ceph/ceph-ansible/commit/d30a99c3) - validate: add support for containerized_deployment (Andrew Schoen)
* [5d64eb79](https://github.com/ceph/ceph-ansible/commit/5d64eb79) - validate: show an error and stop the playbook when notario is missing (Andrew Schoen)
* [62d6f2d8](https://github.com/ceph/ceph-ansible/commit/62d6f2d8) - site-docker.yml: add config validation play (Andrew Schoen)
* [a80a109a](https://github.com/ceph/ceph-ansible/commit/a80a109a) - site.yml: the validation play must use become: true (Andrew Schoen)
* [12bdb8ef](https://github.com/ceph/ceph-ansible/commit/12bdb8ef) - docs: add instructions for installing ansible and notario (Andrew Schoen)
* [ef48ed4e](https://github.com/ceph/ceph-ansible/commit/ef48ed4e) - adds a requiremnts.txt file for the project (Andrew Schoen)
* [dea1ea93](https://github.com/ceph/ceph-ansible/commit/dea1ea93) - tests: use notario>=0.0.13 when testing (Andrew Schoen)
* [f84c2ba2](https://github.com/ceph/ceph-ansible/commit/f84c2ba2) - ceph-defaults: fix failing tasks when osd_scenario was not set correctly (Andrew Schoen)
* [d83bdce8](https://github.com/ceph/ceph-ansible/commit/d83bdce8) - site.yml: abort playbook when it fails during config validation (Andrew Schoen)
* [1f15a81c](https://github.com/ceph/ceph-ansible/commit/1f15a81c) - ceph-defaults: move cephfs vars from the ceph-mon role (Andrew Schoen)
* [ffe05872](https://github.com/ceph/ceph-ansible/commit/ffe05872) - validate: only validate cephfs_pools on mon nodes (Andrew Schoen)
* [760a1afc](https://github.com/ceph/ceph-ansible/commit/760a1afc) - validate: only validate osd config options on osd hosts (Andrew Schoen)
* [4325ccc8](https://github.com/ceph/ceph-ansible/commit/4325ccc8) - validate: only check mon and rgw config if the node is in those groups (Andrew Schoen)
* [b2b905f4](https://github.com/ceph/ceph-ansible/commit/b2b905f4) - site.yml: remove the testing task that fails the playbook run (Andrew Schoen)
* [377fe81c](https://github.com/ceph/ceph-ansible/commit/377fe81c) - validate: make sure ceph_stable_release is set to the correct value (Andrew Schoen)
* [ba7f09c0](https://github.com/ceph/ceph-ansible/commit/ba7f09c0) - ceph-validate: move var checks from ceph-common into this role (Andrew Schoen)
* [32bac6b4](https://github.com/ceph/ceph-ansible/commit/32bac6b4) - ceph-validate: move var checks from ceph-osd into this role (Andrew Schoen)
* [29a9dffc](https://github.com/ceph/ceph-ansible/commit/29a9dffc) - ceph-validate: move ceph-mon config checks into this role (Andrew Schoen)
* [d87a3234](https://github.com/ceph/ceph-ansible/commit/d87a3234) - adds a new ceph-validate role (Andrew Schoen)