[openstack-dev] [magnum]problems for horizontal scale
王华
wanghua.humble at gmail.com
Thu Aug 13 08:13:06 UTC 2015
Hi, Kai,
It is needed to sync stack in periodic tasks even if the bay status is
UPDATE_COMPLETE in my solution.
Thanks
Regards,
Wanghua
On Thu, Aug 13, 2015 at 3:42 PM, Kai Qiang Wu <wkqwu at cn.ibm.com> wrote:
> hi Hua,
>
> My comments in blue below. please check.
>
> Thanks
>
>
> Best Wishes,
>
> --------------------------------------------------------------------------------
> Kai Qiang Wu (吴开强 Kennan)
> IBM China System and Technology Lab, Beijing
>
> E-mail: wkqwu at cn.ibm.com
> Tel: 86-10-82451647
> Address: Building 28(Ring Building), ZhongGuanCun Software Park,
> No.8 Dong Bei Wang West Road, Haidian District Beijing P.R.China
> 100193
>
> --------------------------------------------------------------------------------
> Follow your heart. You are miracle!
>
> [image: Inactive hide details for 王华 ---08/13/2015 03:32:53 PM---Hi Kai
> Qiang Wu, I have some comments in line.]王华 ---08/13/2015 03:32:53 PM---Hi
> Kai Qiang Wu, I have some comments in line.
>
> From: 王华 <wanghua.humble at gmail.com>
> To: "OpenStack Development Mailing List (not for usage questions)" <
> openstack-dev at lists.openstack.org>
> Date: 08/13/2015 03:32 PM
> Subject: Re: [openstack-dev] [magnum]problems for horizontal scale
> ------------------------------
>
>
>
> Hi Kai Qiang Wu,
>
> I have some comments in line.
>
> On Thu, Aug 13, 2015 at 1:32 PM, Kai Qiang Wu <*wkqwu at cn.ibm.com*
> <wkqwu at cn.ibm.com>> wrote:
>
> Hi Hua,
>
> I have some comments about this:
>
> A>
> remove heat poller can be a way, but some of its logic needs to make
> sure it work and performance not burden.
> 1) for old heat poller it is quick loop, with fixed interval, to make
> sure stack status update quickly can be reflected in bay status
> 2) for periodic task running, it seems dynamic loop, and period is
> long, it was added for some stacks creation timeout, 1) loop exit, this 2)
> loop can help update the stack and also conductor crash issue
>
>
> It is not necessary to remove heat poller, so we can keep it.
>
>
>
>
> It would be ideal to put in one place for looping over the stacks, but
> periodic tasks need to consider if it really just need to loop
> IN_PROGRESS status stack ? And what's the interval for loop that ?
> (60s or short, loop performance)
>
>
> It is necessary to loop IN_PROGRESS status stack for conductor crash issue.
>
>
>
> Does heat have other status transition path, like delete_failed -->
> (status reset) --> become OK. etc.
>
>
> It needs to be made sure.
>
>
>
>
>
> B> For remove db operation in bay_update case. I did not understand
> your suggestion.
> bay_update include update_stack and poll_and_check(it is in heat
> poller), if you removed heat poller to periodic task(as you said in your
> 3). It still needs db operations.
>
>
> Race conditions occur in periodic tasks too. If we save the stack params
> such as node_count in bay_update and race condition occurs, then the
> node_count in db is wrong and the status is UPDATE_COMPLETE. And there is
> no way to correct it.
> If we save stack params in periodic tasks and race condition occurs, the
> node_count in db is still wrong and status is UPDATE_COMPLETE. We can
> correct it in the next periodic task if race condition does not occur. The
> solution I proposed can not promise the data in db is always right.
>
>
> * Yes, it can help some, when you talked periodic task, I checked
> that,*
>
> * filters = [bay_status.CREATE_IN_PROGRESS,*
>
> * bay_status.UPDATE_IN_PROGRESS,*
> * bay_status.DELETE_IN_PROGRESS]*
> * bays = objects.Bay.list_all(ctx, filters=filters)*
> * If UPDATE_COMPLETE, I did not find it would sync it in this task. Do
> you mean add that status check in this periodic task ?*
>
>
>
> C> For allow admin user to show stacks in other tenant, it seems OK. Does
> other projects try this before? Is it reasonable case for customer ?
>
> Nova allow admin user to show instances in other tenant. Neutron allow
> admin user to show ports in other tenant, nova uses it to sync up network
> info for instance from neutron.
> *That would be OK, I think*
>
>
> Thanks
>
>
> Best Wishes,
>
> --------------------------------------------------------------------------------
> Kai Qiang Wu (吴开强 Kennan)
> IBM China System and Technology Lab, Beijing
>
> E-mail: *wkqwu at cn.ibm.com* <wkqwu at cn.ibm.com>
> Tel: 86-10-82451647
> Address: Building 28(Ring Building), ZhongGuanCun Software Park,
> No.8 Dong Bei Wang West Road, Haidian District Beijing P.R.China
> 100193
>
> --------------------------------------------------------------------------------
> Follow your heart. You are miracle!
>
> [image: Inactive hide details for 王华 ---08/13/2015 11:31:53 AM---any
> comments on this? On Wed, Aug 12, 2015 at 2:50 PM, 王华 <wan]王华
> ---08/13/2015 11:31:53 AM---any comments on this? On Wed, Aug 12, 2015 at
> 2:50 PM, 王华 <*wanghua.humble at gmail.com* <wanghua.humble at gmail.com>> wrote:
>
> From: 王华 <*wanghua.humble at gmail.com* <wanghua.humble at gmail.com>>
> To: *openstack-dev at lists.openstack.org*
> <openstack-dev at lists.openstack.org>
> Date: 08/13/2015 11:31 AM
> Subject: Re: [openstack-dev] [magnum]problems for horizontal scale
>
> ------------------------------
>
>
>
>
> any comments on this?
>
> On Wed, Aug 12, 2015 at 2:50 PM, 王华 <*wanghua.humble at gmail.com*
> <wanghua.humble at gmail.com>> wrote:
> Hi All,
>
> In order to prevent race conditions due to multiple conductors, my
> solution is as blew:
> 1. remove the db operation in bay_update to prevent race
> conditions.Stack operation is atomic. Db operation is atomic. But the two
> operations together are not atomic.So the data in the db may be wrong.
> 2. sync up stack status and stack parameters(now only node_count)
> from heat by periodic tasks. bay_update can change stack parameters, so we
> need to sync up them.
> 3. remove heat poller, because we have periodic tasks.
>
> To sync up stack parameters from heat, we need to show stacks using
> admin_context. But heat don't allow to show stacks in other tenant. If we
> want to show stacks in other tenant, we need to store auth context for
> every bay. That is a problem. Even if we store the auth context, there is a
> timeout for token. The best way I think is to let heat allow admin user to
> show stacks in other tenant.
>
> Do you have a better solution or any improvement for my solution?
>
> Regards,
> Wanghua
>
> __________________________________________________________________________
> 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*
> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
> __________________________________________________________________________
> 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*
> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
> __________________________________________________________________________
> 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
>
>
> __________________________________________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150813/e90308d2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150813/e90308d2/attachment.gif>
More information about the OpenStack-dev
mailing list