On 05/08/2015 08:06 AM, Dulko, Michal wrote:
Hi,

I wonder why nova-api or cinder-api aren't present service group API of each 
project:

Technically, this is because the API workers do not inherit from nova.service.Service [1], which is for RPC-based workers. They inherit from nova.service.WSGIService [2], which is for REST-based workers.

Only the RPC-based workers ever get a service record created in the services table in the database, and thus only those records appear in the service list output.

Frankly, the entire services table, DB-based servicegroup API, and the services API extensions should die in a fire. They don't belong in Nova or Cinder at all. This kind of thing belongs in ZooKeeper or some other group monitoring solution, not in the projects themselves.

See also: https://review.openstack.org/#/c/138607/

Best,
-jay

[1] http://git.openstack.org/cgit/openstack/nova/tree/nova/service.py#n123

[2] http://git.openstack.org/cgit/openstack/nova/tree/nova/service.py#n308

mdulko:devstack/ (master) $ cinder service-list
+------------------+-------------------------------+------+---------+-------+----------------------------+-----------------+
|      Binary      |              Host             | Zone |  Status | State |   
      Updated_at         | Disabled Reason |
+------------------+-------------------------------+------+---------+-------+----------------------------+-----------------+
|  cinder-backup   |       mdulko-VirtualBox       | nova | enabled |   up  | 
2015-05-08T11:58:50.000000 |        -        |
| cinder-scheduler |       mdulko-VirtualBox       | nova | enabled |   up  | 
2015-05-08T11:58:49.000000 |        -        |
|  cinder-volume   | mdulko-VirtualBox@lvmdriver-1 | nova | enabled |   up  | 
2015-05-08T11:58:50.000000 |        -        |
|  cinder-volume   | mdulko-VirtualBox@lvmdriver-2 | nova | enabled |   up  | 
2015-05-08T11:58:50.000000 |        -        |
+------------------+-------------------------------+------+---------+-------+----------------------------+-----------------+

Are there any technical limitations to include API services there? Use case is 
that when service dies during request processing - it leaves some garbage in 
the DB and quotas. This could be cleaned up by another instance of a service. 
For that aforementioned instance would need to know if service that was 
processing the request is down.

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to