On 11/10/16 02:24, Rabi Mishra wrote:

            1.2
            For large stacks, 1000 nodes, the final call to heat to
            fetch the
            IPs for all nodes takes 3 to 4 minutes. In heat, the stack
            has status
            CREATE_COMPLETE but magnum's state is updated when this long
            final
            call is done. Can we do better? Maybe fetch only the master
            IPs or
            get he IPs in chunks.



We seem load the nested stacks in memory to retrieve their outputs. That
would probably explain the
behaviour above, where you load all the nested stacks for the nodes to
fetch their ips. There is some
work[1][2] happening atm to change that.

[1] https://review.openstack.org/#/c/383839/
<https://review.openstack.org/#/c/383839/>
[2] https://review.openstack.org/#/c/384718
<https://review.openstack.org/#/c/384718>

That's a problem, but in Magnum's case I believe the tree is pretty shallow. The real problem there is that we dynamically resolve intrinsic functions (like get_attr) in outputs - meaning that in the case mentioned we will make 1000 calls to Nova to get the IP address of each node, every time you show the stack.

This is nuts not only from a performance standpoint and also for simple consistency of data. I think we should move to storing the data at the end up a stack create/update, so that we can return it instantly when we show the stack. (I do worry about breaking users who may be relying on live updates to that data, but I think we *have* to make this change sometime.) With convergence we already have a lot of the code we'd need in place - we already know how to grab all the attributes we need at the time a resource is created/updated and store them to the SyncPoint, and we already have a SyncPoint for when the whole stack is complete. It's just a matter of finding a longer-term place to cache that data, since SyncPoints are pretty short-lived at the moment.

I definitely think we should discuss this in the session.

cheers,
Zane.

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

Reply via email to