Swarm High Availability

Registered by Daneyon Hansen on 2015-09-22

Swarm bay types currently do not support high availability. For example, only a single swarm master can be deployed even though the bay api supports the --master-count attribute. Key services such as the Swarm API, the k/v store (i.e. etcd), etc.. should have the option to be highly available through the --master-count attribute.

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
Low
Drafter:
Daneyon Hansen
Direction:
Approved
Assignee:
Eli Qiao
Definition:
Approved
Series goal:
Accepted for mitaka
Implementation:
Implemented
Milestone target:
None
Started by
Eli Qiao on 2015-12-10
Completed by
Eli Qiao on 2015-12-10

Related branches

Sprints

Whiteboard

Swarm HA Guide: https://docs.docker.com/swarm/multi-manager-setup/

I would like to take, can you assign to me -(eliqiao)taget-9

The following patch (abandoned) included support for etcd HA:

https://review.openstack.org/#/c/224367/

The above patch was replaced by several smaller patches:

https://review.openstack.org/#/c/244848/
https://review.openstack.org/#/c/244978/
https://review.openstack.org/#/c/245286/1

Etcd HA was removed from the above patches since it's not required to add the Magnum CNM to Swarm. I suggest leveraging some of the code in patch 224367 for your Swarm HA work.

Gerrit topic: https://review.openstack.org/#q,topic:swarm_ha,n,z

Addressed by: https://review.openstack.org/245680
    Swarm: Split swarm.yaml to swarmcluster.yaml and swarmmaster.yaml

Gerrit topic: https://review.openstack.org/#q,topic:bp/swarm-high-availability,n,z

Addressed by: https://review.openstack.org/248618
    WIP Swarm: Add swarm master HA support

Addressed by: https://review.openstack.org/249522
    Functional: Use Magnum client to test container actions on Swarm bay

Addressed by: https://review.openstack.org/249682
    Set DEFAULT_DOCKER_TIMEOUT = 60

Addressed by: https://review.openstack.org/253308
    Share get_discovery_url in templates

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.