Unifie container actions between all COEs

Registered by Egor Guz on 2015-10-30

Magnum client has several actions (create/delete/exec/logs/pause/reboot/start/stop/unpause) for containers, but they works only for Docker Swarm. Goal of this blueprint is find common actions between all COEs and implement them for each COE (COE specific actions will be dropped from magnum client and user has to use native client for that)

Actions:
- create
 - Swarm: native
 - Mesos/Marathon: !!! no full support, create will start immediately https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-apps
 - Kub: !!! no full support, create will start immediately http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl_create.html
- delete
 - Swarm: native
 - Mesos/Marathon: https://mesosphere.github.io/marathon/docs/rest-api.html#delete-v2-apps-appid
 - Kub: http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl_delete.html
- exec
 - Swarm: native
 - Mesos/Marathon: !!! doesn't support
 - Kub: http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl_exec.html
- logs
 - Swarm: native
 - Mesos/Marathon: !!! no full support, but can get some details through https://mesosphere.github.io/marathon/docs/rest-api.html#get-v2-apps-appid-versions-version
 - Kub: http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl_logs.html
- pause
 - Swarm: native
 - Mesos/Marathon: !!! doesn't support
 - Kub: !!! doesn't support
- reboot
 - Swarm: native
 - Mesos/Marathon: https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-apps-appid-restart
 - Kub: !!! doesn't support
- start
 - Swarm: native
 - Mesos/Marathon: https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-apps
 - Kub: http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl_create.html
- stop
 - Swarm: native
 - Mesos/Marathon: !! no full support, it will delete after stop https://mesosphere.github.io/marathon/docs/rest-api.html#post-v2-apps-appid-restart
 - Kub: !!! no full support, it will delete after stop http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl_stop.html
- unpause
 - Swarm: native
 - Mesos/Marathon: !!! doesn't support
 - Kub: !!! doesn't support

Because Kub require POD for any containers, lets put all our containers in default pod (similar to http://blog.kubernetes.io/2015/10/some-things-you-didnt-know-about-kubectl_28.html)

So we can implement following actions for all COEs
- container-start
- container-delete
- container-logs

We can drop all other actions or through unsupported error.

Blueprint information

Status:
Complete
Approver:
hongbin
Priority:
Low
Drafter:
Egor Guz
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
hongbin on 2016-05-01

Related branches

Sprints

Whiteboard

(hngbin) Moved discussion to an etherpad: https://etherpad.openstack.org/p/magnum-unified-container-actions

Gerrit topic: https://review.openstack.org/#q,topic:bp/unified-containers,n,z

Addressed by: https://review.openstack.org/258485
    Remove k8s APIs pod, rcs and service

(hongbin) Changed Direction to "Needs approval". We will decide the direction in the Austin summit.

(hongbin) In the Austin design summit, the team decided not to do this.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.