Mobile World Congress: Containerizing Ceph
Last week I was attending the Mobile World Congress with Red Hat and I had the chance to demo my work on containerizing Ceph. You will find my presentation in the article :).
Last week I was attending the Mobile World Congress with Red Hat and I had the chance to demo my work on containerizing Ceph. You will find my presentation in the article :).
Quick tip to retrieve the contributor list of a given repository. Example bellow with ceph-ansible:
$ curl -s https://api.github.com/repos/ceph/ceph-ansible/stats/contributors | grep login | awk -F ":" '{print $2}' | sed 's/"/,@/;s/,$//;s/"$//' | tr -d '\n' |
Now you can easily ping them.
The summit is almost there and it is time to vote for the presentation you want to see :).
This weekend I just pushed a new feature in ceph-ansible, which adds the ability to deploy containerized Ceph daemons.
Typically, when we build a container image we have 2 main files:
Dockerfile
is the essence of the container, it is what the container is made of, it generally contains packages installation steps and filesentrypoint.sh
is where we configure the container, during the bootstrap sequence this script will get executed.
Usually the entrypoint.sh
file contains bash instructions.So the idea is, instead of relying on bash scripting when writing container’s entrypoint we could call an Ansible to configure it.
Get the modification time of a RBD image.
Following last week article, here is another CRUSH example. This time we want to store our first replica on SSD drives and the second copy on SATA drives.
Quick CRUSH example on how to store 3 replicas, two in rack number 1 and the third one in rack number 2.
Sometimes removing OSD, if not done properly can result in double rebalancing. The best practice to remove an OSD involves changing the crush weight to 0.0 as first step.
Ceph just moved outside of DevStack in order to comply with the new DevStack’s plugin policy. The code can be found on github. We now have the chance to be on OpenStack Gerrit as well and thus brings all the good things from the OpenStack infra (a CI).
To use it simply create a localrc
file with the following:
enable_plugin ceph https://github.com/openstack/devstack-plugin-ceph
A more complete
localrc
file can be found on Github.