[heat] Bug : Heat cannot create Octavia Load Balancer

Rabi Mishra ramishra at redhat.com
Wed Jan 2 05:49:25 UTC 2019


On Wed, Jan 2, 2019 at 10:03 AM Jeff Yang <yjf1970231893 at gmail.com> wrote:

> Please confirm whether "auth_strategy" is set as ''keystone" in
> configure file. I remember that the value of  "auth_strategy" is set as
> "noauth" in "/usr/share/octavia/octavia-dist.conf"  default if you install
> octavia by rpm. If the value was set as "noauth", you must manually specify
> "project_id" for octavia.
>
>
Yeah, that could be the reason[1] (when deploying with puppet
puppet-octavia sets it to keystone[2]), as the error is coming from
octavia[3], when you don't specify a project_id in request and the context
does not have it either.

[1]
https://github.com/rdo-packages/octavia-distgit/blob/rpm-master/octavia-dist.conf#L3
[2]
https://github.com/openstack/puppet-octavia/blob/master/manifests/api.pp#L65
[3]
https://github.com/openstack/octavia/blob/master/octavia/api/v2/controllers/load_balancer.py#L251

Jeff Yang <yjf1970231893 at gmail.com> 于2019年1月2日周三 下午12:26写道:

> Please confirm whether "auth_strategy" is set as ''keystone" in
>> configure file. I remember that the value of  "auth_strategy" is set as
>> "noauth" in "/usr/share/octavia/octavia-dist.conf"  default if you install
>> octavia by rpm. If the value was set as "noauth", you must manually specify
>> "project_id" for octavia.
>>
>> Zane Bitter <zbitter at redhat.com> 于2019年1月2日周三 上午11:23写道:
>>
>>> 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
>>> >
>>>
>>>
>>>

-- 
Regards,
Rabi Mishra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20190102/c0c0c07e/attachment-0001.html>


More information about the openstack-discuss mailing list