Push zealand version of opensds ansible as base-code of Stor4NFV
[stor4nfv.git] / ci / ansible / group_vars / ceph / osds.yml
diff --git a/ci/ansible/group_vars/ceph/osds.yml b/ci/ansible/group_vars/ceph/osds.yml
new file mode 100644 (file)
index 0000000..57cf581
--- /dev/null
@@ -0,0 +1,259 @@
+---\r
+# Variables here are applicable to all host groups NOT roles\r
+\r
+# This sample file generated by generate_group_vars_sample.sh\r
+\r
+# Dummy variable to avoid error because ansible does not recognize the\r
+# file as a good configuration file when no variable in it.\r
+dummy:\r
+\r
+# You can override default vars defined in defaults/main.yml here,\r
+# but I would advice to use host or group vars instead\r
+\r
+#raw_journal_devices: "{{ dedicated_devices }}" # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+#journal_collocation: False # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+#raw_multi_journal: False # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+#dmcrytpt_journal_collocation: False # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+#dmcrypt_dedicated_journal: False # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+\r
+\r
+###########\r
+# GENERAL #\r
+###########\r
+\r
+# Even though OSD nodes should not have the admin key\r
+# at their disposal, some people might want to have it\r
+# distributed on OSD nodes. Setting 'copy_admin_key' to 'true'\r
+# will copy the admin key to the /etc/ceph/ directory\r
+#copy_admin_key: false\r
+\r
+\r
+####################\r
+# OSD CRUSH LOCATION\r
+####################\r
+\r
+# /!\\r
+#\r
+# BE EXTREMELY CAREFUL WITH THIS OPTION\r
+# DO NOT USE IT UNLESS YOU KNOW WHAT YOU ARE DOING\r
+#\r
+# /!\\r
+#\r
+# It is probably best to keep this option to 'false' as the default\r
+# suggests it. This option should only be used while doing some complex\r
+# CRUSH map. It allows you to force a specific location for a set of OSDs.\r
+#\r
+# The following options will build a ceph.conf with OSD sections\r
+# Example:\r
+# [osd.X]\r
+# osd crush location = "root=location"\r
+#\r
+# This works with your inventory file\r
+# To match the following 'osd_crush_location' option the inventory must look like:\r
+#\r
+# [osds]\r
+# osd0 ceph_crush_root=foo ceph_crush_rack=bar\r
+\r
+#crush_location: false\r
+#osd_crush_location: "\"root={{ ceph_crush_root }} rack={{ ceph_crush_rack }} host={{ ansible_hostname }}\""\r
+\r
+\r
+##############\r
+# CEPH OPTIONS\r
+##############\r
+\r
+# Devices to be used as OSDs\r
+# You can pre-provision disks that are not present yet.\r
+# Ansible will just skip them. Newly added disk will be\r
+# automatically configured during the next run.\r
+#\r
+\r
+\r
+# Declare devices to be used as OSDs\r
+# All scenario(except 3rd) inherit from the following device declaration\r
+\r
+devices:\r
+#  - /dev/sda\r
+#  - /dev/sdc\r
+#  - /dev/sdd\r
+#  - /dev/sde\r
+\r
+#devices: []\r
+\r
+\r
+#'osd_auto_discovery'  mode prevents you from filling out the 'devices' variable above.\r
+#  You can use this option with First and Forth and Fifth OSDS scenario.\r
+# Device discovery is based on the Ansible fact 'ansible_devices'\r
+# which reports all the devices on a system. If chosen all the disks\r
+# found will be passed to ceph-disk. You should not be worried on using\r
+# this option since ceph-disk has a built-in check which looks for empty devices.\r
+# Thus devices with existing partition tables will not be used.\r
+#\r
+#osd_auto_discovery: false\r
+\r
+# Encrypt your OSD device using dmcrypt\r
+# If set to True, no matter which osd_objecstore and osd_scenario you use the data will be encrypted\r
+#dmcrypt: "{{ True if dmcrytpt_journal_collocation or dmcrypt_dedicated_journal else False }}" # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+\r
+\r
+# I. First scenario: collocated\r
+#\r
+# To enable this scenario do: osd_scenario: collocated\r
+#\r
+#\r
+# If osd_objectstore: filestore is enabled both 'ceph data' and 'ceph journal' partitions\r
+# will be stored on the same device.\r
+#\r
+# If osd_objectstore: bluestore is enabled 'ceph data', 'ceph block', 'ceph block.db', 'ceph block.wal' will be stored\r
+# on the same device. The device will get 2 partitions:\r
+# - One for 'data', called 'ceph data'\r
+# - One for 'ceph block', 'ceph block.db', 'ceph block.wal' called 'ceph block'\r
+#\r
+# Example of what you will get:\r
+# [root@ceph-osd0 ~]# blkid /dev/sda*\r
+# /dev/sda: PTTYPE="gpt"\r
+# /dev/sda1: UUID="9c43e346-dd6e-431f-92d8-cbed4ccb25f6" TYPE="xfs" PARTLABEL="ceph data" PARTUUID="749c71c9-ed8f-4930-82a7-a48a3bcdb1c7"\r
+# /dev/sda2: PARTLABEL="ceph block" PARTUUID="e6ca3e1d-4702-4569-abfa-e285de328e9d"\r
+#\r
+\r
+#osd_scenario: "{{ 'collocated' if journal_collocation or dmcrytpt_journal_collocation else 'non-collocated' if raw_multi_journal or dmcrypt_dedicated_journal else 'dummy' }}" # backward compatibility with stable-2.2, will disappear in stable 3.1\r
+#valid_osd_scenarios:\r
+#  - collocated\r
+#  - non-collocated\r
+#  - lvm\r
+osd_scenario: collocated\r
+\r
+# II.  Second scenario: non-collocated\r
+#\r
+# To enable this scenario do: osd_scenario: non-collocated\r
+#\r
+# If osd_objectstore: filestore is enabled 'ceph data' and 'ceph journal' partitions\r
+# will be stored on different devices:\r
+# - 'ceph data' will be stored on the device listed in 'devices'\r
+# - 'ceph journal' will be stored on the device listed in 'dedicated_devices'\r
+#\r
+# Let's take an example, imagine 'devices' was declared like this:\r
+#\r
+# devices:\r
+#   - /dev/sda\r
+#   - /dev/sdb\r
+#   - /dev/sdc\r
+#   - /dev/sdd\r
+#\r
+# And 'dedicated_devices' was declared like this:\r
+#\r
+# dedicated_devices:\r
+#   - /dev/sdf\r
+#   - /dev/sdf\r
+#   - /dev/sdg\r
+#   - /dev/sdg\r
+#\r
+# This will result in the following mapping:\r
+# - /dev/sda will have /dev/sdf1 as journal\r
+# - /dev/sdb will have /dev/sdf2 as a journal\r
+# - /dev/sdc will have /dev/sdg1 as a journal\r
+# - /dev/sdd will have /dev/sdg2 as a journal\r
+#\r
+#\r
+# If osd_objectstore: bluestore is enabled, both 'ceph block.db' and 'ceph block.wal' partitions will be stored\r
+# on a dedicated device.\r
+#\r
+# So the following will happen:\r
+# - The devices listed in 'devices' will get 2 partitions, one for 'block' and one for 'data'.\r
+# 'data' is only 100MB big and do not store any of your data, it's just a bunch of Ceph metadata.\r
+# 'block' will store all your actual data.\r
+# - The devices in 'dedicated_devices' will get 1 partition for RocksDB DB, called 'block.db'\r
+#  and one for RocksDB WAL, called 'block.wal'\r
+#\r
+# By default dedicated_devices will represent block.db\r
+#\r
+# Example of what you will get:\r
+# [root@ceph-osd0 ~]# blkid /dev/sd*\r
+# /dev/sda: PTTYPE="gpt"\r
+# /dev/sda1: UUID="c6821801-2f21-4980-add0-b7fc8bd424d5" TYPE="xfs" PARTLABEL="ceph data" PARTUUID="f2cc6fa8-5b41-4428-8d3f-6187453464d0"\r
+# /dev/sda2: PARTLABEL="ceph block" PARTUUID="ea454807-983a-4cf2-899e-b2680643bc1c"\r
+# /dev/sdb: PTTYPE="gpt"\r
+# /dev/sdb1: PARTLABEL="ceph block.db" PARTUUID="af5b2d74-4c08-42cf-be57-7248c739e217"\r
+# /dev/sdb2: PARTLABEL="ceph block.wal" PARTUUID="af3f8327-9aa9-4c2b-a497-cf0fe96d126a"\r
+#dedicated_devices: []\r
+\r
+\r
+# More device granularity for Bluestore\r
+#\r
+# ONLY if osd_objectstore: bluestore is enabled.\r
+#\r
+# By default, if 'bluestore_wal_devices' is empty, it will get the content of 'dedicated_devices'.\r
+# If set, then you will have a dedicated partition on a specific device for block.wal.\r
+#\r
+# Example of what you will get:\r
+# [root@ceph-osd0 ~]# blkid /dev/sd*\r
+# /dev/sda: PTTYPE="gpt"\r
+# /dev/sda1: UUID="39241ae9-d119-4335-96b3-0898da8f45ce" TYPE="xfs" PARTLABEL="ceph data" PARTUUID="961e7313-bdb7-49e7-9ae7-077d65c4c669"\r
+# /dev/sda2: PARTLABEL="ceph block" PARTUUID="bff8e54e-b780-4ece-aa16-3b2f2b8eb699"\r
+# /dev/sdb: PTTYPE="gpt"\r
+# /dev/sdb1: PARTLABEL="ceph block.db" PARTUUID="0734f6b6-cc94-49e9-93de-ba7e1d5b79e3"\r
+# /dev/sdc: PTTYPE="gpt"\r
+# /dev/sdc1: PARTLABEL="ceph block.wal" PARTUUID="824b84ba-6777-4272-bbbd-bfe2a25cecf3"\r
+#bluestore_wal_devices: "{{ dedicated_devices }}"\r
+\r
+# III. Use ceph-volume to create OSDs from logical volumes.\r
+# Use 'osd_scenario: lvm' to enable this scenario. Currently we only support dedicated journals\r
+# when using lvm, not collocated journals.\r
+# lvm_volumes is a list of dictionaries. Each dictionary must contain a data, journal and vg_name\r
+# key. Any logical volume or logical group used must be a name and not a path.\r
+# data must be a logical volume\r
+# journal can be either a lv, device or partition. You can not use the same journal for many data lvs.\r
+# data_vg must be the volume group name of the data lv\r
+# journal_vg is optional and must be the volume group name of the journal lv, if applicable\r
+# For example:\r
+# lvm_volumes:\r
+#   - data: data-lv1\r
+#     data_vg: vg1\r
+#     journal: journal-lv1\r
+#     journal_vg: vg2\r
+#   - data: data-lv2\r
+#     journal: /dev/sda\r
+#     data_vg: vg1\r
+#   - data: data-lv3\r
+#     journal: /dev/sdb1\r
+#     data_vg: vg2\r
+#lvm_volumes: []\r
+\r
+\r
+##########\r
+# DOCKER #\r
+##########\r
+\r
+#ceph_config_keys: [] # DON'T TOUCH ME\r
+\r
+# Resource limitation\r
+# For the whole list of limits you can apply see: docs.docker.com/engine/admin/resource_constraints\r
+# Default values are based from: https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html/red_hat_ceph_storage_hardware_guide/minimum_recommendations\r
+# These options can be passed using the 'ceph_osd_docker_extra_env' variable.\r
+#ceph_osd_docker_memory_limit: 1g\r
+#ceph_osd_docker_cpu_limit: 1\r
+\r
+# PREPARE DEVICE\r
+#\r
+# WARNING /!\ DMCRYPT scenario ONLY works with Docker version 1.12.5 and above\r
+#\r
+#ceph_osd_docker_devices: "{{ devices }}"\r
+#ceph_osd_docker_prepare_env: -e OSD_JOURNAL_SIZE={{ journal_size }}\r
+\r
+# ACTIVATE DEVICE\r
+#\r
+#ceph_osd_docker_extra_env:\r
+#ceph_osd_docker_run_script_path: "/usr/share" # script called by systemd to run the docker command\r
+\r
+\r
+###########\r
+# SYSTEMD #\r
+###########\r
+\r
+# ceph_osd_systemd_overrides will override the systemd settings\r
+# for the ceph-osd services.\r
+# For example,to set "PrivateDevices=false" you can specify:\r
+#ceph_osd_systemd_overrides:\r
+#  Service:\r
+#    PrivateDevices: False\r
+\r