51 lines
2.4 KiB
Markdown
51 lines
2.4 KiB
Markdown
TODO
|
|
====
|
|
|
|
* Add roles to the manila charm: api, scheduler, data, process, (all)
|
|
* Ensure that HA is supported properly on the charm (and tested).
|
|
* Pause/Resume - implement the pause/resume actions that other charms support.
|
|
|
|
## Add roles:
|
|
|
|
It's necessary for the manila charm to be able to install itself as one of a
|
|
number of roles:
|
|
|
|
1. The manila-api: this provides the API to the rest of OpenStack. Until this
|
|
is HA aware, only ONE manila-api can be provisioned because it registers
|
|
itself with the keystone identity-service.
|
|
2. The manila-scheduler: Responsible for scheduling/routing requests to the
|
|
appropriate manila-share service. It does that by picking one back-end
|
|
while filtering all except one back-end.
|
|
3. The manila-share process: Responsible for managing Shared File Service
|
|
devices, specifically the back-end devices.
|
|
4. The manila-data process: This is responsible, in the manila system, for
|
|
data operations such as copying, migration, backups, etc. It's not clear
|
|
how far progressed that this service is.
|
|
|
|
Currently, the manila charm installs exactly one unit with all of the shared
|
|
services on the same unit. This is fine for testing, but won't be particularly
|
|
suited for a production environment.
|
|
|
|
So, it is proposed to enable configuration of the charm to enable it to install
|
|
any/all of the roles. This will then allow two manila (juju) applications to
|
|
be installed, such that (say) manila-api and manila-scheduler roles can be
|
|
configured as one (juju) application, and the manila-share as a seperate
|
|
application. Manila allows for serveral, different, manila-share instances to
|
|
be deployed, which would mean a single manila-api/scheduler (juju) application
|
|
and several (juju) applications, one each for each different manila-share
|
|
instance in the OpenStack cloud.
|
|
|
|
## Support HA Mode
|
|
|
|
The charm has been implemented using the `HAOpenStackCharm` class, which means
|
|
that the plumbing is available to support multiple juju units, each with a
|
|
manila instance, with the API endpoints provided via an vip. However, this has
|
|
not been tested, and before it can be declared 'production ready', this HA
|
|
modes need to be tested alongside the 'roles' discussed above.
|
|
|
|
## Pause/Resume
|
|
|
|
The charm does not implement the Pause/Resume actions that the other OpenStack
|
|
charms support. This needs to be implemented if the charm will be a
|
|
well-behaved citizen like the other charms.
|