<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hello,</p>
<p><br>
</p>
<p>It seems that <span>HaproxyOnHostPluginDriver from <a href="https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/haproxy/plugin_driver.py#L21" class="OWAAutoLink" id="LPlnk84761" previewremoved="true">https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/haproxy/plugin_driver.py#L21</a> extends AgentDriverBase <a href="https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/common/agent_driver_base.py#L301" class="OWAAutoLink" id="LPlnk790662" previewremoved="true">https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/common/agent_driver_base.py#L301</a> where
 I could not located L7 things.</span><br>
<br>
</p>
<p>L7 things might be related to Octavia (only?). What I found is that HAProxy (<a href="https://www.haproxy.com/doc/aloha/7.0/haproxy/index.html" class="OWAAutoLink" id="LPlnk508325" previewremoved="true">https://www.haproxy.com/doc/aloha/7.0/haproxy/index.html</a>)
 has L7 things.</p>
<p><br>
</p>
<p>It seems that in old good times that thing was not taken into the consideration.</p>
<p><br>
</p>
<p>Cheers,</p>
<p>Paweł</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Od:</b> mihaela.balas@orange.com <mihaela.balas@orange.com><br>
<b>Wysłane:</b> 3 października 2017 14:45:11<br>
<b>Do:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Temat:</b> Re: [openstack-dev] Odp.: [neutron][lbaasv2][agent implementation] L7 policy support</font>
<div> </div>
</div>
<div>
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I appreciate the help. In neutron-server I have the following service providers enabled:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#C00000">service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#C00000">service_provider = LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDriver<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">With Octavia provider L7 policy works fine. With haproxy (agent provider) I receive the error below.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">On the haproxy agent I have the following setting (however, the neutron-server throws that error and not even sends any request to agent):<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">device_driver = neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Mihaela<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Pawel Suder [mailto:pawel.suder@corp.ovh.com]
<br>
<b>Sent:</b> Tuesday, October 03, 2017 3:10 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> [openstack-dev] Odp.: [neutron][lbaasv2][agent implementation] L7 policy support<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="divtagdefaultwrapper">
<p><span style="font-family:"Calibri","sans-serif";color:black">Hello Mihaela,<o:p></o:p></span></p>
<p><span style="font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p><span style="font-family:"Calibri","sans-serif";color:black">It seems that you are referring to that part of code <a href="https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/driver_base.py#L36" id="LPlnk920447">https://github.com/openstack/neutron-lbaas/blob/mitaka-eol/neutron_lbaas/drivers/driver_base.py#L36</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">I found that document for Mitaka <a href="https://docs.openstack.org/mitaka/networking-guide/config-lbaas.html" id="LPlnk307305">https://docs.openstack.org/mitaka/networking-guide/config-lbaas.html</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">It might be related to incorrectly configured driver for LBaaS (or indeed not implemented driver for L7 policy for specific driver).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Questions:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">* What do you have configured in neutron configuration in section [service_providers]?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">* Which driver do you want to use?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Example line<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Cheers,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Paweł<o:p></o:p></span></p>
</div>
</div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-size:12.0pt;font-family:"Times New Roman","serif"">
<hr size="2" width="98%" align="center">
</span></div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">Od:</span></b><span style="color:black">
<a href="mailto:mihaela.balas@orange.com">mihaela.balas@orange.com</a> <<a href="mailto:mihaela.balas@orange.com">mihaela.balas@orange.com</a>><br>
<b>Wysłane:</b> 3 października 2017 11:13:34<br>
<b>Do:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Temat:</b> [openstack-dev] [neutron][lbaasv2][agent implementation] L7 policy support</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif"">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""> <o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Does the agent implementation of LBaaSv2 support L7 policies? I am testing with Mitaka version and I get “Not Implemented Error”.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">{"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"}<o:p></o:p></p>
<p class="MsoNormal">{"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"}<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.765 18 TRACE neutron_lbaas.services.loadbalancer.plugin  >>>>>Traceback (most recent call last):<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.765 18 TRACE neutron_lbaas.services.loadbalancer.plugin  >>>>>    driver_method(context, db_entity)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.765 18 TRACE neutron_lbaas.services.loadbalancer.plugin  >>>>>    raise NotImplementedError()<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.765 18 TRACE neutron_lbaas.services.loadbalancer.plugin  >>>>>NotImplementedError<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.765 18 TRACE neutron_lbaas.services.loadbalancer.plugin  >>>>><o:p></o:p></p>
<p class="MsoNormal">{"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"}<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>Traceback (most recent call last):<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    result = method(request=request, **args)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    return self._create(request, body, **kwargs)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    ectxt.value = e.inner_exc<o:p></o:p></p>
<p class="MsoNormal">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__<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    self.force_reraise()<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    six.reraise(self.type_, self.value, self.tb)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    return f(*args, **kwargs)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    obj = do_create(body)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    request.context, reservation.reservation_id)<o:p></o:p></p>
<p class="MsoNormal">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__<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    self.force_reraise()<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    six.reraise(self.type_, self.value, self.tb)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    return obj_creator(request.context, **kwargs)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    l7policy_db)<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>    raise loadbalancerv2.DriverError()<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>>DriverError: An error happened in the driver<o:p></o:p></p>
<p class="MsoNormal">2017-10-03 07:34:42.800 18 TRACE neutron.api.v2.resource  >>>>><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks you,<o:p></o:p></p>
<p class="MsoNormal">Mihaela Balas<o:p></o:p></p>
<pre>_________________________________________________________________________________________________________________________<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc<o:p></o:p></pre>
<pre>pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler<o:p></o:p></pre>
<pre>a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,<o:p></o:p></pre>
<pre>Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>This message and its attachments may contain confidential or privileged information that may be protected by law;<o:p></o:p></pre>
<pre>they should not be distributed, used or copied without authorisation.<o:p></o:p></pre>
<pre>If you have received this email in error, please notify the sender and delete this message and its attachments.<o:p></o:p></pre>
<pre>As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.<o:p></o:p></pre>
<pre>Thank you.<o:p></o:p></pre>
</div>
</div>
<pre>_________________________________________________________________________________________________________________________

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.
</pre>
</div>
</body>
</html>