OpenStack-Ansible Ceph client

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: "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 repo.  Additional variables to
#          adjust items such as Ceph release and regional download mirror can be found
#          in vars/*.yml
#   * uca  This option installs Ceph from the Ubuntu Cloud Archive. Additional variables
#          to adjust items such as the OpenStack/Ceph release 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: jewel
ceph_apt_pinned_packages: [{ package: "*", release: "RedHat",  priority: 1001 }]

# Ubuntu Cloud Archive mirror URL
# This is only used if 'uca' is the selected option for ceph_pkg_source
uca_apt_repo_url: ""

# 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 =,,
#  auth_cluster_required = cephx
#  auth_service_required = cephx
#  auth_client_required = cephx

# Ceph client usernames for glance, cinder+nova and gnocchi
glance_ceph_client: glance
cinder_ceph_client: cinder
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: cephkeys

openstack_service_system_user: null

  - cinder-volume
  - cinder-backup

  - nova-compute

  - glance-api

  - gnocchi-api
  - gnocchi-metricd

ceph_extra_auth_groups: "{{ ceph_extra_config_groups }}"
  - cinder_backup
  - cinder_volume
ceph_extra_compute_group: nova_compute

Required variables




Example playbook

- name: Install Ceph client
  hosts: all
  user: root
    - role: "openstack-ansible-ceph_client"
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.