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.  

Jeff Yang <yjf1970231893@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@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@gmail.com
> <mailto:zufardhiyaulhaq@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
>