Add service list to magnum

Registered by Guangya Liu (Jay Lau)

Add "magnum service-list" to magnum so that user can check all service status in magnum for trouble shooting. Note that Service resources are used for the Kubernetes bay type. Services are Kubernetes' way of routing IP connections from clients to pools of containers in pods.

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
Medium
Drafter:
Guangya Liu (Jay Lau)
Direction:
Approved
Assignee:
Surojit Pathak
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon liberty-2
Started by
Surojit Pathak
Completed by
Surojit Pathak

Related branches

Sprints

Whiteboard

------- suro-patz 09/04/2015
As per the last conclusion on this, following are the breakdowns of the work -
1. Move existing service-* commands to coe-service-* (WIP)
    https://bugs.launchpad.net/magnum/+bug/1487580
2. Update documentation for 'magnum coe-service-*'
    https://bugs.launchpad.net/magnum/+bug/1488663
3. Implement backend support for service model
    https://bugs.launchpad.net/magnum/+bug/1492501
4. Implement API layer support for the same
    https://bugs.launchpad.net/magnum/+bug/1498158
5. Implement CLI for 'magnum service-list' modelling after 'nova service-list'
    https://bugs.launchpad.net/python-magnumclient/+bug/1498228
6. Update documentation for 'magnum service-list'
    https://bugs.launchpad.net/magnum/+bug/1498256

------- suro-patz 09/04/2015

My original thinking is want to add "magnum service-list" to show the status of magnum-api and magnum-conductor just like other projects such as "nova service-list" etc. But now the command line "magnum service-list" will show k8s service list, is it possible that we change all commands related to k8s as "magnum k8s-service-list", "magnum k8s-pod-list", "magnum pod-rc-list" etc so as to distinguish with "magnum service-list" which want to list the status of all magnum related services? --jay-lau-513 2015-07-06513 2015-07-06

In Vancouver summit, it was concluded to have support for native clients. Do we need these set of commands (magnum k8s-*-list), any more? Would it not be sufficient enough to expose the service endpoints and use the native tool using with the service end-points? -- suro-patz 2015-07-09

Thanks Suro. I recalled that we should support both: via endpoint and magnum, you can also refer to https://github.com/openstack/magnum/blob/master/specs/containers-service.rst use case 9. --jay-lau-513 2015-07-10

------------
Thanks Jay! 'magnum service-list' [And so do pod/rc-list] is actually independent of the COE, at this moment, as it fetches the list/details from the backend DB[1]. Are you proposing to change this behavior and provide per-COE-list-function (for service/pod/rc) to fetch the data from corresponding COE? If possible, let's discuss the ask for this blueprint in tomorrow's (7/21/2015) weekly meeting in more detail.
- suro-patz 2015-07-20

[1] - https://github.com/openstack/magnum/blob/master/magnum/objects/service.py#L114
------------

----------- update by suro-patz on 2015-08-04

As we discussed over the ML[A], the requirement boils down to following -
1. 'magnum service-list' should change to 'magnum coe-service-list'.
2. 'magnum service-list' should be implemented after the model of 'nova service-list'

[A] - http://lists.openstack.org/pipermail/openstack-dev/2015-August/071271.html

-----------

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

Addressed by: https://review.openstack.org/216872
    Doc update for 'magnum coe-service-*'

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

Addressed by: https://review.openstack.org/220702
    Backend support for magnum service healthcheck

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

Addressed by: https://review.openstack.org/226133
    Documentation update for 'magnum service-list'

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

Addressed by: https://review.openstack.org/226078
    Adding API support for magnum service

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.