10ca56b981
Change-Id: I324c250e57125910b64fad6c06a4d68acf0600b4
116 lines
3.4 KiB
ReStructuredText
116 lines
3.4 KiB
ReStructuredText
..
|
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
|
License.
|
|
|
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
|
|
|
=================================
|
|
Moving to ceph-ansible for Kolla
|
|
=================================
|
|
|
|
It has been discussed within the Kolla community that we should look at moving
|
|
from our own orchestration and containers for Ceph to those provided by the
|
|
'ceph-ansible' project. This spec proposes how this should happen.
|
|
|
|
Problem description
|
|
===================
|
|
|
|
Ceph is a complex project that exists outside of OpenStack. As new versions of
|
|
Ceph are released, the Kolla community have had to spend time and resources
|
|
ensuring that our implementation is up to date, upgrade works correctly, etc,
|
|
in addition to the multiple OpenStack services we support. Meanwhile, there are
|
|
other existing projects that work just on Ceph, and can potentially do this
|
|
much better.
|
|
|
|
Use cases
|
|
---------
|
|
|
|
1. Ceph deployment using dedicated Storage nodes
|
|
2. Ceph deployment using HCI nodes (storage nodes on compute nodes)
|
|
|
|
Proposed change
|
|
===============
|
|
|
|
ceph-ansible is one such project that is part of the official Ceph
|
|
project namespace[0]. This gives us a reasonable degree of certainty that it
|
|
can provide a more complete and well maintained implementation of Ceph than
|
|
Kolla can provide on its own.
|
|
|
|
Alternatives
|
|
------------
|
|
|
|
Continue to maintain current approach i.e. Ceph deployment in kolla-ansible.
|
|
|
|
Other End User impact
|
|
---------------------
|
|
|
|
We will need to move to images that ceph-ansible supports, we have two options:
|
|
|
|
1. Directly use what is available on docker hub[1].
|
|
2. Build images using ceph-container repo[2].
|
|
|
|
NOTE: Currently ceph-container project does not support Ubuntu container images.
|
|
|
|
Security impact
|
|
---------------
|
|
|
|
From a high level this should not have any security impact. It is possible
|
|
security would be even improved over what we have now, due to the active
|
|
community maintaining the ceph-ansible project[3].
|
|
|
|
Performance Impact
|
|
------------------
|
|
|
|
We see no potential performance impact. The time for deploying ceph-ansible may
|
|
end up being slightly longer or shorter when compared to Kolla's Ceph, but the
|
|
difference should not be big.
|
|
|
|
Implementation
|
|
==============
|
|
|
|
Assignee(s)
|
|
-----------
|
|
|
|
Primary assignee:
|
|
mnasiadka
|
|
|
|
Milestones
|
|
----------
|
|
|
|
Target Milestone for completion:
|
|
U
|
|
|
|
Work Items
|
|
----------
|
|
|
|
1. Mark the current implementation of Ceph in Kolla as deprecated in the Train
|
|
cycle. The ceph-ansible implementation should be ready for the release of
|
|
U.
|
|
|
|
2. Provide concise documentation on how a Kolla operator should go about
|
|
deploying ceph-ansible in a way that's consistent with Kolla best practices.
|
|
|
|
3. Ensure we have a sensible and easy to follow upgrade path for those
|
|
currently running Kolla's implementation of Ceph in production.
|
|
|
|
4. The current Kolla gates for Ceph will need to be updated.
|
|
|
|
5. (Optional) Create a playbook for ceph-ansible integration - similar to the one OpenStack-Ansible
|
|
project has developed[4].
|
|
|
|
Testing
|
|
=======
|
|
See work item number 4 above.
|
|
|
|
Documentation Impact
|
|
====================
|
|
See work item number 2 above.
|
|
|
|
References
|
|
==========
|
|
[0] http://docs.ceph.com/ceph-ansible/master/
|
|
[1] https://hub.docker.com/r/ceph/daemon
|
|
[2] https://github.com/ceph/ceph-container
|
|
[3] https://github.com/ceph/ceph-ansible/graphs/contributors
|
|
[4] https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/ceph-install.yml
|