Add a spec for ceph-ansible
Change-Id: I324c250e57125910b64fad6c06a4d68acf0600b4
This commit is contained in:
parent
f2042a878e
commit
10ca56b981
115
specs/ceph-ansible.rst
Normal file
115
specs/ceph-ansible.rst
Normal file
@ -0,0 +1,115 @@
|
||||
..
|
||||
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
|
Loading…
Reference in New Issue
Block a user