[openstack-dev] [Magnum] API service won't work if conductor down?

Kumari, Madhuri madhuri.kumari at intel.com
Wed Feb 3 15:57:24 UTC 2016


Corey the one you are talking about has changed to coe-service-*.

Eli, IMO we should display proper error message. M-api service should only have read permission.

Regards,
Madhuri

From: Corey O'Brien [mailto:coreypobrien at gmail.com]
Sent: Wednesday, February 3, 2016 6:50 PM
To: OpenStack Development Mailing List (not for usage questions) <openstack-dev at lists.openstack.org>
Subject: Re: [openstack-dev] [Magnum] API service won't work if conductor down?

The service-* commands aren't related to the magnum services (e.g. magnum-conductor). The service-* commands are for services on the bay that the user creates and deletes.

Corey

On Wed, Feb 3, 2016 at 2:25 AM Eli Qiao <liyong.qiao at intel.com<mailto:liyong.qiao at intel.com>> wrote:
hi
Whey I try to run magnum service-list to list all services (seems now we only have m-cond service), it m-cond is down(which means no conductor at all),
API won't response and will return a timeout error.

taget at taget-ThinkStation-P300:~/devstack$ magnum service-list
ERROR: Timed out waiting for a reply to message ID fd1e9529f60f42bf8db903bbf75bbade (HTTP 500)

And I debug more and compared with nova service-list, nova will give response and will tell the conductor is down.

and deeper I get this in magnum-api boot up:

    # Enable object backporting via the conductor
    base.MagnumObject.indirection_api = base.MagnumObjectIndirectionAPI()

so in magnum_service api code

        return objects.MagnumService.list(context, limit, marker, sort_key,
                                          sort_dir)

will require to use magnum-conductor to access DB, but no magnum-conductor at all, then we get a 500 error.
(nova-api doesn't specify indirection_api so nova-api can access DB)

My question is:

1) is this by designed that we don't allow magnum-api to access DB directly ?
2) if 1) is by designed, then `magnum service-list` won't work, and the error message should be improved such as "magnum service is down , please check magnum conductor is alive"

What do you think?

P.S. I tested comment this line:
# base.MagnumObject.indirection_api = base.MagnumObjectIndirectionAPI()
magnum-api will response but failed to create bay(), which means api service have read access but can not write it at all since(all db write happened in conductor layer).



--

Best Regards, Eli(Li Yong)Qiao

Intel OTC China
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe<http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160203/592022e2/attachment.html>


More information about the OpenStack-dev mailing list