)]}'
{"specs/juno/dhcp-agent-customization.rst":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d61218cbcd9acc5688c54c734be20bce9d5d8e6e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"features:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Start business specific applications or proxies on isolated network dhcps"},{"line_number":22,"context_line":"  after deployment,"},{"line_number":23,"context_line":"* Reload previous applications after dhcp update,"},{"line_number":24,"context_line":"* Stop previous applications before dhcp undeployment,"},{"line_number":25,"context_line":"* Add custom iptables rules to secure previous applications."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b77be6bc","line":22,"updated":"2014-06-11 15:21:48.000000000","message":"can you provide examples of such applications or proxies?","commit_id":"979be8d667e315797db82507b1a26b7394d968d0"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"30ec5599928e65d93af27abad0ce13a75a799715","unresolved":false,"context_lines":[{"line_number":19,"context_line":"features:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Start business specific applications or proxies on isolated network dhcps"},{"line_number":22,"context_line":"  after deployment,"},{"line_number":23,"context_line":"* Reload previous applications after dhcp update,"},{"line_number":24,"context_line":"* Stop previous applications before dhcp undeployment,"},{"line_number":25,"context_line":"* Add custom iptables rules to secure previous applications."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_4fe3e1d8","line":22,"in_reply_to":"1ae5cdf2_b77be6bc","updated":"2014-06-11 20:48:55.000000000","message":"typically it could be \n\n* security probes\n* metadata proxy itself\n* application proxies which reuses metadata proxy principle to identify VMs and allow interaction between VMs and infrastructure on isolated networks","commit_id":"979be8d667e315797db82507b1a26b7394d968d0"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"8cf3da0db43a2295da3c73b65d1f3b5cf2afd4e3","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This alternative implies more changes and should be preferred if"},{"line_number":58,"context_line":"loading multiple dhcp service drivers is mandatory."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Data model impact"},{"line_number":61,"context_line":"-----------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_5c29e235","line":59,"updated":"2014-06-11 16:58:34.000000000","message":"Would another approach here be to use config drive with a pluggable IPAM. Perhaps that would solve the use cases covered above. May be worth mentioning here.","commit_id":"979be8d667e315797db82507b1a26b7394d968d0"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"30ec5599928e65d93af27abad0ce13a75a799715","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This alternative implies more changes and should be preferred if"},{"line_number":58,"context_line":"loading multiple dhcp service drivers is mandatory."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Data model impact"},{"line_number":61,"context_line":"-----------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_4fbcc1bb","line":59,"in_reply_to":"1ae5cdf2_5c29e235","updated":"2014-06-11 20:48:55.000000000","message":"Perhaps i am wrong, but based on my understanding, pluggable IPAM could  \n\n* replace IP management on neutron-side\n* change dhcp-agent behavior to act as dhcp/dns relay instead of dhcp/dns servers or replace the dhcp-agent by something else\n\nwhich means IPAM could change dhcp deployment, update, undeployment implementations where dhcp agent customization allows to add extra features linked or not to dhcp \u003d\u003d\u003d\u003e metadata proxy integration on isolated networks for example.","commit_id":"979be8d667e315797db82507b1a26b7394d968d0"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"8cf3da0db43a2295da3c73b65d1f3b5cf2afd4e3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"  Cedric Brandily \u003ccbrandily\u003e"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other contributors:"},{"line_number":111,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Work Items"},{"line_number":114,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_fc2d4e47","line":111,"updated":"2014-06-11 16:58:34.000000000","message":"Remove this line.","commit_id":"979be8d667e315797db82507b1a26b7394d968d0"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"30ec5599928e65d93af27abad0ce13a75a799715","unresolved":false,"context_lines":[{"line_number":108,"context_line":"  Cedric Brandily \u003ccbrandily\u003e"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Other contributors:"},{"line_number":111,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Work Items"},{"line_number":114,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_ab1d3ac0","line":111,"in_reply_to":"1ae5cdf2_fc2d4e47","updated":"2014-06-11 20:48:55.000000000","message":"Will do","commit_id":"979be8d667e315797db82507b1a26b7394d968d0"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"44adb2f885eb3111759db038c1c89ab2e0e85680","unresolved":false,"context_lines":[{"line_number":46,"context_line":"* undeploy_dhcp_precommit"},{"line_number":47,"context_line":"* undeploy_dhcp_postcommit"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Reuse ML2 mechanism design in dhcp-agent manager to allow customization of dhcp"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_20b68d3e","line":49,"updated":"2014-06-12 13:55:47.000000000","message":"I am not sure if we should prefer proposed change or the alternative","commit_id":"4bb9a964fcf8e4f54d0286783b33f795dc561b62"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"b03f9ee7925700aab703ab6a6b048a4387af2490","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Current dhcp-agent design is not intended to support customization of dhcp"},{"line_number":17,"context_line":"(un)deployment workflows. Indeed dhcp-agent manager is an internal class"},{"line_number":18,"context_line":"without stable interface or hook points. Such capability is expected in order"},{"line_number":19,"context_line":"to add extra features:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_31169da7","line":16,"updated":"2014-06-23 01:39:13.000000000","message":"Do you plan to contribute some \"dhcp mechanism driver\" to the community?","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"f9402a28a579d8720c38164a4e6780f7cf37982d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Current dhcp-agent design is not intended to support customization of dhcp"},{"line_number":17,"context_line":"(un)deployment workflows. Indeed dhcp-agent manager is an internal class"},{"line_number":18,"context_line":"without stable interface or hook points. Such capability is expected in order"},{"line_number":19,"context_line":"to add extra features:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_21c48a0d","line":16,"in_reply_to":"1ae5cdf2_31169da7","updated":"2014-06-23 06:44:32.000000000","message":"At first only a dhcp mechanisnm driver for metadata proxy integration.\n\nI did not check if i could contribute others dhcp mechanism drivers because the ones i want to develop/refactor are business specific. But if i do i will create a dedicated spec to avoid mixing dhcp mechanism framework and drivers.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"575f02632b84826c538d8af251b6cdb12c275b31","unresolved":false,"context_lines":[{"line_number":34,"context_line":"ML2 mechanism design will be reused in dhcp-agent manager to allow the"},{"line_number":35,"context_line":"integration of extra features through:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":" * a dhcp mechanism driver interface (see below),"},{"line_number":38,"context_line":" * a dhcp mechanism manager responsible for loading mechanism using a new"},{"line_number":39,"context_line":"   option **dhcp_mechanism_drivers** in section AGENT and stevedore and for"},{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_de384ff0","line":37,"updated":"2014-06-20 08:31:32.000000000","message":"there is already a concept of \"dhcp driver\".\nie. self.dhcp_driver_cls.\ndoes this need to introduce a separate concept?\nit would be better to have a single framework which can handle both of the \"main\" driver and \"extension\" drivers.\nsimilarly as openvswitch and l2pop ML2 MDs.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"085f697fb81b28e801a2d1b74728a18a161d8858","unresolved":false,"context_lines":[{"line_number":34,"context_line":"ML2 mechanism design will be reused in dhcp-agent manager to allow the"},{"line_number":35,"context_line":"integration of extra features through:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":" * a dhcp mechanism driver interface (see below),"},{"line_number":38,"context_line":" * a dhcp mechanism manager responsible for loading mechanism using a new"},{"line_number":39,"context_line":"   option **dhcp_mechanism_drivers** in section AGENT and stevedore and for"},{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_5310684f","line":37,"in_reply_to":"1ae5cdf2_a43d08bf","updated":"2014-06-23 22:15:36.000000000","message":"OK, dhcp_driver (option) provides and will provide the \"main\" driver (ie: provide action implementations), where dhcp mechanism drivers will provide \"extension\" drivers (ie: pre/post actions). Like OVS and l2pop.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f5c2b188aa71cca5bed04ff0c7277e25c00b3e6e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"ML2 mechanism design will be reused in dhcp-agent manager to allow the"},{"line_number":35,"context_line":"integration of extra features through:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":" * a dhcp mechanism driver interface (see below),"},{"line_number":38,"context_line":" * a dhcp mechanism manager responsible for loading mechanism using a new"},{"line_number":39,"context_line":"   option **dhcp_mechanism_drivers** in section AGENT and stevedore and for"},{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_a43d08bf","line":37,"in_reply_to":"1ae5cdf2_c1614f3a","updated":"2014-06-23 06:50:35.000000000","message":"i was not talking of terminologies.\n\nyou are introducing another driver framework into dhcp agent.\nhave you considered to unify it with the existing one?","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"79752d3ed772ea83d6c1d4f57f130f17e0410cd5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"ML2 mechanism design will be reused in dhcp-agent manager to allow the"},{"line_number":35,"context_line":"integration of extra features through:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":" * a dhcp mechanism driver interface (see below),"},{"line_number":38,"context_line":" * a dhcp mechanism manager responsible for loading mechanism using a new"},{"line_number":39,"context_line":"   option **dhcp_mechanism_drivers** in section AGENT and stevedore and for"},{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_c1614f3a","line":37,"in_reply_to":"1ae5cdf2_de384ff0","updated":"2014-06-20 11:58:05.000000000","message":"It is a \"dhcp mechanism driver\" not \"dhcp driver\", it hope i am consistent in the whole doc.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"b03f9ee7925700aab703ab6a6b048a4387af2490","unresolved":false,"context_lines":[{"line_number":39,"context_line":"   option **dhcp_mechanism_drivers** in section AGENT and stevedore and for"},{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Dhcp mechanism driver methods:"},{"line_number":43,"context_line":" * pre_deploy_dhcp"},{"line_number":44,"context_line":" * post_deploy_dhcp"},{"line_number":45,"context_line":" * pre_update_dhcp"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_91dbf1eb","line":42,"updated":"2014-06-23 01:39:13.000000000","message":"That looks like a set of hooks and I think you are not going to write actual DHCP work in the following methods, right?\n\n\"Mechanism driver\" suggests actual work is done there.\nI think a different name avoids confusion.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"f9402a28a579d8720c38164a4e6780f7cf37982d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"   option **dhcp_mechanism_drivers** in section AGENT and stevedore and for"},{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Dhcp mechanism driver methods:"},{"line_number":43,"context_line":" * pre_deploy_dhcp"},{"line_number":44,"context_line":" * post_deploy_dhcp"},{"line_number":45,"context_line":" * pre_update_dhcp"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_81b8fe76","line":42,"in_reply_to":"1ae5cdf2_91dbf1eb","updated":"2014-06-23 06:44:32.000000000","message":"(Dhcp) mechanism driver refers to ML2 mechanism system which provides a way to customize ML2 resource management workflow through implementation of mechanism drivers ... that\u0027s why the word mechanism has been reused.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"575f02632b84826c538d8af251b6cdb12c275b31","unresolved":false,"context_lines":[{"line_number":47,"context_line":" * pre_undeploy_dhcp"},{"line_number":48,"context_line":" * post_undeploy_dhcp"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Metadata proxy integration in the dhcp agent will become a dhcp agent driver."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_7e79fbc3","line":50,"updated":"2014-06-20 08:31:32.000000000","message":"there are similar efforts for other agents.\nnamely l3 consolidation and modular l2 agent.\ni hope these 3 end up with a consistent design, and ideally share some code.","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"79752d3ed772ea83d6c1d4f57f130f17e0410cd5","unresolved":false,"context_lines":[{"line_number":47,"context_line":" * pre_undeploy_dhcp"},{"line_number":48,"context_line":" * post_undeploy_dhcp"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Metadata proxy integration in the dhcp agent will become a dhcp agent driver."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_81aae76e","line":50,"in_reply_to":"1ae5cdf2_7e79fbc3","updated":"2014-06-20 11:58:05.000000000","message":"My intention is to share when possible code with current ML2 mechanism system.\n\nFor metadata proxy, my intention was to propose a small driver for managing it and wrappers to expose it as a L2/dhcp/L3 agent drivers","commit_id":"f86817874b8a9ad5ae18b3638e13d533ba4a754f"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9a40eefe2e5c790fe169fea0f0f7b0728db2c269","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Start applications or proxies for isolated networks,"},{"line_number":26,"context_line":"* Reload previous applications/proxies after dhcp update,"},{"line_number":27,"context_line":"* Stop previous applications/proxies before dhcp undeployment,"},{"line_number":28,"context_line":"* Add custom iptables rules to secure previous applications."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_04adcc31","line":28,"updated":"2014-07-01 02:58:11.000000000","message":"Am I correct in saying that there isn\u0027t really anything pertaining specifically to DHCP here?  You just need a hook point to do something in a namespace, right?  We could add the same hook points to any other agent.","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"3142bbd8d0e794153e15eb6b0acc7cb3fa46e92d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Start applications or proxies for isolated networks,"},{"line_number":26,"context_line":"* Reload previous applications/proxies after dhcp update,"},{"line_number":27,"context_line":"* Stop previous applications/proxies before dhcp undeployment,"},{"line_number":28,"context_line":"* Add custom iptables rules to secure previous applications."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_5d65cbdf","line":28,"in_reply_to":"baada198_04adcc31","updated":"2014-07-01 10:08:53.000000000","message":"Indeed (the same feature for L3 agent is under review)","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9a40eefe2e5c790fe169fea0f0f7b0728db2c269","unresolved":false,"context_lines":[{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Dhcp mechanism driver methods:"},{"line_number":43,"context_line":" * pre_deploy_dhcp"},{"line_number":44,"context_line":" * post_deploy_dhcp"},{"line_number":45,"context_line":" * pre_update_dhcp"},{"line_number":46,"context_line":" * post_update_dhcp"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_04d86cee","line":43,"updated":"2014-07-01 02:58:11.000000000","message":"What data will be made available to these methods?  At the least I imagine that the network namespace will be given.  Anything else?","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"3142bbd8d0e794153e15eb6b0acc7cb3fa46e92d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Dhcp mechanism driver methods:"},{"line_number":43,"context_line":" * pre_deploy_dhcp"},{"line_number":44,"context_line":" * post_deploy_dhcp"},{"line_number":45,"context_line":" * pre_update_dhcp"},{"line_number":46,"context_line":" * post_update_dhcp"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_1dba73de","line":43,"in_reply_to":"baada198_04d86cee","updated":"2014-07-01 10:08:53.000000000","message":"dhcp mechanism drivers methods will be called with dhcp agent object network (contains network/subnet/namespace desc).","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"e2856a21daed850915df581f8d876d0833c69efb","unresolved":false,"context_lines":[{"line_number":40,"context_line":"   forwarding calls to dhcp mechanism drivers."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Dhcp mechanism driver methods:"},{"line_number":43,"context_line":" * pre_deploy_dhcp"},{"line_number":44,"context_line":" * post_deploy_dhcp"},{"line_number":45,"context_line":" * pre_update_dhcp"},{"line_number":46,"context_line":" * post_update_dhcp"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_294f3635","line":43,"in_reply_to":"baada198_1dba73de","updated":"2014-07-07 19:31:29.000000000","message":"Done","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9a40eefe2e5c790fe169fea0f0f7b0728db2c269","unresolved":false,"context_lines":[{"line_number":48,"context_line":" * post_undeploy_dhcp"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This dhcp mechanism system is an extension of current available configuration"},{"line_number":51,"context_line":"option dhcp_driver: dhcp_driver option provides the main driver (implementing"},{"line_number":52,"context_line":"workflow actions), where dhcp mechanism drivers provide extensions (defining"},{"line_number":53,"context_line":"pre/post actions)."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_df40fd37","line":51,"updated":"2014-07-01 02:58:11.000000000","message":"This is not abstracting the DHCP function, right?  Instead, this is refactoring in to provide hook points within it?","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"e2856a21daed850915df581f8d876d0833c69efb","unresolved":false,"context_lines":[{"line_number":48,"context_line":" * post_undeploy_dhcp"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This dhcp mechanism system is an extension of current available configuration"},{"line_number":51,"context_line":"option dhcp_driver: dhcp_driver option provides the main driver (implementing"},{"line_number":52,"context_line":"workflow actions), where dhcp mechanism drivers provide extensions (defining"},{"line_number":53,"context_line":"pre/post actions)."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_c974fa69","line":51,"in_reply_to":"baada198_3d13b75d","updated":"2014-07-07 19:31:29.000000000","message":"Done","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"3142bbd8d0e794153e15eb6b0acc7cb3fa46e92d","unresolved":false,"context_lines":[{"line_number":48,"context_line":" * post_undeploy_dhcp"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This dhcp mechanism system is an extension of current available configuration"},{"line_number":51,"context_line":"option dhcp_driver: dhcp_driver option provides the main driver (implementing"},{"line_number":52,"context_line":"workflow actions), where dhcp mechanism drivers provide extensions (defining"},{"line_number":53,"context_line":"pre/post actions)."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_3d13b75d","line":51,"in_reply_to":"baada198_df40fd37","updated":"2014-07-01 10:08:53.000000000","message":"It does not replace nor change DHCP function abstraction.","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9a40eefe2e5c790fe169fea0f0f7b0728db2c269","unresolved":false,"context_lines":[{"line_number":120,"context_line":"1. Define DhcpMechanismDriver interface"},{"line_number":121,"context_line":"2. Define DhcpMechanismManager and the AGENT option **dhcp_mechanism_drivers**"},{"line_number":122,"context_line":"3. Integrate DhcpMechanismManager calls in dhcp agent manager workflows"},{"line_number":123,"context_line":"4. Transform metadata proxy integration in a DhcpMechanismDriver"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_046a2c1a","line":123,"updated":"2014-07-01 02:58:11.000000000","message":"Is metadata proxy the only current function to be transformed in to a mechanism driver?","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"3142bbd8d0e794153e15eb6b0acc7cb3fa46e92d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"1. Define DhcpMechanismDriver interface"},{"line_number":121,"context_line":"2. Define DhcpMechanismManager and the AGENT option **dhcp_mechanism_drivers**"},{"line_number":122,"context_line":"3. Integrate DhcpMechanismManager calls in dhcp agent manager workflows"},{"line_number":123,"context_line":"4. Transform metadata proxy integration in a DhcpMechanismDriver"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_5d922b58","line":123,"in_reply_to":"baada198_046a2c1a","updated":"2014-07-01 10:08:53.000000000","message":"Currently, yes.","commit_id":"3feb308acc4f8c2ffe5311622ca02aed2d482e5e"}],"specs/kilo/dhcp-agent-customization.rst":[{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"50b0730910a5bfbf4b3aff20db194dee2a9ead16","unresolved":false,"context_lines":[{"line_number":10,"context_line":"undeployment workflows in order to allow their customization."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Current dhcp-agent design is not intended to support customization of dhcp"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa7fdbe_aa9e9505","line":13,"updated":"2014-10-29 14:45:04.000000000","message":"In it\u0027s current form, I don\u0027t think this spec does a good job of justifying the proposed feature.  First and foremost, I would expect to see a problem description that clearly defining the problems that need to be solved.  Otherwise, how can we prioritize the proposed features from a reviewer perspective?\n\nTo reiterate - I expect this section to contain a concise explanation of the problems that you think need to be addressed.  Defining how those problems are addressed should be left for the subsequent section.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"50b0730910a5bfbf4b3aff20db194dee2a9ead16","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem Description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Current dhcp-agent design is not intended to support customization of dhcp"},{"line_number":17,"context_line":"(un)deployment workflows. Indeed dhcp-agent manager is an internal class"},{"line_number":18,"context_line":"without stable interface or hook points. Such capability is expected in order"},{"line_number":19,"context_line":"to add extra features:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa7fdbe_0a5a4150","line":16,"updated":"2014-10-29 14:45:04.000000000","message":"I would expect examples of the kinds of workflows that are currently not supported and why those workflows are important.  It\u0027s not sufficient to state that \u0027the dhcp agent doesn\u0027t support what I need\u0027 without a detailed explanation of what those needs are.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"340ca17997537c1242d569589942cff17356be6f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Current dhcp-agent design is not intended to support customization of dhcp"},{"line_number":17,"context_line":"(un)deployment workflows. Indeed dhcp-agent manager is an internal class"},{"line_number":18,"context_line":"without stable interface or hook points. Such capability is expected in order"},{"line_number":19,"context_line":"to add extra features:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Integrate security features in workflows (security probe configuration and"},{"line_number":22,"context_line":"  management, ...),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_2f7de51c","line":19,"updated":"2014-10-14 22:57:35.000000000","message":"While the list below provides a few actions that can be performed using this \"mechanism\" approach, it really does not provide any use case (beyond a rationalization of the metadata proxy management)","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4c0a6fefec473b6c99aa4e57501a05c182c506c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Current dhcp-agent design is not intended to support customization of dhcp"},{"line_number":17,"context_line":"(un)deployment workflows. Indeed dhcp-agent manager is an internal class"},{"line_number":18,"context_line":"without stable interface or hook points. Such capability is expected in order"},{"line_number":19,"context_line":"to add extra features:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Integrate security features in workflows (security probe configuration and"},{"line_number":22,"context_line":"  management, ...),"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_12a2fafc","line":19,"in_reply_to":"baa201ad_2f7de51c","updated":"2014-10-15 09:05:39.000000000","message":"i see 3 use cases:\n \n * metadata proxy management (neutron mechanism )\n * add custom iptables rules to increase dhcp namespace security (neutron or external mechanism)\n * add business proxy in the dhcp namespace (external mechanism)\n * add security probe in the dhcp namespace (external mechanism)","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"340ca17997537c1242d569589942cff17356be6f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Integrate security features in workflows (security probe configuration and"},{"line_number":22,"context_line":"  management, ...),"},{"line_number":23,"context_line":"* Start application proxies reusing metadata proxy principle to identify VMs"},{"line_number":24,"context_line":"  in order to expose to identified VMs services running on infrastructure side"},{"line_number":25,"context_line":"* Start applications or proxies for isolated networks,"},{"line_number":26,"context_line":"* Reload previous applications/proxies after dhcp update,"},{"line_number":27,"context_line":"* Stop previous applications/proxies before dhcp undeployment,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_8f5c111b","line":24,"updated":"2014-10-14 22:57:35.000000000","message":"I\u0027ve read the above sentence a few times but still can\u0027t figure out what it means. I only understand you want to be able to start proxies other than the metadata service one.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4c0a6fefec473b6c99aa4e57501a05c182c506c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Integrate security features in workflows (security probe configuration and"},{"line_number":22,"context_line":"  management, ...),"},{"line_number":23,"context_line":"* Start application proxies reusing metadata proxy principle to identify VMs"},{"line_number":24,"context_line":"  in order to expose to identified VMs services running on infrastructure side"},{"line_number":25,"context_line":"* Start applications or proxies for isolated networks,"},{"line_number":26,"context_line":"* Reload previous applications/proxies after dhcp update,"},{"line_number":27,"context_line":"* Stop previous applications/proxies before dhcp undeployment,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_323ffe88","line":24,"in_reply_to":"baa201ad_8f5c111b","updated":"2014-10-15 09:05:39.000000000","message":"the idea is to start a proxy similar to the metadata proxy:\n\n * provided by the dhcp namespace ... so working without binding subnets to a router\n * using metadata identification system (based on ip)","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"340ca17997537c1242d569589942cff17356be6f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Start applications or proxies for isolated networks,"},{"line_number":26,"context_line":"* Reload previous applications/proxies after dhcp update,"},{"line_number":27,"context_line":"* Stop previous applications/proxies before dhcp undeployment,"},{"line_number":28,"context_line":"* Add custom iptables rules to secure previous applications."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_0f7f4167","line":28,"updated":"2014-10-14 22:57:35.000000000","message":"This is the DHCP agent.\nIt should do DHCP only. It seems you want to expand its purpose?","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4c0a6fefec473b6c99aa4e57501a05c182c506c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Start applications or proxies for isolated networks,"},{"line_number":26,"context_line":"* Reload previous applications/proxies after dhcp update,"},{"line_number":27,"context_line":"* Stop previous applications/proxies before dhcp undeployment,"},{"line_number":28,"context_line":"* Add custom iptables rules to secure previous applications."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_4c030c42","line":28,"in_reply_to":"baa201ad_0f7f4167","updated":"2014-10-15 09:05:39.000000000","message":"custom iptables rules allow to increase dhcp security: \n\n* rate limiting dhcp requests to reduce the effect of a flooding\n* rate limiting dns requests to reduce the effect of a flooding\n* rate limiting metadata requests to reduce the effect of a flooding\n* disable dns ... some deployments don\u0027t use the dns service provided by dnsmasq and it seems impossible to disable it through configuration","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"340ca17997537c1242d569589942cff17356be6f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"ML2 mechanism design will be reused in dhcp-agent manager to allow the"},{"line_number":35,"context_line":"integration of extra features through:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":" * a dhcp mechanism driver interface (see below),"},{"line_number":38,"context_line":" * a dhcp mechanism manager responsible for loading mechanism using a new"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_4ff789d3","line":35,"updated":"2014-10-14 22:57:35.000000000","message":"With all respect to ML2, the mechanism design is just a simple design pattern where a servant object (the mechanism) provides the actual implementation of the steps of the algorithms performed by the master object (the plugin).\n\nWhile what you are proposing below is a sort of \"natural\" expansion of the current dhcp driver interface, I am still not truly convinced that we might need more than one DHCP \"mechanism\" driver enable at the same time.\n\nHowever probably what you want is actually just leverage hook points synchronous with DHCP workflow and do other things. In which case I would try and do the insertion at the plugin level rather than at the DHCP agent level.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4c0a6fefec473b6c99aa4e57501a05c182c506c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"ML2 mechanism design will be reused in dhcp-agent manager to allow the"},{"line_number":35,"context_line":"integration of extra features through:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":" * a dhcp mechanism driver interface (see below),"},{"line_number":38,"context_line":" * a dhcp mechanism manager responsible for loading mechanism using a new"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_ec8e802d","line":35,"in_reply_to":"baa201ad_4ff789d3","updated":"2014-10-15 09:05:39.000000000","message":"Indeed the idea is to add hook points in DHCP workflow to customize what is done in dhcp namespaces ... so it seems to me nearly impossible to perform such customization at plugin level except if you see how to do it (i don\u0027t :().","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"340ca17997537c1242d569589942cff17356be6f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"extensions (defining pre/post actions)."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"dhcp_driver and the metadata proxy integration in the dhcp agent will become"},{"line_number":60,"context_line":"dhcp mechanism drivers."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data Model Impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_2fe885e1","line":60,"updated":"2014-10-14 22:57:35.000000000","message":"For simmetry you should do then \"mechanismize\" the metadata proxy startup on the l3 agent...\n\njust kidding.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4c0a6fefec473b6c99aa4e57501a05c182c506c","unresolved":false,"context_lines":[{"line_number":57,"context_line":"extensions (defining pre/post actions)."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"dhcp_driver and the metadata proxy integration in the dhcp agent will become"},{"line_number":60,"context_line":"dhcp mechanism drivers."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data Model Impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_8c5fb40e","line":60,"in_reply_to":"baa201ad_2fe885e1","updated":"2014-10-15 09:05:39.000000000","message":"https://review.openstack.org/91532 proposes it for juno (and kilo?)","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"340ca17997537c1242d569589942cff17356be6f","unresolved":false,"context_lines":[{"line_number":116,"context_line":"in deployment, update and undeployment workflows and load dhcp-agent manager"},{"line_number":117,"context_line":"implementation using a configuration option **dhcp_manager** in section AGENT"},{"line_number":118,"context_line":"in order to allow developers to use dhcp-agent manager implementation subclass"},{"line_number":119,"context_line":"with business specific hook method implementations."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_afa2b5ab","line":119,"updated":"2014-10-14 22:57:35.000000000","message":"please clarify the above statement.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4c0a6fefec473b6c99aa4e57501a05c182c506c","unresolved":false,"context_lines":[{"line_number":116,"context_line":"in deployment, update and undeployment workflows and load dhcp-agent manager"},{"line_number":117,"context_line":"implementation using a configuration option **dhcp_manager** in section AGENT"},{"line_number":118,"context_line":"in order to allow developers to use dhcp-agent manager implementation subclass"},{"line_number":119,"context_line":"with business specific hook method implementations."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baa201ad_ecd6804e","line":119,"in_reply_to":"baa201ad_afa2b5ab","updated":"2014-10-15 09:05:39.000000000","message":"currently you can replace the dhcp_driver but not the dhcp-agent manager (neutron.agent.dhcp_agent.DhcpAgent) ... which disallows to replace it (through configuration) by a subclass integrating business features.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"50b0730910a5bfbf4b3aff20db194dee2a9ead16","unresolved":false,"context_lines":[{"line_number":146,"context_line":"Testing"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"The code will be covered with unit tests. "},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Tempest Tests"},{"line_number":152,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa7fdbe_355e8613","line":149,"updated":"2014-10-29 14:45:04.000000000","message":"If this proposal adds capabilities that impact the runtime behavior of Neutron, then unit tests are unlikely to be sufficient.  Functional testing would be necessary to validate any changes in daemon behavior, and a description of the testing required should be derived from the use-cases that appear in the problem description, e.g.\n\n - what do I want to do?\n - how do I know when I\u0027m done?\n\nAlso, whitespace.","commit_id":"96a735c8a7e1f407bd6b24f7ca61f17895eebaf8"}]}
