[openstack-dev] [fuxi][kuryr][cinder][manila][all] Introduce the Fuxi project

Hongbin Lu hongbin.lu at huawei.com
Wed Dec 14 21:27:13 UTC 2016

Hi all,

I wrote this email to introduce Fuxi [1], a Kuryr sub-project for providing container persistency by leveraging existing OpenStack infrastructure (i.e. Cinder, Manila, etc.). As a brief introduction, Fuxi is for bridging container storage models to existing OpenStack storage abstractions (As you might know, Kuryr is for bridging container networking models to OpenStack networking abstractions. You could consider Fuxi is the storage equivalent). At current stage, the Fuxi team wanted to get more inputs from the broader community to shape its roadmap. If you have any use cases about container persistency on OpenStack, we would love to hear. You are welcome to write down your inputs to the etherpad below or reply to this thread.


The Fuxi team was found at 2016-03-04, and joined OpenStack as a Kuryr sub-project at 2016-08-02. Thanks to the hard work of our team members, we implemented a basic Docker volume plugin that interfaces with Cinder. In the review queue, there is a patch that adds support for Manila as Cinder alternative. Generally speaking, how Fuxi works is to implement a remote Docker volume plugin API. As a result, once the Docker daemon wanted to create/mount/remove a data volume, it will invoke the API of the Fuxi-provided plugin. The plugin will receive the request from Docker daemon and translate it to a set of API calls to Cinder (or others). Fuxi has two important concepts: volume provider and volume connector. A volume provider represents a backend service who provides the volumes. Currently, Cinder is the only supported volume provider. Volume connector is the framework to connect to the created volume. There are two implementation of volume connector: os-brick connector and OpenStack connector. The os-brick connector leverages the os-brick library to connect apparently. The OpenStack connector leverages the standard APIs of OpenStack services (i.e. Cinder, Nova, etc.) to attach volumes to container hosts.

At current stage, the Fuxi team is committed to enhance the existing implementations. At the mean time, we would like to collect more feedback from community to decide the roadmap. In particular, there are several ideas that have been brainstormed by different people:
* Implement an OpenStack volume plugin for Kubernetes (it seems k8s already talked to Cinder so we need to revisit if this is a good idea).
* Implement an OpenStack volume plugin for Mesos.
* Implement volume plugin for other container runtimes (i.e. rkt, oci containers, etc.).
* Support external volume providers (i.e. AWS EBS).

We would like to hear your feedback to determinate if the above ideas fits into the project roadmap. In addition, you are more than welcome to contribute more ideas, use cases, or comments. Last but not least, the Fuxi team is looking for more contributors. You are welcome to join the team if you find this project exciting. There will be a lot of items that need an owner.

[1] https://wiki.openstack.org/wiki/Fuxi

Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161214/13fc4d41/attachment.html>

More information about the OpenStack-dev mailing list