OpenStack-Ansible Ceph client¶
This Ansible role installs the Ceph operating system packages used to interact with a Ceph cluster.
To clone or view the source code for this repository, visit the role repository for ceph_client.
Default variables¶
# Set the package install state for distribution packages
# Options are 'present' and 'latest'
ceph_client_package_state: "{{ package_state | default('latest') }}"
# to use Ceph in OSA, you need to
# - have the needed pools and a client user (for glance, cinder and/or nova)
# pre-provisioned in your ceph cluster; OSA assumes to have root access to
# the monitor hosts
# - configure / overrules following defaults in osa's user config
# - some ceph specific vars are (also) part of other role defaults:
# * glance
# * nova
# - cinder gets configured with ceph if there are cinder backends defined with
# the rbd driver (see openstack_user_config.yml.example)
# The ceph_pkg_source variable controls the install source for the Ceph packages.
# Valid values include:
# * ceph This option installs Ceph from a ceph.com repo. Additional variables to
# adjust items such as Ceph release and regional download mirror can be found
# in vars/*.yml
#
# * distro This options installs Ceph from the operating system's default repository and
# unlike the other options does not attempt to manage package keys or add additional
# package repositories.
ceph_pkg_source: ceph
ceph_stable_release: pacific
ceph_apt_pinned_packages: [{ package: "*", release: "ceph.com", priority: 1001 }]
# Ceph Authentication
cephx: true
# Ceph Monitors
# A list of the IP addresses for your Ceph monitors
ceph_mons: []
# Path to local ceph.conf file
# Leave this commented to obtain a ceph.conf from one of the monitors defined in ceph_mons
#ceph_conf_file: |
# [global]
# fsid = 4037aa5f-abde-4378-9470-f73dbd6ceaba
# mon_initial_members = mon1.example.local,mon2.example.local,mon3.example.local
# mon_host = 10.16.5.40,10.16.5.41,10.16.5.42
# auth_cluster_required = cephx
# auth_service_required = cephx
# auth_client_required = cephx
# Path to local keyrings directory
# If you want to provide keyrings from existing files, because you do not have ssh access to the monitors
# set the path to the repository containing the keyrings files.
# ie : ceph_keyrings_dir: /etc/openstack_deploy/ceph-conf
# The filenames inside the keyring directory must be in the structure of client-name.keyring
# ie: /etc/openstack_deploy/ceph-conf
# cinder.keyring
# glance.keyring
# etc..
#ceph_keyrings_dir: "/etc/openstack/ceph-keyrings"
# Ceph client usernames for glance, cinder+nova and gnocchi
glance_ceph_client: glance
cinder_ceph_client: cinder
manila_ceph_client: manila
cinder_backup_ceph_client: cinder-backup
gnocchi_ceph_client: gnocchi
# by default we assume you use rbd for both cinder and nova, and as libvirt
# needs to access both volumes (cinder) as boot disks (nova) we default to
# reuse the cinder_ceph_client
# only need to change this if you'd use ceph for boot disks and not for volumes
nova_ceph_client: '{{ cinder_ceph_client }}'
# overruled in user_secrets:
# TODO(odyssey4me) - the uuid should be removed, there should be no defaults for secrets
nova_ceph_client_uuid: 457eb676-33da-42ec-9a8c-9293d545c337
cephkeys_access_group: ceph
openstack_service_system_user: null
ceph_cinder_service_names:
- cinder-volume
- cinder-backup
ceph_nova_service_names:
- nova-compute
ceph_manila_service_names:
- manila-api
- manila-data
- manila-share
ceph_glance_service_names:
- glance-api
ceph_gnocchi_service_names:
- gnocchi-api
- gnocchi-metricd
ceph_extra_auth_groups: "{{ ceph_extra_config_groups }}"
ceph_extra_config_groups:
- cinder_backup
- cinder_volume
ceph_extra_compute_group: nova_compute
ceph_client_ceph_conf_overrides: "{{ ceph_conf_overrides | default({}) }}"
Required variables¶
None.
Dependencies¶
None.
Example playbook¶
- name: Install Ceph client
hosts: all
user: root
roles:
- role: "openstack-ansible-ceph_client"