[heat] Bug : Heat cannot create Octavia Load Balancer

Zane Bitter zbitter at redhat.com
Wed Jan 2 03:22:31 UTC 2019


On 2/01/19 1:34 AM, Adam Harwell wrote:
> I'm just on my phone over the holidays, but it kinda looks like the code 
> for this was just updated 12 days ago:
> https://review.openstack.org/#/c/619577/
> 
> If you're using that new code, I imagine it's possible there could be a 
> bug that wasn't yet caught... If you're NOT using that code, maybe try 
> it and see if it helps? I'm guessing it's related one way or another. If 
> you come to the #openstack-lbaas channel once more people are around 
> (later this week?), we can probably take a look.

That's only the example template (previously it was an example for 
LBaaSv2; now it's an example for Octavia); there's been no recent change 
to the code.

>       --Adam Harwell (rm_work)
> 
> On Sun, Dec 30, 2018, 03:37 Zufar Dhiyaulhaq <zufardhiyaulhaq at gmail.com 
> <mailto:zufardhiyaulhaq at gmail.com>> wrote:
> 
>     I have try creating load balancer with Heat. but always get this error :
> 
>     Resource CREATE failed: OctaviaClientException:
>     resources.loadbalancer: Validation failure: Missing project ID in
>     request where one is required. (HTTP 400) (Request-ID:
>     req-b45208e1-a200-47f9-8aad-b130c4c12272)
> 
>     OctaviaClientException: resources.loadbalancer: Validation failure:
>     Missing project ID in request where one is required. (HTTP 400)
>     (Request-ID: req-b45208e1-a200-47f9-8aad-b130c4c12272)

What version of OpenStack are you using?

The issue is that Heat is sending a "tenant_id" but Octavia wants a 
"project_id", which is the new name for the same thing. (I think you 
likely modified that template after trying it but before uploading it, 
because there is no "project_id" property in Heat's 
OS::Octavia::LoadBalancer resource type.)

This bug has been reported and there is a patch up for review in Heat: 
https://storyboard.openstack.org/#!/story/2004650

There was a change to Octavia in Pike 
(https://review.openstack.org/455442) to add backwards compatibility, 
but it was either incomplete or the problem reoccurred and was fixed 
again in Rocky (https://review.openstack.org/569881). My guess is that 
it's likely broken in Pike and Queens.

I'd certainly have expected Heat's gate tests to pick up the problem, 
and it's a bit of a mystery why they didn't. Perhaps we're not 
exercising the case where a project_id is required (using it at all is 
an admin-only feature, so that's not too surprising I guess; it's 
actually more surprising that there's a case where it's _required_).

cheers,
Zane.

>     I create 2 openstack environment :
> 
>       * Heat with Octavia (Octavia Heat Template :
>         http://paste.opensuse.org/view//33592182 )
>       * Heat with Neutron Lbaasv2 (Neutron LBaaSv2 Heat Template :
>         http://paste.opensuse.org/view//71741503)
> 
>     But always error when creating with octavia :
> 
>       * Octavia Log (https://imgur.com/a/EsuWvla)
>       * LBaaS v2 (https://imgur.com/a/BqNGRPH)
> 
>     Are Heat code is broken to create Octavia Load Balancer?
> 
>     Best Regards,
>     Zufar Dhiyaulhaq
> 




More information about the openstack-discuss mailing list