[openstack-dev] Odp.: Odp.: [neutron][lbaasv2][agent implementation] L7 policy support

mihaela.balas at orange.com mihaela.balas at orange.com
Thu Oct 5 08:56:22 UTC 2017


Thanks a lot for the response.

Mihaela

-----Original Message-----
From: Michael Johnson [mailto:johnsomor at gmail.com] 
Sent: Wednesday, October 04, 2017 7:36 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] Odp.: Odp.: [neutron][lbaasv2][agent implementation] L7 policy support

Hi Mihaela,

The old neutron-lbaas haproxy namespace driver does not have L7 support. Only the Octavia driver and some vendor provider drivers have
L7 support.

Michael


On Tue, Oct 3, 2017 at 11:35 PM, Pawel Suder <pawel.suder at corp.ovh.com> wrote:
> Hello,
>
>
> It seems that HaproxyOnHostPluginDriver from
> https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lba
> as/drivers/haproxy/plugin_driver.py#L21
> extends AgentDriverBase
> https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lba
> as/drivers/common/agent_driver_base.py#L301
> where I could not located L7 things.
>
> L7 things might be related to Octavia (only?). What I found is that 
> HAProxy
> (https://www.haproxy.com/doc/aloha/7.0/haproxy/index.html) has L7 things.
>
>
> It seems that in old good times that thing was not taken into the 
> consideration.
>
>
> Cheers,
>
> Paweł
>
> ________________________________
> Od: mihaela.balas at orange.com <mihaela.balas at orange.com>
> Wysłane: 3 października 2017 14:45:11
> Do: OpenStack Development Mailing List (not for usage questions)
> Temat: Re: [openstack-dev] Odp.: [neutron][lbaasv2][agent 
> implementation] L7 policy support
>
>
> Hi,
>
>
>
> I appreciate the help. In neutron-server I have the following service 
> providers enabled:
>
>
>
> service_provider =
> LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.Hap
> roxyOnHostPluginDriver:default
>
> service_provider =
> LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDri
> ver
>
>
>
> With Octavia provider L7 policy works fine. With haproxy (agent 
> provider) I receive the error below.
>
>
>
> On the haproxy agent I have the following setting (however, the 
> neutron-server throws that error and not even sends any request to agent):
>
>
>
> interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
>
> device_driver =
> neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver
>
>
>
> Mihaela
>
>
>
> From: Pawel Suder [mailto:pawel.suder at corp.ovh.com]
> Sent: Tuesday, October 03, 2017 3:10 PM
> To: OpenStack Development Mailing List (not for usage questions)
> Subject: [openstack-dev] Odp.: [neutron][lbaasv2][agent 
> implementation] L7 policy support
>
>
>
> Hello Mihaela,
>
>
>
> It seems that you are referring to that part of code
> https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lba
> as/drivers/driver_base.py#L36
>
>
>
> I found that document for Mitaka
> https://docs.openstack.org/mitaka/networking-guide/config-lbaas.html
>
>
>
> It might be related to incorrectly configured driver for LBaaS (or 
> indeed not implemented driver for L7 policy for specific driver).
>
>
>
> Questions:
>
>
>
> * What do you have configured in neutron configuration in section 
> [service_providers]?
>
> * Which driver do you want to use?
>
>
>
> Example line
>
>
>
> service_provider =
> LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.Hap
> roxyOnHostPluginDriver:default
>
>
>
> Cheers,
>
> Paweł
>
> ________________________________
>
> Od: mihaela.balas at orange.com <mihaela.balas at orange.com>
> Wysłane: 3 października 2017 11:13:34
> Do: OpenStack Development Mailing List (not for usage questions)
> Temat: [openstack-dev] [neutron][lbaasv2][agent implementation] L7 
> policy support
>
>
>
> Hello,
>
>
>
> Does the agent implementation of LBaaSv2 support L7 policies? I am 
> testing with Mitaka version and I get “Not Implemented Error”.
>
>
>
> {"asctime": "2017-10-03 07:34:42.764","process": "18","levelname":
> "INFO","name": "neutron_lbaas.services.loadbalancer.plugin", "request_id":
> "req-186bf812-1cdf-496b-a117-711f1e42c6bd", "user_identity": {"user_id":
> "44364a07de754daa9ffeb2911fe3620a", "project_id":
> "a5f15235c0714365b98a50a11ec956e7", "domain_id": "-", 
> "user_domain_id": "-",
> "project_domain_id": "-"},"instance": {},"message":"Calling driver 
> operation NotImplementedManager.create"}
>
> {"asctime": "2017-10-03 07:34:42.765","process": "18","levelname":
> "ERROR","name": "neutron_lbaas.services.loadbalancer.plugin", "request_id":
> "req-186bf812-1cdf-496b-a117-711f1e42c6bd", "user_identity": {"user_id":
> "44364a07de754daa9ffeb2911fe3620a", "project_id":
> "a5f15235c0714365b98a50a11ec956e7", "domain_id": "-", 
> "user_domain_id": "-",
> "project_domain_id": "-"},"instance": {},"message":"There was an error 
> in the driver"}
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>Traceback (most recent call last):
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>  File
> "/opt/neutron/lib/python2.7/site-packages/neutron_lbaas/services/loadb
> alancer/plugin.py",
> line 486, in _call_driver_operation
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>    driver_method(context, db_entity)
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>  File
> "/opt/neutron/lib/python2.7/site-packages/neutron_lbaas/drivers/driver
> _base.py",
> line 36, in create
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>    raise NotImplementedError()
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>NotImplementedError
>
> 2017-10-03 07:34:42.765 18 TRACE 
> neutron_lbaas.services.loadbalancer.plugin
>>>>>>
>
> {"asctime": "2017-10-03 07:34:42.800","process": "18","levelname":
> "ERROR","name": "neutron.api.v2.resource", "request_id":
> "req-186bf812-1cdf-496b-a117-711f1e42c6bd", "user_identity": {"user_id":
> "44364a07de754daa9ffeb2911fe3620a", "project_id":
> "a5f15235c0714365b98a50a11ec956e7", "domain_id": "-", 
> "user_domain_id": "-",
> "project_domain_id": "-"},"instance": {},"message":"create failed"}
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  
> >>>>>Traceback (most recent call last):
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron/api/v2/resource.py", 
> line 84, in resource
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    result =
> method(request=request, **args)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron/api/v2/base.py", 
> line 410, in create
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    return
> self._create(request, body, **kwargs)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/oslo_db/api.py", line 148, 
> in wrapper
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>> 
> ectxt.value = e.inner_exc
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/oslo_utils/excutils.py", 
> line 220, in __exit__
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>
> self.force_reraise()
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/oslo_utils/excutils.py", 
> line 196, in force_reraise
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>> 
> six.reraise(self.type_, self.value, self.tb)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/oslo_db/api.py", line 138, 
> in wrapper
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    return
> f(*args, **kwargs)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron/api/v2/base.py", 
> line 521, in _create
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    obj =
> do_create(body)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron/api/v2/base.py", 
> line 503, in do_create
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>> 
> request.context, reservation.reservation_id)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/oslo_utils/excutils.py", 
> line 220, in __exit__
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>
> self.force_reraise()
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/oslo_utils/excutils.py", 
> line 196, in force_reraise
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>> 
> six.reraise(self.type_, self.value, self.tb)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron/api/v2/base.py", 
> line 496, in do_create
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    return
> obj_creator(request.context, **kwargs)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron_lbaas/services/loadb
> alancer/plugin.py",
> line 1086, in create_l7policy
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>
> l7policy_db)
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>  File 
> "/opt/neutron/lib/python2.7/site-packages/neutron_lbaas/services/loadb
> alancer/plugin.py",
> line 494, in _call_driver_operation
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    raise
> loadbalancerv2.DriverError()
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>DriverError:
> An error happened in the driver
>
> 2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>
>
>
>
> Thanks you,
>
> Mihaela Balas
>
> ______________________________________________________________________
> ___________________________________________________
>
>
>
> Ce message et ses pieces jointes peuvent contenir des informations 
> confidentielles ou privilegiees et ne doivent donc
>
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez 
> recu ce message par erreur, veuillez le signaler
>
> a l'expediteur et le detruire ainsi que les pieces jointes. Les 
> messages electroniques etant susceptibles d'alteration,
>
> Orange decline toute responsabilite si ce message a ete altere, 
> deforme ou falsifie. Merci.
>
>
>
> This message and its attachments may contain confidential or 
> privileged information that may be protected by law;
>
> they should not be distributed, used or copied without authorisation.
>
> If you have received this email in error, please notify the sender and 
> delete this message and its attachments.
>
> As emails may be altered, Orange is not liable for messages that have 
> been modified, changed or falsified.
>
> Thank you.
>
> ______________________________________________________________________
> ___________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations 
> confidentielles ou privilegiees et ne doivent donc pas etre diffuses, 
> exploites ou copies sans autorisation. Si vous avez recu ce message 
> par erreur, veuillez le signaler a l'expediteur et le detruire ainsi 
> que les pieces jointes. Les messages electroniques etant susceptibles 
> d'alteration, Orange decline toute responsabilite si ce message a ete 
> altere, deforme ou falsifie. Merci.
>
> This message and its attachments may contain confidential or 
> privileged information that may be protected by law; they should not 
> be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and 
> delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have 
> been modified, changed or falsified.
> Thank you.
>
>
> ______________________________________________________________________
> ____ OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: 
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

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

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.



More information about the OpenStack-dev mailing list