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

Pawel Suder pawel.suder at corp.ovh.com
Wed Oct 4 06:35:37 UTC 2017


Hello,


It seems that HaproxyOnHostPluginDriver from https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/haproxy/plugin_driver.py#L21 extends AgentDriverBase https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/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.HaproxyOnHostPluginDriver:default
service_provider = LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDriver

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_lbaas/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.HaproxyOnHostPluginDriver:default

Cheers,
Paweł
________________________________
Od: mihaela.balas at orange.com<mailto:mihaela.balas at orange.com> <mihaela.balas at orange.com<mailto: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/loadbalancer/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/loadbalancer/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/loadbalancer/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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20171004/597009bf/attachment-0001.html>


More information about the OpenStack-dev mailing list