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...

Learning Ceph - Second Edition

Title

Learning Ceph - Second Edition was published in October 2017.

This is special post to highlight a new book I’ve been helping with. Good colleagues of mine wrote that book and I encourage anyone willing to learn Ceph to get a copy of it. The book is available on Amazon.

Read On...

Introducing ceph-nano

Introducing ceph-nano

I’ve recently started a small project that aims to help developers working with the S3 API. The program is called cn for Ceph Nano, is available on github let me give you a tour of what it does. I initially presented the program during my talk at the last OpenStack summit in Sydney. Originally, I wrote a quick prototype in Bash, then moved to Go.

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...

The new Ceph container demo is super dope!

Title

I have been recently working on refactoring our Ceph container images. We used to have two separate images for daemon and demo. Recently, for Luminous, I decided to merge the demo container into daemon. It makes everything easier, code is in a single place, we only have a single image to test with the CI and users have a single image to play with.

Read On...

Disabling scenarios in ceph-docker

Title

I recently completed a full resync from Kraken to Jewel in ceph-docker in which I introduced a new feature to disable scenarios. Running an application on bleeding edge technology can be tough and challenging for individuals and also for companies. Even me, as a developer and for bleeding edge testers I’m tempted to release unstable features (understand not recommended for production). So sometimes it’s handy to have the ability to restrict the use of a software by disabling some of its functionality. This is exactly what I did for ceph-docker, in this article I’ll explain how that works.

Read On...