<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 27, 2016 at 5:35 PM, Rabi Mishra <span dir="ltr"><<a href="mailto:ramishra@redhat.com" target="_blank">ramishra@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Wed, Sep 28, 2016 at 1:01 AM, Zane Bitter <span dir="ltr"><<a href="mailto:zbitter@redhat.com" target="_blank">zbitter@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>On 27/09/16 15:11, Jiahao Liang wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello all,<br>
<br>
I am trying to use heat to launch lb resources with Octavia as backend.<br>
The template I used is<br>
from <a href="https://github.com/openstack/heat-templates/blob/master/hot/lbaasv2/lb_group.yaml" rel="noreferrer" target="_blank">https://github.com/openstack/h<wbr>eat-templates/blob/master/hot/<wbr>lbaasv2/lb_group.yaml</a>.<br>
<br>
Following are a few observations:<br>
<br>
1. Even though Listener was created with ERROR status, heat will still<br>
go ahead and mark it Creation Complete. As in the heat code, it only<br>
check whether root Loadbalancer status is change from PENDING_UPDATE to<br>
ACTIVE. And Loadbalancer status will be changed to ACTIVE anyway no<br>
matter Listener's status.<br>
</blockquote>
<br></span>
That sounds like a clear bug.<br></blockquote><div><br></div></span><div>It seems we're checking for any exceptions from the client[1], before checking for the<br></div><div>loadbalancer status. I could not see any other way to check the listener status afterwards.<br>Probably a lbaas bug with octavia driver?<br><br></div><div>Could you please raise a bug with the heat/lbaas logs? </div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>[1]  <a href="https://git.openstack.org/cgit/openstack/heat/tree/heat/engine/resources/openstack/neutron/lbaas/listener.py#n183" target="_blank">https://git.openstack.org/<wbr>cgit/openstack/heat/tree/heat/<wbr>engine/resources/openstack/<wbr>neutron/lbaas/listener.py#n183</a> <br></div></div></div></div></blockquote><div><br></div><div> In Octavia, creating resources (listeners, pools, etc.) is an async operation which it wouldn't raise any exception. </div><div>A normal workflow is:</div><div>1. heat/neutron client send a create api to Octavia</div><div>2. Octavia return a response to client and set the resource to PENDING_CREATE (no exception will throw to client if the api goes through.)</div><div>3. It creation succeeds, Octavia set that resource to ACTIVE; otherwise, set it to ERROR.</div><div><br></div><div>Please correct me if I am wrong.</div><div><br></div><div>I will go ahead to raise a bug later if both of you think it necessary.</div><div><br></div><div>Thanks,</div><div>Jiahao Liang</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
2. As heat engine wouldn't know the Listener's creation failure, it will<br>
continue to create Pool\Member\Heatthmonitor on top of an Listener which<br>
actually doesn't exist. It causes a few undefined behaviors.  As a<br>
result, those LBaaS resources in ERROR state are unable to be cleaned up<br>
with either normal neutron or heat api.<br>
<br>
<br>
Is this a bug regarding LBaaS V2 for heat, or is it designed that way on<br>
purpose?  In my opinion, it would be more natural if heat reports<br>
CREATION_FAILURE if any of the LBaaS resources fails.<br>
<br>
Thanks,<br>
Jiahao Liang<br>
<br>
<br></span>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br>
</blockquote>
<br>
<br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
</blockquote></span></div><br></div></div>
<br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div></div>