[openstack-dev] [nova] [cinder] API service in service group API
Jay Pipes
jaypipes at gmail.com
Fri May 8 17:16:57 UTC 2015
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 at lvmdriver-1 | nova | enabled | up | 2015-05-08T11:58:50.000000 | - |
> | cinder-volume | mdulko-VirtualBox at 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-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list