Skip to content
This repository has been archived by the owner on Feb 1, 2021. It is now read-only.

0.3.0 Milestone Project Page

Victor Vieux edited this page Sep 9, 2015 · 51 revisions

Schedule


  • 05/26/2015 - Code Freeze
  • 06/18/2015 - Release

0.3.0 Release Goals


####Multi-tenancy Regarding Swarm Multi-tenancy, we are working on shared states between multiple "soon-to-be-master" and master election.

Mesos Integration

The builtin scheduler allows you to manage container on approximately hundreds of machines within a cluster. In the future, we want to allow third party tools to be plugged into Docker Swarm to allow management of much bigger clusters.

The work has started on defining the "cluster" interface in #393 The first integration will be Mesos but other tools will arrive after, like kubernetes.

  • P1 Mesos Integration #214

####Scheduler Swarm comes with a builtin scheduler. It currently provides basic functionalities, such as scheduling containers based on constraints or affinity (co-scheduling of containers), persistent storage and multiple scheduling strategies like binpack or spread.

We plan to add more features to the builtin scheduler such as rebalancing (in case of host failure) and global scheduling (schedule containers on every node)

  • P1 Swarm ID (depends on labels) #600
  • P2 Rebalancing (depends on Virtual Container ID) #599
  • P3 Global scheduling (depends on Virtual Container ID) #600

####Networking Scheduling and container placing is only part of the problem. In order for Swarm to be a good solution for distributed environments, we need to support multi-host networking.

####API Matching Swarm currently supports around 85% of the Docker API as you can see here

Our goal is to support 100% of Docker 1.6 API, so all the Docker CLI commands would work against Swarm

####Hosted Node Discovery Service Right now, the tokens created via swarm create aren't linked to any user/hub account. It should so we could at least, list the tokens you own in the hub interface.

  • P1 Update the server side part to accept username / password and store them. #438
  • P1 Update the client side part to send the username / password. #438
  • P2 TTL handling in Discovery #611

Sprint Goals


Sprint 14

(13 Apr 2015 - 24 Apr 2015)

Goal: Focus on the P1 items in each area.

  1. API
  • Add support for build, load and rename
  1. Migrate to labels
  • Labels support in affinities #667
  1. Extensibility
  • Experimental support of Mesos (work in progress).
  1. Multi-tenancy
  • Started implementation of distributed storage through libkv (consul and etcd supported)
  1. Scheduler
  • Initial implementation of rebalancing (naive).
  1. Quality
  • Refactoring and cleanup of the API and CLI
  • Make codebase pass golint
  • Improve test coverage
  • Add stress tests
  • Covered most of the API by integration tests

Sprint 15

(27 Apr 2015 - 08 May 2015)

  • Goal: Focus on the P1 items in each area.
  1. API
  • [VV/AL] Support registry authentication #684
  • [VV] Support for docker save #739
  • [AL] Support for ps --filter
  1. Migrate to labels
  • [VV] Use labels instead of environment variables to store state #673
  1. Extensibility
  • [VV] Continue Mesos experimental integration
  1. Multi-tenancy
  • [AB] Add support for Zookeeper in libkv
  • [AB] Integrate libkv into Swarm and use it as its discovery backend
  • [AL] Add support for Swarm IDs
  1. Discovery Service
  • [VV] Authentication server side
  • [VV] TTL server side
  1. Quality
  • [AL] Automated integration tests
  • [AL] Integration tests against Docker master
  • [AL] Regression tests (manual)

Sprint 16

(11 May 2015 - 22 May 2015)

  • Goal: Finalize the features for the release
  1. Multi Tenancy
  • Leader Election
    • [AL] Algorithm
    • [AL] API integration
    • [AB] etcd
    • [AB] zk
    • [AL] consul
  1. Core
  • Node removal
    • [AB] Store TTL
    • [VV] Token TTL
    • [AL] Engine removal from Cluster
    • [AL] Engine shutdown
  1. Discovery Service
  • [AL/VV] Revisite token on-boarding process
  1. Extensibility
  • [VV] Revisit per-cluster flags
  1. Reliability
  • [AL] Make discovery fault-tolerant

Sprint 17

(26 May 2015 - 5 Jun 2015)

  • Goal: Finalize the release

Address all 0.3.0 P1 issues

  1. API
  • [AL/VV] Support authenticated docker run
  1. Mesos
  • [VV] Test mesos in jenkins #894
  1. Discovery Service
  • [VV] Authentication client side #695

Sprint 18

(8 Jun 2015 - 19 Jun 2015)

  • Release on 6/18/15
  • 0.4.0 Planning

Tracking