Improve Active/Active configuration for the manila share service
Manila's service components are designed to be fault tolerant and resilient. Deployers have the ability to run any number of manila-api, manila-scheduler, manila-share and manila-data processes as necessary with this fault tolerant design. However, there are some theoretical pitfalls and a lack of testing in the upstream community with manila-share running in an active-active configuration.
Pitfalls/concerns:
- Recovering from service failures
- Concurrency control for polling operations
- Monitoring health of an individual host driver service
Use Cases:
-HA to survive single node failure where pacemaker type control for active-standby support is not available
- edge deployments with tripleo
- non tripleo deployments with just haproxy and no pacemaker-corosync
An example of setting up two manila-share services in an active/active HA config:
manila.conf on node 1:
-------
[DEFAULT]
...
host = manila-
enabled_
share_topic = manila-share
...
[backend1]
...
[backend2]
...
manila.conf on node 2:
-------
[DEFAULT]
...
host = manila-
enabled_
share_topic = manila-share
...
[backend1] ### Common backend names in the two services
...
[backend2]
With the above configuration, both services appear to be the same, but there's no unique way to reference one of them, for example, if "manila service-list" is executed, manila-share services corresponding to backend1 will only appear once even though there are two separate services.
Blueprint information
- Status:
- Not started
- Approver:
- Goutham Pacha Ravi
- Priority:
- Undefined
- Drafter:
- Goutham Pacha Ravi
- Direction:
- Needs approval
- Assignee:
- Goutham Pacha Ravi
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- zed-rc1
- Started by
- Completed by