Add schedulre for native docker support

Registered by Guangya Liu (Jay Lau) on 2015-01-19

Currently in magnum, for k8s, swarm, we can leverage the scheduler in those container management tools, but there is no scheduler for native docker support.

My thinking is as this: Add a new scheduler just like what nova/cinder is doing now and then we can migrate to gantt once it become mature, please show your comments if any

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
High
Drafter:
Guangya Liu (Jay Lau)
Direction:
Approved
Assignee:
Digambar
Definition:
Obsolete
Series goal:
Accepted for kilo
Implementation:
Slow progress
Milestone target:
None
Started by
Digambar on 2015-02-15
Completed by
Adrian Otto on 2015-06-12

Related branches

Sprints

Whiteboard

Jay,
Curious if you believe this needs an agent in the OS or not.

Regards
-steve

Steve, I think that you are mentioning https://blueprints.launchpad.net/magnum/+spec/native-docker-network, right? For scheduler, we may want to add a new service for docker host scheduling. --jay-lau-513 2015-01-20513 2015-01-20

Diga, how is this going? ;-) Thanks. --jay-lau-513 2015-01-30513 2015-01-30

Jay - Adrian & I are talking to Gantt team, Adrian wants Gantt schedular implementation in magnum. I am looking at gantt for this.

Diga, I think that Gantt will not be available till M release, the Gantt team is now busy working to decouple db dependency from nova scheduler. What's your suggestion if we can not get Gantt in Kilo release? What about get some code from nova/cinder scheduler? Thanks. --jay-lau-513 2015-02-02513 2015-02-02

I like you thought but in the initial phase, we can get some code from nova/cinder scheduler & do implemention for magnum. I have opened this discussion in the meeting - diga

Not sure if Swarm can help our case. Swarm scheduler is very similar with nova/cinder scheduler, it is also using filter/strategy(weight) to select best target host, as it is written in go and it might be better that we still use nova/cinder scheduler logic. Comments? Thanks. --jay-lau-513

I have discussed this with Adrian, for this release we will implement swarm based scheduler implement. We will not write any go code in magnum but will implement things in python like we do in k8s. I have started with the same. Thanks, --Diga

Docker-swarm team suggested to use docker-py api will work for swarm. I am working on how docker-py will work for swarm. will update details here soon. -- Diga

I am marking this as Obsolete, as we are supporting native Docker through Swarm, which does offer a scheduler. The current direction on that is described here:

https://blueprints.launchpad.net/magnum/+spec/magnum-swarm-scheduling

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.