2014-03-04 02:08:51 +08:00
---
# Variables here are applicable to all host groups NOT roles
2016-02-29 23:35:07 +08:00
# This sample file generated by generate_group_vars_sample.sh
# Dummy variable to avoid error because ansible does not recognize the
# file as a good configuration file when no variable in it.
2014-06-25 23:03:29 +08:00
dummy:
2016-03-03 17:00:47 +08:00
# You can override vars by using host or group vars
###########
# GENERAL #
###########
2017-08-03 21:30:25 +08:00
######################################
# Releases name to number dictionary #
######################################
#ceph_release_num:
# dumpling: 0.67
# emperor: 0.72
# firefly: 0.80
# giant: 0.87
# hammer: 0.94
# infernalis: 9
# jewel: 10
# kraken: 11
# luminous: 12
# mimic: 13
2018-06-01 01:02:46 +08:00
# nautilus: 14
2018-06-06 05:42:08 +08:00
# dev: 99
2017-08-03 21:30:25 +08:00
# Directory to fetch cluster fsid, keys etc...
2016-03-03 17:00:47 +08:00
#fetch_directory: fetch/
2017-01-02 16:20:43 +08:00
# The 'cluster' variable determines the name of the cluster.
# Changing the default value to something else means that you will
# need to change all the command line calls as well, for example if
# your cluster name is 'foo':
# "ceph health" will become "ceph --cluster foo health"
#
# An easier way to handle this is to use the environment variable CEPH_ARGS
# So run: "export CEPH_ARGS="--cluster foo"
# With that you will be able to run "ceph health" normally
#cluster: ceph
2016-03-03 17:00:47 +08:00
2017-08-03 21:30:25 +08:00
# Inventory host group variables
2016-03-03 17:00:47 +08:00
#mon_group_name: mons
#osd_group_name: osds
#rgw_group_name: rgws
#mds_group_name: mdss
2016-05-06 02:20:03 +08:00
#nfs_group_name: nfss
2016-04-04 06:35:09 +08:00
#rbdmirror_group_name: rbdmirrors
2016-05-16 23:38:02 +08:00
#client_group_name: clients
2018-06-06 12:07:33 +08:00
#iscsi_gw_group_name: iscsigws
2017-03-16 17:17:08 +08:00
#mgr_group_name: mgrs
2019-04-04 10:54:41 +08:00
#rgwloadbalancer_group_name: rgwloadbalancers
2019-05-23 22:21:08 +08:00
#grafana_server_group_name: grafana-server
2016-03-03 17:00:47 +08:00
2018-06-11 20:51:58 +08:00
# If configure_firewall is true, then ansible will try to configure the
# appropriate firewalling rules so that Ceph daemons can communicate
# with each others.
2018-10-19 19:16:23 +08:00
#configure_firewall: True
2018-06-11 20:51:58 +08:00
2017-11-20 22:11:38 +08:00
# Open ports on corresponding nodes if firewall is installed on it
#ceph_mon_firewall_zone: public
2018-06-04 10:40:14 +08:00
#ceph_mgr_firewall_zone: public
2017-11-20 22:11:38 +08:00
#ceph_osd_firewall_zone: public
#ceph_rgw_firewall_zone: public
#ceph_mds_firewall_zone: public
#ceph_nfs_firewall_zone: public
#ceph_rbdmirror_firewall_zone: public
#ceph_iscsi_firewall_zone: public
2018-12-06 02:59:47 +08:00
#ceph_dashboard_firewall_zone: public
2019-04-04 10:54:41 +08:00
#ceph_rgwloadbalancer_firewall_zone: public
2016-03-03 17:00:47 +08:00
2018-06-05 16:43:55 +08:00
# Generate local ceph.conf in fetch directory
#ceph_conf_local: false
2018-06-11 20:51:58 +08:00
2017-08-03 21:30:25 +08:00
############
# PACKAGES #
############
2019-04-16 15:58:52 +08:00
#debian_package_dependencies: []
2016-03-03 17:00:47 +08:00
#centos_package_dependencies:
# - epel-release
2016-03-18 00:39:01 +08:00
# - libselinux-python
2016-03-03 17:00:47 +08:00
2019-04-16 15:58:52 +08:00
#redhat_package_dependencies: []
2017-10-12 21:55:20 +08:00
#suse_package_dependencies:
# - python-xml
2017-08-03 21:30:25 +08:00
# Whether or not to install the ceph-test package.
#ceph_test: false
2018-09-06 00:59:50 +08:00
# Enable the ntp service by default to avoid clock skew on ceph nodes
# Disable if an appropriate NTP client is already installed and configured
2016-06-10 09:32:55 +08:00
#ntp_service_enabled: true
2016-05-11 03:20:29 +08:00
2018-09-06 00:59:50 +08:00
# Set type of NTP client daemon to use, valid entries are chronyd, ntpd or timesyncd
# Note that this selection is currently ignored on containerized deployments
#ntp_daemon_type: timesyncd
2017-08-03 21:30:25 +08:00
# Set uid/gid to default '64045' for bootstrap directories.
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
# These values have to be set according to the base OS used by the container image, NOT the host.
#bootstrap_dirs_owner: "64045"
#bootstrap_dirs_group: "64045"
# This variable determines if ceph packages can be updated. If False, the
# package resources will use "state=present". If True, they will use
# "state=latest".
#upgrade_ceph_packages: False
#ceph_use_distro_backports: false # DEBIAN ONLY
2016-03-03 17:00:47 +08:00
2017-08-03 21:30:25 +08:00
###########
# INSTALL #
###########
2018-08-28 04:58:20 +08:00
#ceph_repository_type: dummy
2017-08-03 21:30:25 +08:00
# ORIGIN SOURCE
2016-03-03 17:00:47 +08:00
#
2017-08-03 21:30:25 +08:00
# Choose between:
2017-10-12 21:55:20 +08:00
# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs', 'dev' or 'obs'
2017-08-03 21:30:25 +08:00
# - 'distro' means that no separate repo file will be added
# you will get whatever version of Ceph is included in your Linux distro.
2016-06-06 22:22:20 +08:00
# 'local' means that the ceph binaries will be copied over from the local machine
2018-08-28 04:58:20 +08:00
#ceph_origin: dummy
2017-08-03 21:30:25 +08:00
#valid_ceph_origins:
# - repository
# - distro
# - local
2016-06-06 22:22:20 +08:00
2016-03-03 17:00:47 +08:00
2018-08-28 04:58:20 +08:00
#ceph_repository: dummy
2017-08-03 21:30:25 +08:00
#valid_ceph_repository:
# - community
# - rhcs
# - dev
# - uca
# - custom
2017-10-12 21:55:20 +08:00
# - obs
2016-03-03 17:00:47 +08:00
2017-08-03 21:30:25 +08:00
# REPOSITORY: COMMUNITY VERSION
#
# Enabled when ceph_repository == 'community'
#
2017-02-08 11:41:48 +08:00
#ceph_mirror: http://download.ceph.com
2016-03-03 17:00:47 +08:00
#ceph_stable_key: https://download.ceph.com/keys/release.asc
2017-07-26 17:54:19 +08:00
#ceph_stable_release: dummy
2017-02-08 11:41:48 +08:00
#ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
2016-03-03 17:00:47 +08:00
2017-08-21 20:38:21 +08:00
#nfs_ganesha_stable: true # use stable repos for nfs-ganesha
2019-01-25 18:15:21 +08:00
#nfs_ganesha_stable_branch: V2.7-stable
2017-08-21 20:38:21 +08:00
#nfs_ganesha_stable_deb_repo: "{{ ceph_mirror }}/nfs-ganesha/deb-{{ nfs_ganesha_stable_branch }}/{{ ceph_stable_release }}"
2016-03-03 17:00:47 +08:00
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
2016-05-01 22:22:43 +08:00
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
2016-03-03 17:00:47 +08:00
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
2017-08-03 21:30:25 +08:00
#ceph_stable_distro_source: "{{ ansible_lsb.codename }}"
2016-03-03 17:00:47 +08:00
# This option is needed for _both_ stable and dev version, so please always fill the right version
2016-05-01 22:22:43 +08:00
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
2016-03-03 17:00:47 +08:00
#ceph_stable_redhat_distro: el7
2017-08-03 21:30:25 +08:00
2019-05-11 03:28:18 +08:00
# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 4.0)
2017-08-03 21:30:25 +08:00
#
# Enabled when ceph_repository == 'rhcs'
#
2019-05-11 03:28:18 +08:00
# This version is only supported on RHEL >= 8.0
2016-03-03 17:00:47 +08:00
#
2019-05-11 03:28:18 +08:00
#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(4) }}"
2017-08-03 21:30:25 +08:00
#valid_ceph_repository_type:
# - cdn
# - iso
2016-10-14 00:23:32 +08:00
#ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
2016-11-18 01:10:01 +08:00
#ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
#ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
2016-03-03 17:00:47 +08:00
2017-10-04 19:36:01 +08:00
# RHCS installation in Debian systems
#ceph_rhcs_cdn_debian_repo: https://customername:customerpasswd@rhcs.download.redhat.com
2017-10-06 00:45:30 +08:00
#ceph_rhcs_cdn_debian_repo_version: "/3-release/" # for GA, later for updates use /3-updates/
2017-10-04 19:36:01 +08:00
2016-05-03 00:25:52 +08:00
2017-08-03 21:30:25 +08:00
# REPOSITORY: UBUNTU CLOUD ARCHIVE
#
# Enabled when ceph_repository == 'uca'
#
2016-05-03 00:25:52 +08:00
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
# usually has newer Ceph releases than the normal distro repository.
#
2017-08-03 21:30:25 +08:00
#
2016-05-03 00:25:52 +08:00
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
2018-10-11 18:26:04 +08:00
#ceph_stable_openstack_release_uca: queens
UCA: Uncomment UCA variables in defaults, fix consequent breakage
The Ubuntu Cloud Archive-related (UCA) defaults in
roles/ceph-defaults/defaults/main.yml were commented out, which means
if you set `ceph_repository` to "uca", you get undefined variable
errors, e.g.
```
The task includes an option with an undefined variable. The error was: 'ceph_stable_repo_uca' is undefined
The error appears to have been in '/nfs/users/nfs_m/mv3/software/ceph-ansible/roles/ceph-common/tasks/installs/debian_uca_repository.yml': line 6, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: add ubuntu cloud archive repository
^ here
```
Unfortunately, uncommenting these results in some other breakage,
because further roles were written that use the fact of
`ceph_stable_release_uca` being defined as a proxy for "we're using
UCA", so try and install packages from the bionic-updates/queens
release, for example, which doesn't work. So there are a few `apt` tasks
that need modifying to not use `ceph_stable_release_uca` unless
`ceph_origin` is `repository` and `ceph_repository` is `uca`.
Closes: #3475
Signed-off-by: Matthew Vernon <mv3@sanger.ac.uk>
2019-03-27 21:34:47 +08:00
#ceph_stable_release_uca: "{{ ansible_lsb.codename }}-updates/{{ ceph_stable_openstack_release_uca }}"
2016-05-03 00:25:52 +08:00
2017-10-12 21:55:20 +08:00
# REPOSITORY: openSUSE OBS
#
# Enabled when ceph_repository == 'obs'
#
# This allows the install of Ceph from the openSUSE OBS repository. The OBS repository
# usually has newer Ceph releases than the normal distro repository.
#
#
#ceph_obs_repo: "https://download.opensuse.org/repositories/filesystems:/ceph:/luminous/openSUSE_Leap_{{ ansible_distribution_version }}/"
2016-03-03 17:00:47 +08:00
2017-08-03 21:30:25 +08:00
# REPOSITORY: DEV
#
# Enabled when ceph_repository == 'dev'
#
2016-03-03 17:00:47 +08:00
#ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
2016-12-09 04:09:37 +08:00
#ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
2016-03-03 17:00:47 +08:00
2017-08-21 20:38:21 +08:00
#nfs_ganesha_dev: false # use development repos for nfs-ganesha
# Set this to choose the version of ceph dev libraries used in the nfs-ganesha packages from shaman
# flavors so far include: ceph_master, ceph_jewel, ceph_kraken, ceph_luminous
#nfs_ganesha_flavor: "ceph_master"
2016-06-22 22:13:55 +08:00
2017-08-05 02:18:11 +08:00
#ceph_iscsi_config_dev: true # special repo for deploying iSCSI gateways
2017-08-03 21:30:25 +08:00
# REPOSITORY: CUSTOM
#
# Enabled when ceph_repository == 'custom'
#
2016-06-22 22:13:55 +08:00
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
# a URL to the .repo file to be installed on the targets. For deb,
# ceph_custom_repo should be the URL to the repo base.
2017-08-03 21:30:25 +08:00
#
2016-06-22 22:13:55 +08:00
#ceph_custom_repo: https://server.domain.com/ceph-custom-repo
2016-03-03 17:00:47 +08:00
2017-08-03 21:30:25 +08:00
# ORIGIN: LOCAL CEPH INSTALLATION
#
# Enabled when ceph_repository == 'local'
#
# Path to DESTDIR of the ceph install
#ceph_installation_dir: "/path/to/ceph_installation/"
# Whether or not to use installer script rundep_installer.sh
# This script takes in rundep and installs the packages line by line onto the machine
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
# all runtime dependencies installed
#use_installer: false
# Root directory for ceph-ansible
#ansible_dir: "/path/to/ceph-ansible"
2016-03-03 17:00:47 +08:00
######################
# CEPH CONFIGURATION #
######################
## Ceph options
#
# Each cluster requires a unique, consistent filesystem ID. By
# default, the playbook generates one for you and stores it in a file
# in `fetch_directory`. If you want to customize how the fsid is
# generated, you may find it useful to disable fsid generation to
# avoid cluttering up your ansible repo. If you set `generate_fsid` to
# false, you *must* generate `fsid` in another way.
2017-08-02 16:35:26 +08:00
# ACTIVATE THE FSID VARIABLE FOR NON-VAGRANT DEPLOYMENT
2016-03-03 17:00:47 +08:00
#fsid: "{{ cluster_uuid.stdout }}"
#generate_fsid: true
2017-08-02 16:35:26 +08:00
#ceph_conf_key_directory: /etc/ceph
2018-06-25 21:12:56 +08:00
# Permissions for keyring files in /etc/ceph
#ceph_keyring_permissions: '0600'
2016-03-03 17:00:47 +08:00
#cephx: true
## Client options
#
#rbd_cache: "true"
#rbd_cache_writethrough_until_flush: "true"
#rbd_concurrent_management_ops: 20
2016-04-07 22:11:50 +08:00
2016-04-22 23:56:30 +08:00
#rbd_client_directories: true # this will create rbd_client_log_path and rbd_client_admin_socket_path directories with proper permissions
2016-04-07 22:11:50 +08:00
# Permissions for the rbd_client_log_path and
# rbd_client_admin_socket_path. Depending on your use case for Ceph
# you may want to change these values. The default, which is used if
# any of the variables are unset or set to a false value (like `null`
# or `false`) is to automatically determine what is appropriate for
# the Ceph version with non-OpenStack workloads -- ceph:ceph and 0770
# for infernalis releases, and root:root and 1777 for pre-infernalis
# releases.
#
# For other use cases, including running Ceph with OpenStack, you'll
# want to set these differently:
#
# For OpenStack on RHEL, you'll want:
# rbd_client_directory_owner: "qemu"
# rbd_client_directory_group: "libvirtd" (or "libvirt", depending on your version of libvirt)
# rbd_client_directory_mode: "0755"
#
# For OpenStack on Ubuntu or Debian, set:
# rbd_client_directory_owner: "libvirt-qemu"
# rbd_client_directory_group: "kvm"
# rbd_client_directory_mode: "0755"
#
# If you set rbd_client_directory_mode, you must use a string (e.g.,
# 'rbd_client_directory_mode: "0755"', *not*
# 'rbd_client_directory_mode: 0755', or Ansible will complain: mode
# must be in octal or symbolic form
#rbd_client_directory_owner: null
#rbd_client_directory_group: null
#rbd_client_directory_mode: null
2016-04-23 01:39:16 +08:00
#rbd_client_log_path: /var/log/ceph
2016-04-07 22:11:50 +08:00
#rbd_client_log_file: "{{ rbd_client_log_path }}/qemu-guest-$pid.log" # must be writable by QEMU and allowed by SELinux or AppArmor
2016-04-22 23:59:00 +08:00
#rbd_client_admin_socket_path: /var/run/ceph # must be writable by QEMU and allowed by SELinux or AppArmor
2016-03-03 17:00:47 +08:00
## Monitor options
#
2017-07-04 22:43:58 +08:00
# You must define either monitor_interface, monitor_address or monitor_address_block.
# These variables must be defined at least in all.yml and overrided if needed (inventory host file or group_vars/*.yml).
# Eg. If you want to specify for each monitor which address the monitor will bind to you can set it in your **inventory host file** by using 'monitor_address' variable.
# Preference will go to monitor_address if both monitor_address and monitor_interface are defined.
2018-08-28 04:58:20 +08:00
#monitor_interface: interface
2016-03-22 22:11:12 +08:00
#monitor_address: 0.0.0.0
2017-10-19 00:03:30 +08:00
#monitor_address_block: subnet
2017-01-24 23:06:10 +08:00
# set to either ipv4 or ipv6, whichever your network is using
#ip_version: ipv4
2016-03-03 17:00:47 +08:00
#mon_use_fqdn: false # if set to true, the MON name used will be the fqdn in the ceph.conf
2019-04-16 16:31:44 +08:00
#mon_host_v1:
# enabled: True
# suffix: ':6789'
#mon_host_v2:
# suffix: ':3300'
2018-05-22 22:04:15 +08:00
##########
# CEPHFS #
##########
#cephfs: cephfs # name of the ceph filesystem
#cephfs_data: cephfs_data # name of the data pool for a given filesystem
#cephfs_metadata: cephfs_metadata # name of the metadata pool for a given filesystem
2019-04-19 03:12:55 +08:00
#cephfs_data_pool:
# name: "{{ cephfs_data }}"
# pgs: "{{ osd_pool_default_pg_num }}"
# size: "{{ osd_pool_default_size }}"
# min_size: "{{ osd_pool_default_min_size }}"
# rule_name: "replicated_rule"
2019-04-24 04:19:00 +08:00
2019-04-19 03:12:55 +08:00
#cephfs_metadata_pool:
# name: "{{ cephfs_metadata }}"
# pgs: "{{ osd_pool_default_pg_num }}"
# size: "{{ osd_pool_default_size }}"
# min_size: "{{ osd_pool_default_min_size }}"
# rule_name: "replicated_rule"
2019-04-24 04:19:00 +08:00
2018-05-22 22:04:15 +08:00
#cephfs_pools:
2019-04-19 03:12:55 +08:00
# - "{{ cephfs_data_pool }}"
# - "{{ cephfs_metadata_pool }}"
2018-05-22 22:04:15 +08:00
2016-03-03 17:00:47 +08:00
## OSD options
#
2018-09-11 01:23:20 +08:00
#is_hci: false
#hci_safety_factor: 0.2
#non_hci_safety_factor: 0.7
2018-11-19 14:50:02 +08:00
#osd_memory_target: 4294967296
2016-07-26 00:12:31 +08:00
#journal_size: 5120 # OSD journal size in MB
2018-09-21 01:24:07 +08:00
#block_db_size: -1 # block db size in bytes for the ceph-volume lvm batch. -1 means use the default of 'as big as possible'.
2018-08-28 04:58:20 +08:00
#public_network: 0.0.0.0/0
2018-01-30 21:39:58 +08:00
#cluster_network: "{{ public_network | regex_replace(' ', '') }}"
2016-03-03 17:00:47 +08:00
#osd_mkfs_type: xfs
#osd_mkfs_options_xfs: -f -i size=2048
#osd_mount_options_xfs: noatime,largeio,inode64,swalloc
2018-09-27 15:57:26 +08:00
#osd_objectstore: bluestore
2016-03-03 17:00:47 +08:00
2019-02-11 20:52:37 +08:00
# Any device containing these patterns in their path will be excluded.
2019-02-26 07:07:01 +08:00
#osd_auto_discovery_exclude: "dm-*|loop*"
2019-02-11 20:52:37 +08:00
2016-03-03 17:00:47 +08:00
# xattrs. by default, 'filestore xattr use omap' is set to 'true' if
# 'osd_mkfs_type' is set to 'ext4'; otherwise it isn't set. This can
# be set to 'true' or 'false' to explicitly override those
# defaults. Leave it 'null' to use the default for your chosen mkfs
# type.
#filestore_xattr_use_omap: null
## MDS options
#
#mds_use_fqdn: false # if set to true, the MDS name used will be the fqdn in the ceph.conf
2018-06-05 03:58:57 +08:00
#mds_max_mds: 1
2016-03-03 17:00:47 +08:00
## Rados Gateway options
#
2019-04-11 16:13:17 +08:00
#radosgw_frontend_type: beast # For additionnal frontends see: http://docs.ceph.com/docs/nautilus/radosgw/frontends/
2018-07-27 23:46:38 +08:00
2017-02-22 00:49:40 +08:00
#radosgw_civetweb_port: 8080
2019-02-26 22:16:37 +08:00
#radosgw_civetweb_num_threads: 512
2018-07-27 23:46:38 +08:00
#radosgw_civetweb_options: "num_threads={{ radosgw_civetweb_num_threads }}"
2017-01-16 22:14:02 +08:00
# For additional civetweb configuration options available such as SSL, logging,
# keepalive, and timeout settings, please see the civetweb docs at
# https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md
2018-07-27 23:46:38 +08:00
#radosgw_frontend_port: "{{ radosgw_civetweb_port if radosgw_frontend_type == 'civetweb' else '8080' }}"
2019-02-26 22:16:37 +08:00
#radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' else '' }}"
#radosgw_thread_pool_size: 512
2018-07-27 23:46:38 +08:00
2017-08-07 17:23:32 +08:00
# You must define either radosgw_interface, radosgw_address.
# These variables must be defined at least in all.yml and overrided if needed (inventory host file or group_vars/*.yml).
# Eg. If you want to specify for each radosgw node which address the radosgw will bind to you can set it in your **inventory host file** by using 'radosgw_address' variable.
# Preference will go to radosgw_address if both radosgw_address and radosgw_interface are defined.
#radosgw_interface: interface
2018-11-29 03:53:10 +08:00
#radosgw_address: 0.0.0.0
2017-10-19 00:03:30 +08:00
#radosgw_address_block: subnet
2018-01-28 03:40:09 +08:00
#radosgw_keystone_ssl: false # activate this when using keystone PKI keys
2018-11-09 08:56:57 +08:00
#radosgw_num_instances: 1
2016-03-03 17:00:47 +08:00
# Rados Gateway options
#email_address: foo@bar.com
## Testing mode
# enable this mode _only_ when you have a single node
# if you don't want it keep the option commented
#common_single_host_mode: true
2016-09-22 23:03:14 +08:00
## Handlers - restarting daemons after a config change
# if for whatever reasons the content of your ceph configuration changes
# ceph daemons will be restarted as well. At the moment, we can not detect
# which config option changed so all the daemons will be restarted. Although
# this restart will be serialized for each node, in between a health check
# will be performed so we make sure we don't move to the next node until
# ceph is not healthy
# Obviously between the checks (for monitors to be in quorum and for osd's pgs
# to be clean) we have to wait. These retries and delays can be configurable
# for both monitors and osds.
2017-08-31 17:22:33 +08:00
#
# Monitor handler checks
2016-09-22 23:03:14 +08:00
#handler_health_mon_check_retries: 5
#handler_health_mon_check_delay: 10
2017-08-31 17:22:33 +08:00
#
# OSD handler checks
2016-09-22 23:03:14 +08:00
#handler_health_osd_check_retries: 40
#handler_health_osd_check_delay: 30
2017-02-02 18:22:55 +08:00
#handler_health_osd_check: true
2017-08-31 17:22:33 +08:00
#
# MDS handler checks
#handler_health_mds_check_retries: 5
#handler_health_mds_check_delay: 10
#
# RGW handler checks
#handler_health_rgw_check_retries: 5
#handler_health_rgw_check_delay: 10
2016-03-03 17:00:47 +08:00
2017-09-27 05:16:43 +08:00
# NFS handler checks
#handler_health_nfs_check_retries: 5
#handler_health_nfs_check_delay: 10
2017-09-27 08:08:40 +08:00
# RBD MIRROR handler checks
#handler_health_rbd_mirror_check_retries: 5
#handler_health_rbd_mirror_check_delay: 10
# MGR handler checks
#handler_health_mgr_check_retries: 5
#handler_health_mgr_check_delay: 10
2017-08-21 20:38:21 +08:00
###############
# NFS-GANESHA #
###############
2017-08-02 16:35:26 +08:00
# Confiure the type of NFS gatway access. At least one must be enabled for an
# NFS role to be useful
#
# Set this to true to enable File access via NFS. Requires an MDS role.
2017-08-21 20:38:21 +08:00
#nfs_file_gw: false
2017-08-02 16:35:26 +08:00
# Set this to true to enable Object access via NFS. Requires an RGW role.
2019-05-20 21:58:10 +08:00
#nfs_obj_gw: "{{ False if groups.get(mon_group_name, []) | length == 0 else True }}"
2017-08-02 16:35:26 +08:00
2018-10-30 22:01:46 +08:00
#############
# MULTISITE #
#############
#rgw_multisite: false
# The following Multi-site related variables should be set by the user.
2019-02-01 04:43:21 +08:00
#
# If there is more than 1 RGW in a master or secondary cluster than rgw_multisite_endpoints needs to be a comma seperated list (with no spaces) of the RGW endpoints in the format:
# {{ rgw_multisite_proto }}://{{ ansible_fqdn }}:{{ radosgw_frontend_port }}
# ex: rgw_multisite_endpoints: http://foo.example.com:8080,http://bar.example.com:8080,http://baz.example.com:8080
#
# If there is only 1 RGW in the inventory, rgw_multisite_endpoints does not need to change
#
2018-10-30 22:01:46 +08:00
# rgw_zone is set to "default" to enable compression for clusters configured without rgw multi-site
# If multisite is configured rgw_zone should not be set to "default". See README-MULTISITE.md for an example.
#rgw_zone: default
#rgw_zonemaster: true
#rgw_zonesecondary: false
2019-02-01 04:43:21 +08:00
#rgw_multisite_proto: "http"
2018-10-30 22:01:46 +08:00
#rgw_multisite_endpoint_addr: "{{ ansible_fqdn }}"
2019-02-01 04:43:21 +08:00
#rgw_multisite_endpoints_list: "{{ rgw_multisite_proto }}://{{ ansible_fqdn }}:{{ radosgw_frontend_port }}"
2018-10-30 22:01:46 +08:00
#rgw_zonegroup: solarsystem # should be set by the user
#rgw_zone_user: zone.user
#rgw_realm: milkyway # should be set by the user
#system_access_key: 6kWkikvapSnHyE22P7nO # should be re-created by the user
#system_secret_key: MGecsMrWtKZgngOHZdrd6d3JxGO5CPWgT2lcnpSt # should be re-created by the user
# Multi-site remote pull URL variables
#rgw_pull_port: "{{ radosgw_civetweb_port }}"
2019-02-01 04:43:21 +08:00
#rgw_pull_proto: "http" # should be the same as rgw_multisite_proto for the master zone cluster
#rgw_pullhost: localhost # rgw_pullhost only needs to be declared if there is a zone secondary. It should be the same as rgw_multisite_endpoint_addr for the master zone cluster
2018-10-30 22:01:46 +08:00
2016-03-03 17:00:47 +08:00
###################
# CONFIG OVERRIDE #
###################
# Ceph configuration file override.
# This allows you to specify more configuration options
# using an INI style format.
2018-02-26 16:49:57 +08:00
#
# When configuring RGWs, make sure you use the form [client.rgw.*]
# instead of [client.radosgw.*].
# For more examples check the profiles directory of https://github.com/ceph/ceph-ansible.
#
2016-03-03 17:00:47 +08:00
# The following sections are supported: [global], [mon], [osd], [mds], [rgw]
#
# Example:
# ceph_conf_overrides:
# global:
# foo: 1234
# bar: 5678
2018-02-26 16:49:57 +08:00
# "client.rgw.{{ hostvars[groups.get(rgw_group_name)[0]]['ansible_hostname'] }}":
# rgw_zone: zone1
2016-03-03 17:00:47 +08:00
#
#ceph_conf_overrides: {}
#############
# OS TUNING #
#############
2018-09-27 16:21:17 +08:00
#disable_transparent_hugepage: "{{ false if osd_objectstore == 'bluestore' else true }}"
2016-03-03 17:00:47 +08:00
#os_tuning_params:
# - { name: fs.file-max, value: 26234859 }
# - { name: vm.zone_reclaim_mode, value: 0 }
2016-05-10 16:20:23 +08:00
# - { name: vm.swappiness, value: 10 }
2016-03-03 17:00:47 +08:00
# - { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" }
2017-10-23 21:57:24 +08:00
# For Debian & Red Hat/CentOS installs set TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES
# Set this to a byte value (e.g. 134217728)
# A value of 0 will leave the package default.
#ceph_tcmalloc_max_total_thread_cache: 0
2016-03-03 17:00:47 +08:00
##########
# DOCKER #
##########
2019-05-14 20:51:32 +08:00
#container_exec_cmd:
2016-03-03 17:00:47 +08:00
#docker: false
2017-02-09 22:16:39 +08:00
#ceph_docker_image: "ceph/daemon"
#ceph_docker_image_tag: latest
2017-05-15 21:51:49 +08:00
#ceph_docker_registry: docker.io
2018-10-05 21:36:36 +08:00
## Client only docker image - defaults to {{ ceph_docker_image }}
#ceph_client_docker_image: "{{ ceph_docker_image }}"
#ceph_client_docker_image_tag: "{{ ceph_docker_image_tag }}"
#ceph_client_docker_registry: "{{ ceph_docker_registry }}"
2017-05-15 21:51:49 +08:00
#ceph_docker_enable_centos_extra_repo: false
2017-06-06 22:46:44 +08:00
#ceph_docker_on_openstack: false
2018-05-22 22:04:15 +08:00
#containerized_deployment: False
2018-11-21 05:29:53 +08:00
#container_binary:
2019-02-11 21:01:26 +08:00
#timeout_command: "{{ 'timeout --foreground -s KILL ' ~ docker_pull_timeout if (docker_pull_timeout != '0') and (ceph_docker_dev_image is undefined or not ceph_docker_dev_image) else '' }}"
2017-07-04 22:43:58 +08:00
2017-08-02 16:35:26 +08:00
# this is only here for usage with the rolling_update.yml playbook
# do not ever change this here
#rolling_update: false
2017-10-18 03:09:03 +08:00
#####################
# Docker pull retry #
#####################
#docker_pull_retry: 3
#docker_pull_timeout: "300s"
2017-10-12 21:55:20 +08:00
2018-05-22 22:41:40 +08:00
#############
# OPENSTACK #
#############
#openstack_config: false
#openstack_glance_pool:
# name: "images"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-05-22 22:41:40 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
2018-06-29 17:46:56 +08:00
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-05-22 22:41:40 +08:00
#openstack_cinder_pool:
# name: "volumes"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-05-22 22:41:40 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
2018-06-29 17:46:56 +08:00
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-05-22 22:41:40 +08:00
#openstack_nova_pool:
# name: "vms"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-05-22 22:41:40 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
2018-06-29 17:46:56 +08:00
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-05-22 22:41:40 +08:00
#openstack_cinder_backup_pool:
# name: "backups"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-05-22 22:41:40 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
2018-06-29 17:46:56 +08:00
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-05-22 22:41:40 +08:00
#openstack_gnocchi_pool:
# name: "metrics"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-05-22 22:41:40 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
2018-06-29 17:46:56 +08:00
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-10-26 15:46:29 +08:00
#openstack_cephfs_data_pool:
# name: "manila_data"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-10-26 15:46:29 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-10-26 15:46:29 +08:00
#openstack_cephfs_metadata_pool:
# name: "manila_metadata"
2018-11-13 22:40:35 +08:00
# pg_num: "{{ osd_pool_default_pg_num }}"
# pgp_num: "{{ osd_pool_default_pg_num }}"
2018-10-26 15:46:29 +08:00
# rule_name: "replicated_rule"
# type: 1
# erasure_profile: ""
# expected_num_objects: ""
# application: "rbd"
2018-11-22 00:27:11 +08:00
# size: "{{ osd_pool_default_size }}"
2019-03-09 16:33:46 +08:00
# min_size: "{{ osd_pool_default_min_size }}"
2018-05-22 22:41:40 +08:00
#openstack_pools:
# - "{{ openstack_glance_pool }}"
# - "{{ openstack_cinder_pool }}"
# - "{{ openstack_nova_pool }}"
# - "{{ openstack_cinder_backup_pool }}"
# - "{{ openstack_gnocchi_pool }}"
2018-10-26 15:46:29 +08:00
# - "{{ openstack_cephfs_data_pool }}"
# - "{{ openstack_cephfs_metadata_pool }}"
2018-05-22 22:41:40 +08:00
# The value for 'key' can be a pre-generated key,
# e.g key: "AQDC2UxZH4yeLhAAgTaZb+4wDUlYOsr1OfZSpQ=="
# By default, keys will be auto-generated.
#
#openstack_keys:
# - { name: client.glance, caps: { mon: "profile rbd", osd: "profile rbd pool=volumes, profile rbd pool={{ openstack_glance_pool.name }}"}, mode: "0600" }
# - { name: client.cinder, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_cinder_pool.name }}, profile rbd pool={{ openstack_nova_pool.name }}, profile rbd pool={{ openstack_glance_pool.name }}"}, mode: "0600" }
# - { name: client.cinder-backup, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_cinder_backup_pool.name }}"}, mode: "0600" }
# - { name: client.gnocchi, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_gnocchi_pool.name }}"}, mode: "0600", }
# - { name: client.openstack, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_glance_pool.name }}, profile rbd pool={{ openstack_nova_pool.name }}, profile rbd pool={{ openstack_cinder_pool.name }}, profile rbd pool={{ openstack_cinder_backup_pool.name }}"}, mode: "0600" }
2018-08-09 17:23:07 +08:00
2018-12-06 02:59:47 +08:00
#############
# DASHBOARD #
#############
#dashboard_enabled: False
# Choose http or https
# For https, you should set dashboard.crt/key and grafana.crt/key
#dashboard_protocol: http
#dashboard_port: 8234
2019-05-16 21:58:20 +08:00
#dashboard_admin_user: admin
#dashboard_admin_password: admin
# We only need this for SSL (https) connections
#dashboard_crt: ''
#dashboard_key: ''
#dashboard_rgw_api_user_id: ceph-dashboard
#dashboard_rgw_api_host: ''
#dashboard_rgw_api_port: ''
#dashboard_rgw_api_scheme: ''
#dashboard_rgw_api_admin_resource: ''
#dashboard_rgw_api_no_ssl_verify: False
#node_exporter_container_image: prom/node-exporter:latest
#grafana_admin_user: admin
#grafana_admin_password: admin
# We only need this for SSL (https) connections
#grafana_crt: ''
#grafana_key: ''
#grafana_container_image: "grafana/grafana:latest"
#grafana_container_cpu_period: 100000
#grafana_container_cpu_cores: 2
# container_memory is in GB
#grafana_container_memory: 4
#grafana_uid: 472
#grafana_datasource: Dashboard
#grafana_dashboards_path: "/etc/grafana/dashboards/ceph-dashboard"
#grafana_plugins:
# - vonage-status-panel
# - grafana-piechart-panel
2019-06-12 14:01:06 +08:00
#grafana_allow_embedding: True
2019-05-16 21:58:20 +08:00
#prometheus_container_image: prom/prometheus:latest
#prometheus_container_cpu_period: 100000
#prometheus_container_cpu_cores: 2
# container_memory is in GB
#prometheus_container_memory: 4
#prometheus_data_dir: /var/lib/prometheus
#prometheus_conf_dir: /etc/prometheus
#prometheus_user_id: '65534' # This is the UID used by the prom/prometheus container image
#alertmanager_container_image: prom/alertmanager:latest
#alertmanager_container_cpu_period: 100000
#alertmanager_container_cpu_cores: 2
# container_memory is in GB
#alertmanager_container_memory: 4
#alertmanager_data_dir: /var/lib/alertmanager
#alertmanager_conf_dir: /etc/alertmanager
2018-12-06 02:59:47 +08:00
2018-08-09 17:23:07 +08:00
###############
# DEPRECATION #
###############
#use_fqdn_yes_i_am_sure: false