<div dir="ltr"><div class=""><div><div><div>Hi everyone,<br><br><br></div><div>I would like to propose a change to simplify/allow l3 agent manager customization and i would like the community feedback.<br></div><div><br></div>
<div><br></div>
<div>Just to precise my context, I deploy OpenStack for small specific 
business use cases and i often customize it because of specific use case
 needs.<br></div><div>In particular must of the time i must customize L3 agent behavior in order to:<br>
</div><div>- add custom iptables rules in the router (on router/port post-deployment),<br></div><div>- remove custom iptables rules in the router (on port pre-undeployment),<br></div><div>- update router config through sysctl (on router post-deployment),  <br>

</div><div>- start an application in the router (on router/port post-deployment),<br>- stop an application in the router (on router/port pre-undeployment),<br></div><div>- etc ...<br></div><div>Currently (Havana,Icehouse), i create my own L3 agent manager which extends neutron one.<br>

And I replace neutron-l3-agent binary, indeed it's not possible to change/hook l3 agent manager implementation by configuration.<br></div><div><br><br></div><div>What would be the correct way to allow l3 agent manager customization ?<br>

</div><div> - Allow to specify l3 agent manager implementation through configuration<br></div><div>  ==> like the option router_scheduler_driver which allows to change router scheduler implementation <br></div><div> - Allow to hook l3 agent manager implementation<br>

</div><div>  ==> like the generic hook system in nova (nova.hooks used in nova.compute.api)<br></div><div>  ==> or like the neutron ML2 mechanism hook system (neutron.plugins.ml2.driver_api:MechanismDriver)<br></div>

<div> - Other idea ?<br></div><br><br></div>It seems the same question could be asked for the dhcp agent ?<br><br></div><div><br>Thanks,<br><br></div>Cedric (zzelle@irc)<h2 id=":fj" class="" tabindex="-1"></h2><span id=":fk" class=""></span></div>
</div>