Ansible module to create CRUSH hierarchy

Title

First post of the year after a long time with no article, three months… I know it has been a while, I wish I had more time to do more blogging. I have tons of draft articles that never made it through, I need to make up for lost time.

So for this first post, let me introduce an Ansible I wrote for ceph-ansible: ceph_crush.

Read On...

Introducing Ceph Ansible profile library

Introducing Ceph Ansible profile library

A couple of releases ago, in order to minimize changes within the ceph.conf.j2 Jinja template, we introduced a new module that we took from the OpenStack Ansible guy. This module is called config_template and allows us to declare Ceph configuration options as variables in your group_vars files. This is extremely useful for us

Based on that work and as part of the big ceph-ansible 3.0 release we added a profile directory that guides users on how to properly inject new configuration options. All of that is based on use cases. For instance, we currently have profile examples for configuring Ceph Rados Gateway with OpenStack Keystone.

Here is the current list of profiles:

  • rgw-keystone-v2
  • rgw-keystone-v3
  • rgw-radosgw-static-website
  • rgw-usage-log

More are coming and we expect to get more during the lifetime of the project. One particular profile that we might create is a performance oriented one when running Bluestore on NVMe drives.

Read On...

Ceph ansible now supports dmcrypt

Ceph ansible now supports dmcrypt

I recently worked on a new feature that ceph-ansible was laking of: support for dmcrypt. This dmcrypt scenario basically allows you to deploy encrypted OSD data directories. The encrypted key is stored on the monitor’s key/value store. Until recently ceph-ansible wasn’t capable of deploying such configuration. Let’s see how this can be configured.

Read On...