2016-03-03 07:08:07 +08:00
|
|
|
---
|
|
|
|
# You can override vars by using host or group vars
|
|
|
|
|
|
|
|
###########
|
|
|
|
# GENERAL #
|
|
|
|
###########
|
|
|
|
|
|
|
|
fetch_directory: fetch/
|
2016-03-29 21:37:31 +08:00
|
|
|
cluster: ceph # cluster name
|
2016-03-03 07:08:07 +08:00
|
|
|
|
|
|
|
###########
|
|
|
|
# INSTALL #
|
|
|
|
###########
|
|
|
|
|
|
|
|
mon_group_name: mons
|
|
|
|
osd_group_name: osds
|
|
|
|
rgw_group_name: rgws
|
|
|
|
mds_group_name: mdss
|
|
|
|
restapi_group_name: restapis
|
2016-04-04 06:35:09 +08:00
|
|
|
rbdmirror_group_name: rbdmirrors
|
2016-05-11 00:29:27 +08:00
|
|
|
client_group_name: clients
|
2016-03-03 07:08:07 +08:00
|
|
|
|
|
|
|
# If check_firewall is true, then ansible will try to determine if the
|
|
|
|
# Ceph ports are blocked by a firewall. If the machine running ansible
|
|
|
|
# cannot reach the Ceph ports for some other reason, you may need or
|
|
|
|
# want to set this to False to skip those checks.
|
2016-06-06 20:11:02 +08:00
|
|
|
check_firewall: False
|
2016-03-03 07:08:07 +08:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2016-04-28 05:10:39 +08:00
|
|
|
# If this is false then the 'ceph' package will be installed on rpm systems, which
|
|
|
|
# is not needed for versions after infernalis.
|
|
|
|
use_server_package_split: true
|
|
|
|
|
2016-05-03 00:25:52 +08:00
|
|
|
# /!\ EITHER ACTIVE ceph_stable OR ceph_stable_ice OR ceph_stable_uca OR ceph_dev /!\
|
2016-03-03 07:08:07 +08:00
|
|
|
|
|
|
|
debian_package_dependencies:
|
|
|
|
- python-pycurl
|
|
|
|
- hdparm
|
|
|
|
- ntp
|
|
|
|
|
|
|
|
centos_package_dependencies:
|
|
|
|
- python-pycurl
|
|
|
|
- hdparm
|
|
|
|
- epel-release
|
|
|
|
- ntp
|
|
|
|
- python-setuptools
|
2016-03-18 00:39:01 +08:00
|
|
|
- libselinux-python
|
2016-03-03 07:08:07 +08:00
|
|
|
|
|
|
|
redhat_package_dependencies:
|
|
|
|
- python-pycurl
|
|
|
|
- hdparm
|
|
|
|
- ntp
|
|
|
|
- python-setuptools
|
|
|
|
|
2016-05-11 03:20:29 +08:00
|
|
|
|
|
|
|
# The list of ceph packages needed for debian.
|
|
|
|
# This variable should only be changed if packages are not available from a given
|
|
|
|
# install source or architecture.
|
|
|
|
debian_ceph_packages:
|
|
|
|
- ceph
|
|
|
|
- ceph-common #|
|
|
|
|
- ceph-fs-common #|--> yes, they are already all dependencies from 'ceph'
|
|
|
|
- ceph-fuse #|--> however while proceding to rolling upgrades and the 'ceph' package upgrade
|
|
|
|
- libcephfs1 #|--> they don't get update so we need to force them
|
|
|
|
|
2016-03-03 07:08:07 +08:00
|
|
|
# Whether or not to install the ceph-test package.
|
|
|
|
ceph_test: False
|
|
|
|
|
|
|
|
## Configure package origin
|
|
|
|
#
|
|
|
|
ceph_origin: 'upstream' # or 'distro'
|
|
|
|
# 'distro' means that no separate repo file will be added
|
|
|
|
# you will get whatever version of Ceph is included in your Linux distro.
|
|
|
|
#
|
|
|
|
ceph_use_distro_backports: false # DEBIAN ONLY
|
|
|
|
|
|
|
|
|
|
|
|
# STABLE
|
|
|
|
########
|
|
|
|
|
|
|
|
# COMMUNITY VERSION
|
|
|
|
ceph_stable: false # use ceph stable branch
|
|
|
|
ceph_stable_key: https://download.ceph.com/keys/release.asc
|
2016-05-01 22:22:43 +08:00
|
|
|
ceph_stable_release: jewel # ceph stable release
|
|
|
|
ceph_stable_repo: "http://download.ceph.com/debian-{{ ceph_stable_release }}"
|
2016-03-03 07:08:07 +08:00
|
|
|
|
|
|
|
###################
|
|
|
|
# Stable Releases #
|
|
|
|
###################
|
|
|
|
ceph_stable_releases:
|
|
|
|
- dumpling
|
|
|
|
- emperor
|
|
|
|
- firefly
|
|
|
|
- giant
|
|
|
|
- hammer
|
2016-03-31 03:55:51 +08:00
|
|
|
- infernalis
|
2016-03-03 07:08:07 +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 07:08:07 +08:00
|
|
|
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
|
|
|
#ceph_stable_distro_source:
|
|
|
|
|
|
|
|
# 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 07:08:07 +08:00
|
|
|
ceph_stable_redhat_distro: el7
|
|
|
|
|
|
|
|
# ENTERPRISE VERSION ICE (old, prior to the 1.3)
|
|
|
|
ceph_stable_ice: false # use Inktank Ceph Enterprise
|
|
|
|
#ceph_stable_ice_url: https://download.inktank.com/enterprise
|
|
|
|
# these two variables are used in `with_items` and starting
|
|
|
|
# with ansible 2.0 these need to be defined even if the tasks's
|
|
|
|
# `when` clause doesn't evaluate to true
|
|
|
|
ceph_stable_ice_temp_path: /opt/ICE/ceph-repo/
|
|
|
|
ceph_stable_ice_kmod: 3.10-0.1.20140702gitdc9ac62.el7.x86_64
|
|
|
|
#ceph_stable_ice_distro: rhel7 # Please check the download website for the supported versions.
|
|
|
|
#ceph_stable_ice_version: 1.2.2
|
|
|
|
#ceph_stable_ice_kmod_version: 1.2
|
|
|
|
#ceph_stable_ice_user: # htaccess user
|
|
|
|
#ceph_stable_ice_password: # htaccess password
|
|
|
|
|
|
|
|
# ENTERPRISE VERSION RED HAT STORAGE (from 1.3)
|
2016-06-04 03:24:43 +08:00
|
|
|
# This version is only supported on RHEL >= 7.1
|
2016-03-03 07:08:07 +08:00
|
|
|
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
|
|
|
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
|
|
|
# using these 3rd-party kmods with RHEL 7.0. Please update your systems to RHEL
|
|
|
|
# 7.1 or later if you want to use the kernel RBD client.
|
|
|
|
#
|
|
|
|
# The CephFS kernel client is undergoing rapid development upstream, and we do
|
|
|
|
# not recommend running the CephFS kernel module on RHEL 7's 3.10 kernel at this
|
|
|
|
# time. Please use ELRepo's latest upstream 4.x kernels if you want to run CephFS
|
|
|
|
# on RHEL 7.
|
|
|
|
#
|
|
|
|
ceph_stable_rh_storage: false
|
|
|
|
ceph_stable_rh_storage_cdn_install: false # assumes all the nodes can connect to cdn.redhat.com
|
|
|
|
ceph_stable_rh_storage_iso_install: false # usually used when nodes don't have access to cdn.redhat.com
|
|
|
|
#ceph_stable_rh_storage_iso_path:
|
|
|
|
ceph_stable_rh_storage_mount_path: /tmp/rh-storage-mount
|
|
|
|
ceph_stable_rh_storage_repository_path: /tmp/rh-storage-repo # where to copy iso's content
|
|
|
|
|
2016-05-03 00:25:52 +08:00
|
|
|
|
|
|
|
# UBUNTU CLOUD ARCHIVE
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
ceph_stable_uca: false
|
|
|
|
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
|
|
|
#ceph_stable_openstack_release_uca: liberty
|
|
|
|
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
|
|
|
|
2016-03-03 07:08:07 +08:00
|
|
|
# DEV
|
|
|
|
# ###
|
|
|
|
|
|
|
|
ceph_dev: false # use ceph development branch
|
|
|
|
ceph_dev_key: https://download.ceph.com/keys/autobuild.asc
|
|
|
|
ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
|
|
|
|
|
|
|
# supported distros are centos6, centos7, fc17, fc18, fc19, fc20, fedora17, fedora18,
|
|
|
|
# fedora19, fedora20, opensuse12, sles0. (see http://gitbuilder.ceph.com/).
|
|
|
|
# For rhel, please pay attention to the versions: 'rhel6 3' or 'rhel 4', the fullname is _very_ important.
|
|
|
|
ceph_dev_redhat_distro: centos7
|
|
|
|
|
|
|
|
|
|
|
|
######################
|
|
|
|
# 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.
|
|
|
|
fsid: "{{ cluster_uuid.stdout }}"
|
|
|
|
generate_fsid: true
|
|
|
|
|
|
|
|
cephx: true
|
|
|
|
max_open_files: 131072
|
|
|
|
|
|
|
|
## 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 07:08:07 +08:00
|
|
|
|
|
|
|
## Monitor options
|
|
|
|
#
|
2016-03-23 02:21:12 +08:00
|
|
|
# You must define either monitor_interface or monitor_address. Preference
|
|
|
|
# will go to monitor_interface if both are defined.
|
2016-03-03 07:08:07 +08:00
|
|
|
monitor_interface: interface
|
2016-03-22 22:11:12 +08:00
|
|
|
monitor_address: 0.0.0.0
|
2016-03-03 07:08:07 +08:00
|
|
|
mon_use_fqdn: false # if set to true, the MON name used will be the fqdn in the ceph.conf
|
|
|
|
|
|
|
|
## OSD options
|
|
|
|
#
|
2016-06-04 03:24:43 +08:00
|
|
|
journal_size: 0 # OSD journal size in MB
|
2016-03-03 07:08:07 +08:00
|
|
|
public_network: 0.0.0.0/0
|
|
|
|
cluster_network: "{{ public_network }}"
|
|
|
|
osd_mkfs_type: xfs
|
|
|
|
osd_mkfs_options_xfs: -f -i size=2048
|
|
|
|
osd_mount_options_xfs: noatime,largeio,inode64,swalloc
|
|
|
|
osd_objectstore: filestore
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
## Rados Gateway options
|
|
|
|
#
|
|
|
|
#radosgw_dns_name: your.subdomain.tld # subdomains used by radosgw. See http://ceph.com/docs/master/radosgw/config/#enabling-subdomain-s3-calls
|
|
|
|
radosgw_frontend: civetweb # supported options are 'apache' or 'civetweb', also edit roles/ceph-rgw/defaults/main.yml
|
|
|
|
radosgw_civetweb_port: 8080 # on Infernalis we get: "set_ports_option: cannot bind to 80: 13 (Permission denied)"
|
2016-05-19 04:53:47 +08:00
|
|
|
radosgw_civetweb_bind_ip: "{{ ansible_default_ipv4.address }}"
|
2016-05-16 23:38:02 +08:00
|
|
|
radosgw_civetweb_num_threads: 50
|
2016-03-03 07:08:07 +08:00
|
|
|
radosgw_keystone: false # activate OpenStack Keystone options full detail here: http://ceph.com/docs/master/radosgw/keystone/
|
|
|
|
#radosgw_keystone_url: # url:admin_port ie: http://192.168.0.1:35357
|
|
|
|
radosgw_keystone_admin_token: password
|
|
|
|
radosgw_keystone_accepted_roles: Member, _member_, admin
|
|
|
|
radosgw_keystone_token_cache_size: 10000
|
|
|
|
radosgw_keystone_revocation_internal: 900
|
|
|
|
radosgw_s3_auth_use_keystone: "true"
|
|
|
|
radosgw_nss_db_path: /var/lib/ceph/radosgw/ceph-radosgw.{{ ansible_hostname }}/nss
|
|
|
|
# Toggle 100-continue support for Apache and FastCGI
|
|
|
|
# WARNING: Changing this value will cause an outage of Apache while it is reinstalled on RGW nodes
|
|
|
|
http_100_continue: false
|
|
|
|
# Rados Gateway options
|
|
|
|
redhat_distro_ceph_extra: centos6.4 # supported distros are centos6.3, centos6.4, centos6, fedora18, fedora19, opensuse12.2, rhel6.3, rhel6.4, rhel6.5, rhel6, sles11sp2
|
|
|
|
email_address: foo@bar.com
|
|
|
|
|
|
|
|
## REST API options
|
|
|
|
#
|
|
|
|
restapi_interface: "{{ monitor_interface }}"
|
2016-03-22 22:11:12 +08:00
|
|
|
restapi_address: "{{ monitor_address }}"
|
2016-03-03 07:08:07 +08:00
|
|
|
restapi_port: 5000
|
|
|
|
|
|
|
|
## 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
|
|
|
|
|
|
|
|
|
|
|
|
###################
|
|
|
|
# CONFIG OVERRIDE #
|
|
|
|
###################
|
|
|
|
|
|
|
|
# Ceph configuration file override.
|
|
|
|
# This allows you to specify more configuration options
|
|
|
|
# using an INI style format.
|
|
|
|
# The following sections are supported: [global], [mon], [osd], [mds], [rgw]
|
|
|
|
#
|
|
|
|
# Example:
|
|
|
|
# ceph_conf_overrides:
|
|
|
|
# global:
|
|
|
|
# foo: 1234
|
|
|
|
# bar: 5678
|
|
|
|
#
|
|
|
|
ceph_conf_overrides: {}
|
|
|
|
|
|
|
|
|
|
|
|
#############
|
|
|
|
# OS TUNING #
|
|
|
|
#############
|
|
|
|
|
|
|
|
disable_transparent_hugepage: true
|
2016-05-10 04:05:01 +08:00
|
|
|
disable_swap: false
|
2016-03-03 07:08:07 +08:00
|
|
|
os_tuning_params:
|
|
|
|
- { name: kernel.pid_max, value: 4194303 }
|
|
|
|
- { name: fs.file-max, value: 26234859 }
|
|
|
|
- { name: vm.zone_reclaim_mode, value: 0 }
|
|
|
|
- { name: vm.vfs_cache_pressure, value: 50 }
|
2016-05-10 04:05:01 +08:00
|
|
|
- { name: vm.swappiness, value: 10 }
|
2016-03-03 07:08:07 +08:00
|
|
|
- { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" }
|
|
|
|
|
|
|
|
|
|
|
|
##########
|
|
|
|
# DOCKER #
|
|
|
|
##########
|
|
|
|
|
|
|
|
docker: false
|
2016-03-27 01:47:40 +08:00
|
|
|
|
|
|
|
# Do not comment the variable mon_containerized_deployment_with_kv here. This variable is being used
|
|
|
|
# by ceph.conf.j2 template. so it should always be defined
|
|
|
|
mon_containerized_deployment_with_kv: false
|
2016-04-28 05:10:39 +08:00
|
|
|
|
2016-06-02 22:54:36 +08:00
|
|
|
|
|
|
|
##################
|
|
|
|
# Temporary Vars #
|
|
|
|
##################
|
|
|
|
# NOTE(SamYaple): These vars are set here to they are defined before use. They
|
|
|
|
# should be removed after a refactor has properly seperated all the checks into
|
|
|
|
# the appropriate roles.
|
|
|
|
|
|
|
|
journal_collocation: False
|
|
|
|
raw_multi_journal: False
|
|
|
|
osd_directory: False
|
|
|
|
bluestore: False
|
|
|
|
|
|
|
|
osd_auto_discovery: False
|