)]}'
{"specs/local-neutron-plugin.rst":[{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Local Neutron Plugin in Tricircle"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Background"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_9c779d9e","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"updated":"2016-09-12 06:40:05.000000000","message":"Tricircle Local Neutron Plugin( \"local plugin\" in short)","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"0af90c952501159b2a5fca02c0d6c103ba296c23","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Local Neutron Plugin in Tricircle"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Background"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_f9dc00e6","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"9a89bdaa_34185884","updated":"2016-09-13 01:32:16.000000000","message":"yes, I will add a short definition of both local and central plugin.","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"d8db6bc7bef406e9898f1004daa87197f9973f55","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Local Neutron Plugin in Tricircle"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Background"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_34185884","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"9a89bdaa_8698231d","updated":"2016-09-12 12:07:58.000000000","message":"Good, Zhiyuan, how about to add a short definition of local plugin","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"fc3f85cc72495a3d38080b67e7f1b9e840b9916a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Local Neutron Plugin in Tricircle"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Background"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_8698231d","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":33},"in_reply_to":"9a89bdaa_9c779d9e","updated":"2016-09-12 10:22:20.000000000","message":"What does \"local plugin\" exactly mean implicitly or explicitly?\n\nIf we have concrete definition of the above, we should describe this in this documentations.\n\nWhat do you think?","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"One of the key value of the Tricircle project is that it provides networking"},{"line_number":9,"context_line":"automation across several OpenStack instances. To avoid ip address conflict and"},{"line_number":10,"context_line":"keep segmentation id identical, one central Neutron server with the Tricircle"},{"line_number":11,"context_line":"plugin is running to allocate ip address and segmentation id for each OpenStack"},{"line_number":12,"context_line":"instance. However, each OpenStack instance has its own local Nova and Neutron"},{"line_number":13,"context_line":"server and these two services are not aware of the central Neutron server."},{"line_number":14,"context_line":"That\u0027s why we introduce the Nova API-GW to the Tricircle project. The Nova"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_bc570101","line":11,"range":{"start_line":10,"start_character":67,"end_line":11,"end_character":6},"updated":"2016-09-12 06:40:05.000000000","message":"Tricircle Central Neutron Plugin ( \"central plugin\" in short)","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"fc3f85cc72495a3d38080b67e7f1b9e840b9916a","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"One of the key value of the Tricircle project is that it provides networking"},{"line_number":9,"context_line":"automation across several OpenStack instances. To avoid ip address conflict and"},{"line_number":10,"context_line":"keep segmentation id identical, one central Neutron server with the Tricircle"},{"line_number":11,"context_line":"plugin is running to allocate ip address and segmentation id for each OpenStack"},{"line_number":12,"context_line":"instance. However, each OpenStack instance has its own local Nova and Neutron"},{"line_number":13,"context_line":"server and these two services are not aware of the central Neutron server."},{"line_number":14,"context_line":"That\u0027s why we introduce the Nova API-GW to the Tricircle project. The Nova"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_2694b7e0","line":11,"range":{"start_line":10,"start_character":67,"end_line":11,"end_character":6},"in_reply_to":"9a89bdaa_bc570101","updated":"2016-09-12 10:22:20.000000000","message":"Same here.","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":11,"context_line":"plugin is running to allocate ip address and segmentation id for each OpenStack"},{"line_number":12,"context_line":"instance. However, each OpenStack instance has its own local Nova and Neutron"},{"line_number":13,"context_line":"server and these two services are not aware of the central Neutron server."},{"line_number":14,"context_line":"That\u0027s why we introduce the Nova API-GW to the Tricircle project. The Nova"},{"line_number":15,"context_line":"API-GW captures virtual machine booting request from users, validates requested"},{"line_number":16,"context_line":"network data from central Neutron server, then creates necessary network"},{"line_number":17,"context_line":"resources in the target OpenStack instance by calling API of local Neutron"},{"line_number":18,"context_line":"server, after all the resources are ready, the Nova API-GW sends request to"},{"line_number":19,"context_line":"local Nova server to boot virtual machine. The Nova API-GW always retrieves"},{"line_number":20,"context_line":"data from central Neutron server then use it to create resource in local"},{"line_number":21,"context_line":"Neutron server, so ip address conflict can be avoided and segmentation id can"},{"line_number":22,"context_line":"keep identical. The Nova API-GW acts as a bridge between central and local"},{"line_number":23,"context_line":"Neutron servers."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"The Nova API-GW can work well, but it brings coupling between Nova and Neutron."},{"line_number":26,"context_line":"To utilize networking automation functionality provided by the Tricircle, the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_3cbf71fc","line":23,"range":{"start_line":14,"start_character":0,"end_line":23,"end_character":16},"updated":"2016-09-12 06:40:05.000000000","message":"For there is no Nova API-GW in the Tricircle after splitting, and the spec will be reside in the folder release by release, so I propose not to describe any Nova API-GW releated information in this spec, just describe why/what/how the local plugin and central plugin will work together to coordinate the cross Neutron networking automation. Of course, this spec should focus on the local plugin.","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":28,"context_line":"machine operation requests. For users who would like to access Nova service"},{"line_number":29,"context_line":"via distributed entries, this restriction seams not that flexible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Motivation"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Move networking process out of the Nova API-GW, so the Nova API-GW can have"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_5c72754a","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":10},"updated":"2016-09-12 06:40:05.000000000","message":"Please describe the motivation like what\u0027s described here: \"https://docs.google.com/presentation/d/1kpVo5rsL6p_rq9TvkuczjommJSsisDiKJiurbhaQg7E/edit#slide\u003did.g16d1eb74f4_0_60\" and \"https://docs.google.com/presentation/d/1kpVo5rsL6p_rq9TvkuczjommJSsisDiKJiurbhaQg7E/edit#slide\u003did.g1662e13d46_2_201\"","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Motivation"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Move networking process out of the Nova API-GW, so the Nova API-GW can have"},{"line_number":35,"context_line":"pure role, that is providing central endpoint for users to manage virtual"},{"line_number":36,"context_line":"machines in different OpenStack instances. For users who want the networking"},{"line_number":37,"context_line":"automation feature, they can only deploy the central Neutron server; for users"},{"line_number":38,"context_line":"who want the single-entry management feature, they can only deploy the Nova"},{"line_number":39,"context_line":"API-GW, for those who want both, the central Neutron server and the Nova"},{"line_number":40,"context_line":"API-GW can be deployed at the same time. Users can have flexible choices to"},{"line_number":41,"context_line":"fix their deployment strategy."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Solution: local Neutron plugin"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_9cd6bd25","line":41,"range":{"start_line":34,"start_character":0,"end_line":41,"end_character":30},"updated":"2016-09-12 06:40:05.000000000","message":"These information could be described in Trio2o project, but in Tricircle project, let\u0027s keep the Tricircle dedicated in cross Neutron networking automation working under multi-region scenario, i.e., the assumption is that Nova/Cinder work in OpenStack multi-region mode.","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"0af90c952501159b2a5fca02c0d6c103ba296c23","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Motivation"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Move networking process out of the Nova API-GW, so the Nova API-GW can have"},{"line_number":35,"context_line":"pure role, that is providing central endpoint for users to manage virtual"},{"line_number":36,"context_line":"machines in different OpenStack instances. For users who want the networking"},{"line_number":37,"context_line":"automation feature, they can only deploy the central Neutron server; for users"},{"line_number":38,"context_line":"who want the single-entry management feature, they can only deploy the Nova"},{"line_number":39,"context_line":"API-GW, for those who want both, the central Neutron server and the Nova"},{"line_number":40,"context_line":"API-GW can be deployed at the same time. Users can have flexible choices to"},{"line_number":41,"context_line":"fix their deployment strategy."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Solution: local Neutron plugin"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_1901a438","line":41,"range":{"start_line":34,"start_character":0,"end_line":41,"end_character":30},"in_reply_to":"9a89bdaa_3f0591c1","updated":"2016-09-13 01:32:16.000000000","message":"ok, I will describe the motivation of the Tricircle project in the \"backgroud\" section","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"fc3f85cc72495a3d38080b67e7f1b9e840b9916a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Motivation"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Move networking process out of the Nova API-GW, so the Nova API-GW can have"},{"line_number":35,"context_line":"pure role, that is providing central endpoint for users to manage virtual"},{"line_number":36,"context_line":"machines in different OpenStack instances. For users who want the networking"},{"line_number":37,"context_line":"automation feature, they can only deploy the central Neutron server; for users"},{"line_number":38,"context_line":"who want the single-entry management feature, they can only deploy the Nova"},{"line_number":39,"context_line":"API-GW, for those who want both, the central Neutron server and the Nova"},{"line_number":40,"context_line":"API-GW can be deployed at the same time. Users can have flexible choices to"},{"line_number":41,"context_line":"fix their deployment strategy."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Solution: local Neutron plugin"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_e141d93a","line":41,"range":{"start_line":34,"start_character":0,"end_line":41,"end_character":30},"in_reply_to":"9a89bdaa_9cd6bd25","updated":"2016-09-12 10:22:20.000000000","message":"API-gateway project is Trio2o. That\u0027s fine.\nWhat is the Tricircle project now?","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"d8db6bc7bef406e9898f1004daa87197f9973f55","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Motivation"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Move networking process out of the Nova API-GW, so the Nova API-GW can have"},{"line_number":35,"context_line":"pure role, that is providing central endpoint for users to manage virtual"},{"line_number":36,"context_line":"machines in different OpenStack instances. For users who want the networking"},{"line_number":37,"context_line":"automation feature, they can only deploy the central Neutron server; for users"},{"line_number":38,"context_line":"who want the single-entry management feature, they can only deploy the Nova"},{"line_number":39,"context_line":"API-GW, for those who want both, the central Neutron server and the Nova"},{"line_number":40,"context_line":"API-GW can be deployed at the same time. Users can have flexible choices to"},{"line_number":41,"context_line":"fix their deployment strategy."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Solution: local Neutron plugin"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_3f0591c1","line":41,"range":{"start_line":34,"start_character":0,"end_line":41,"end_character":30},"in_reply_to":"9a89bdaa_e141d93a","updated":"2016-09-12 12:07:58.000000000","message":"Tricircle is to provide networking automation across Neutron.This has mentioned in the mail-list and \"proposal to move Tricircle big-tent application forward\". It\u0027s good to add definition here","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Since networking process will be moved out of the Nova API-GW, we need a new"},{"line_number":47,"context_line":"bridge to connect central and local Neutron servers, local Neutron plugin is"},{"line_number":48,"context_line":"a certain choice. We can write our own plugin to redefine the behaviour of the"},{"line_number":49,"context_line":"local Neutron server. During virtual machine booting, local Nova server will"},{"line_number":50,"context_line":"interact with local Neutron server to query network or create port, which will"},{"line_number":51,"context_line":"trigger local Neutron plugin to retrieve data from central Neutron server and"},{"line_number":52,"context_line":"create necessary network resources according to the data. To support different"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_bce701e3","line":49,"range":{"start_line":48,"start_character":48,"end_line":49,"end_character":20},"updated":"2016-09-12 06:40:05.000000000","message":"trigger the cross Neutron networking automation in local Neutron server.","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":50,"context_line":"interact with local Neutron server to query network or create port, which will"},{"line_number":51,"context_line":"trigger local Neutron plugin to retrieve data from central Neutron server and"},{"line_number":52,"context_line":"create necessary network resources according to the data. To support different"},{"line_number":53,"context_line":"core plugins, we will add a new option \"core_plugin\" to the \"tricircle\""},{"line_number":54,"context_line":"configuration group. During initialization, our local Neutron plugin will load"},{"line_number":55,"context_line":"the plugin specified by \"core_plugin\". Our local Neutron plugin only adds logic"},{"line_number":56,"context_line":"to interact with central Neutron server, but invokes the real core plugin to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_7c04997d","line":53,"range":{"start_line":53,"start_character":40,"end_line":53,"end_character":51},"updated":"2016-09-12 06:40:05.000000000","message":"real_core_plugin","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":55,"context_line":"the plugin specified by \"core_plugin\". Our local Neutron plugin only adds logic"},{"line_number":56,"context_line":"to interact with central Neutron server, but invokes the real core plugin to"},{"line_number":57,"context_line":"finish the CRUD operations of local network resources. The following graph"},{"line_number":58,"context_line":"shows the relation between user and Nova and Neutron servers: ::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"                   +------+"},{"line_number":61,"context_line":"                   | user |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_3cf3f19f","line":58,"range":{"start_line":58,"start_character":32,"end_line":58,"end_character":40},"updated":"2016-09-12 06:40:05.000000000","message":"local Nova, local Neutron server and central Neutron server","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"24f910a0ec8f24671ec7971048ec2ad43ed54f46","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Implementation"},{"line_number":86,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Implementation details of local Neutron plugin is discussed in this section."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Resource Id"},{"line_number":91,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a89bdaa_bcd1c1cf","line":88,"range":{"start_line":88,"start_character":68,"end_line":88,"end_character":75},"updated":"2016-09-12 06:40:05.000000000","message":"more detail description of the network/subnet/port/SEG creation in local Neutron server are needed","commit_id":"479d84ff1895d645da7f91855f6373bdaf6d5bd7"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"d4f3bd87505c132c16ee626d3a1fd8f1c4925e45","unresolved":false,"context_lines":[{"line_number":8,"context_line":"One of the key value we would like to achieve via the Tricircle project is to"},{"line_number":9,"context_line":"provide networking automation functionality across several OpenStack instances."},{"line_number":10,"context_line":"Each OpenStack instance runs its own Nova and Neutron services but shares the"},{"line_number":11,"context_line":"same Keystone service, which is a multi-region deployment mode. With networking"},{"line_number":12,"context_line":"automation, virtual machines booted in different OpenStack instances can be"},{"line_number":13,"context_line":"connected in one logical layer2 network, or connected in two logical layer2"},{"line_number":14,"context_line":"networks via a logical router."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a8ec9b2_9210be50","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":21},"updated":"2016-09-14 01:44:04.000000000","message":"or federated KeyStone","commit_id":"3a0dfe7553d08b32b37b7aafbe6e1016d777bb6a"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"d4f3bd87505c132c16ee626d3a1fd8f1c4925e45","unresolved":false,"context_lines":[{"line_number":9,"context_line":"provide networking automation functionality across several OpenStack instances."},{"line_number":10,"context_line":"Each OpenStack instance runs its own Nova and Neutron services but shares the"},{"line_number":11,"context_line":"same Keystone service, which is a multi-region deployment mode. With networking"},{"line_number":12,"context_line":"automation, virtual machines booted in different OpenStack instances can be"},{"line_number":13,"context_line":"connected in one logical layer2 network, or connected in two logical layer2"},{"line_number":14,"context_line":"networks via a logical router."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a8ec9b2_122bce83","line":12,"range":{"start_line":12,"start_character":28,"end_line":12,"end_character":29},"updated":"2016-09-14 01:44:04.000000000","message":"or bare metals","commit_id":"3a0dfe7553d08b32b37b7aafbe6e1016d777bb6a"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"d4f3bd87505c132c16ee626d3a1fd8f1c4925e45","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Each OpenStack instance runs its own Nova and Neutron services but shares the"},{"line_number":11,"context_line":"same Keystone service, which is a multi-region deployment mode. With networking"},{"line_number":12,"context_line":"automation, virtual machines booted in different OpenStack instances can be"},{"line_number":13,"context_line":"connected in one logical layer2 network, or connected in two logical layer2"},{"line_number":14,"context_line":"networks via a logical router."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Consider the cross OpenStack layer2 network case, if Neutron service in each"},{"line_number":17,"context_line":"OpenStack instance allocates ip address independently, virtual machines in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a8ec9b2_923efeb6","line":14,"range":{"start_line":13,"start_character":0,"end_line":14,"end_character":29},"updated":"2016-09-14 01:44:04.000000000","message":"inter-communicated through L2 or L3\n\n(because L3 not limited to via one logical router, multiple logical router also possible)","commit_id":"3a0dfe7553d08b32b37b7aafbe6e1016d777bb6a"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"d4f3bd87505c132c16ee626d3a1fd8f1c4925e45","unresolved":false,"context_lines":[{"line_number":136,"context_line":"instance and the id of the subnet so each OpenStack instance can have its own"},{"line_number":137,"context_line":"gateway port and gateway ip for one specific subnet."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Data Model Impact"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a8ec9b2_1263ceb2","line":139,"range":{"start_line":139,"start_character":0,"end_line":139,"end_character":4},"updated":"2016-09-14 01:44:04.000000000","message":"Please describe Triggering networking automation cross Neutron, then the major responsibility of the local plugin could be covered here.","commit_id":"3a0dfe7553d08b32b37b7aafbe6e1016d777bb6a"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":13,"context_line":"booted in different OpenStack instances can inter-communicate via layer2 or"},{"line_number":14,"context_line":"layer3 network."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Consider the cross OpenStack layer2 network case, if Neutron service in each"},{"line_number":17,"context_line":"OpenStack instance allocates ip address independently, virtual machines in"},{"line_number":18,"context_line":"different OpenStack instances may be assigned the same ip address, thus ip"},{"line_number":19,"context_line":"address conflict occurs. One straightforward solution to this problem is to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_eff070cb","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":8},"updated":"2016-09-18 04:33:08.000000000","message":"Considering","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":14,"context_line":"layer3 network."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Consider the cross OpenStack layer2 network case, if Neutron service in each"},{"line_number":17,"context_line":"OpenStack instance allocates ip address independently, virtual machines in"},{"line_number":18,"context_line":"different OpenStack instances may be assigned the same ip address, thus ip"},{"line_number":19,"context_line":"address conflict occurs. One straightforward solution to this problem is to"},{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_2fa418b8","line":18,"range":{"start_line":17,"start_character":55,"end_line":18,"end_character":65},"updated":"2016-09-18 04:33:08.000000000","message":"the same ip address could be assigned to the same virtual machines running in different OpenStack instances","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"2089d8d5c7c4ffa46a62c8de54f31f1037e57153","unresolved":false,"context_lines":[{"line_number":14,"context_line":"layer3 network."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Consider the cross OpenStack layer2 network case, if Neutron service in each"},{"line_number":17,"context_line":"OpenStack instance allocates ip address independently, virtual machines in"},{"line_number":18,"context_line":"different OpenStack instances may be assigned the same ip address, thus ip"},{"line_number":19,"context_line":"address conflict occurs. One straightforward solution to this problem is to"},{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_74a18993","line":18,"range":{"start_line":17,"start_character":55,"end_line":18,"end_character":65},"in_reply_to":"7a8ec9b2_2fa418b8","updated":"2016-09-19 03:42:14.000000000","message":"Agree with this new arrangement, but I think it should be \"different virtual machines running in different OpenStack instances\", not \"the same\"","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Consider the cross OpenStack layer2 network case, if Neutron service in each"},{"line_number":17,"context_line":"OpenStack instance allocates ip address independently, virtual machines in"},{"line_number":18,"context_line":"different OpenStack instances may be assigned the same ip address, thus ip"},{"line_number":19,"context_line":"address conflict occurs. One straightforward solution to this problem is to"},{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"},{"line_number":22,"context_line":"in each OpenStack instance, we may see some OpenStack instances uses up ip"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_4fa7a4bc","line":19,"range":{"start_line":19,"start_character":17,"end_line":19,"end_character":23},"updated":"2016-09-18 04:33:08.000000000","message":"could occur","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":18,"context_line":"different OpenStack instances may be assigned the same ip address, thus ip"},{"line_number":19,"context_line":"address conflict occurs. One straightforward solution to this problem is to"},{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"},{"line_number":22,"context_line":"in each OpenStack instance, we may see some OpenStack instances uses up ip"},{"line_number":23,"context_line":"addresses while other OpenStack instances still have idle ip addresses. What\u0027s"},{"line_number":24,"context_line":"worse, dividing the ip allocation pool makes it impossible for us to process"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_cf93b459","line":21,"range":{"start_line":21,"start_character":59,"end_line":21,"end_character":69},"updated":"2016-09-18 04:33:08.000000000","message":"distribute *WHAT*?","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"2089d8d5c7c4ffa46a62c8de54f31f1037e57153","unresolved":false,"context_lines":[{"line_number":18,"context_line":"different OpenStack instances may be assigned the same ip address, thus ip"},{"line_number":19,"context_line":"address conflict occurs. One straightforward solution to this problem is to"},{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"},{"line_number":22,"context_line":"in each OpenStack instance, we may see some OpenStack instances uses up ip"},{"line_number":23,"context_line":"addresses while other OpenStack instances still have idle ip addresses. What\u0027s"},{"line_number":24,"context_line":"worse, dividing the ip allocation pool makes it impossible for us to process"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_d4c97d27","line":21,"range":{"start_line":21,"start_character":59,"end_line":21,"end_character":69},"in_reply_to":"7a8ec9b2_cf93b459","updated":"2016-09-19 03:42:14.000000000","message":"Oh, I should say \"virtual machines are not distributed evenly\"","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"},{"line_number":22,"context_line":"in each OpenStack instance, we may see some OpenStack instances uses up ip"},{"line_number":23,"context_line":"addresses while other OpenStack instances still have idle ip addresses. What\u0027s"},{"line_number":24,"context_line":"worse, dividing the ip allocation pool makes it impossible for us to process"},{"line_number":25,"context_line":"virtual machine migration from one OpenStack instance to another."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_6f81c0fa","line":23,"range":{"start_line":23,"start_character":53,"end_line":23,"end_character":57},"updated":"2016-09-18 04:33:08.000000000","message":"What is a definition of *idle* in this context?","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"2089d8d5c7c4ffa46a62c8de54f31f1037e57153","unresolved":false,"context_lines":[{"line_number":20,"context_line":"divide the ip allocation pool into several parts and each OpenStack instance"},{"line_number":21,"context_line":"has one. The drawback is that since virtual machines don\u0027t distribute equally"},{"line_number":22,"context_line":"in each OpenStack instance, we may see some OpenStack instances uses up ip"},{"line_number":23,"context_line":"addresses while other OpenStack instances still have idle ip addresses. What\u0027s"},{"line_number":24,"context_line":"worse, dividing the ip allocation pool makes it impossible for us to process"},{"line_number":25,"context_line":"virtual machine migration from one OpenStack instance to another."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_b4d5d1e5","line":23,"range":{"start_line":23,"start_character":53,"end_line":23,"end_character":57},"in_reply_to":"7a8ec9b2_6f81c0fa","updated":"2016-09-19 03:42:14.000000000","message":"\"Idle\" means that the ip address has not been allocated, maybe I just say \"still have ip addresses not allocated\"","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":25,"context_line":"virtual machine migration from one OpenStack instance to another."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Thanks to Neutron\u0027s flexible plugin framework, developers can define what"},{"line_number":28,"context_line":"Neutron server should do after receiving a network resources operation request"},{"line_number":29,"context_line":"by writing a new plugin and configuring Neutron server to use it. So for the"},{"line_number":30,"context_line":"ip address conflict issue discussed above, we decide to run one central Neutron"},{"line_number":31,"context_line":"server with the Tricircle central Neutron plugin (\"central plugin\" in short) to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_2f92584c","line":28,"range":{"start_line":28,"start_character":71,"end_line":28,"end_character":78},"updated":"2016-09-18 04:33:08.000000000","message":"requested","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"2089d8d5c7c4ffa46a62c8de54f31f1037e57153","unresolved":false,"context_lines":[{"line_number":25,"context_line":"virtual machine migration from one OpenStack instance to another."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Thanks to Neutron\u0027s flexible plugin framework, developers can define what"},{"line_number":28,"context_line":"Neutron server should do after receiving a network resources operation request"},{"line_number":29,"context_line":"by writing a new plugin and configuring Neutron server to use it. So for the"},{"line_number":30,"context_line":"ip address conflict issue discussed above, we decide to run one central Neutron"},{"line_number":31,"context_line":"server with the Tricircle central Neutron plugin (\"central plugin\" in short) to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_54980d78","line":28,"range":{"start_line":28,"start_character":71,"end_line":28,"end_character":78},"in_reply_to":"7a8ec9b2_2f92584c","updated":"2016-09-19 03:42:14.000000000","message":"Here \"request\" is used as a noun, \"a network resources operation request\". I think I can put the \"by writing a ...\" part before \"developers\" to make this sentence easy to read.","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Neutron server should do after receiving a network resources operation request"},{"line_number":29,"context_line":"by writing a new plugin and configuring Neutron server to use it. So for the"},{"line_number":30,"context_line":"ip address conflict issue discussed above, we decide to run one central Neutron"},{"line_number":31,"context_line":"server with the Tricircle central Neutron plugin (\"central plugin\" in short) to"},{"line_number":32,"context_line":"manage ip allocation pool centrally."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Besides central plugin, we need a bridge to connect central and local Neutron"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_4fbc04bb","line":31,"range":{"start_line":31,"start_character":50,"end_line":31,"end_character":75},"updated":"2016-09-18 04:33:08.000000000","message":"abbr: central plugin","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"For connecting central and local Neutron servers, Neutron plugin is again a"},{"line_number":45,"context_line":"good place for us to build the bridge. We can write our own plugin, the"},{"line_number":46,"context_line":"Tricircle local Neutron plugin(\"local plugin\" in short) to trigger the cross"},{"line_number":47,"context_line":"OpenStack networking automation in local Neutron server. During virtual machine"},{"line_number":48,"context_line":"booting, local Nova server will interact with local Neutron server to query"},{"line_number":49,"context_line":"network or create port, which will trigger local plugin to retrieve data from"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_afcd8867","line":46,"range":{"start_line":46,"start_character":31,"end_line":46,"end_character":54},"updated":"2016-09-18 04:33:08.000000000","message":"abbr: local pluging","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Next using virtual machine booting procedure to elaborate how local plugin"},{"line_number":85,"context_line":"works. To begin with, user creates network and subnet via central Neutron"},{"line_number":86,"context_line":"server. Then he passes the network id as the requested network information"},{"line_number":87,"context_line":"to local Nova server to boot a virtual machine. During parameter validation,"},{"line_number":88,"context_line":"local Nova server queries local Neutron server to ensure the passed-in network"},{"line_number":89,"context_line":"id is valid, which is a \"network-get\" request. In the \"network-get\" handle"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_efda3016","line":86,"range":{"start_line":86,"start_character":13,"end_line":86,"end_character":15},"updated":"2016-09-18 04:33:08.000000000","message":"Do NOT use specific gender.\n\nThis user or a user is good and fair enough.","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":102,"context_line":"the returned port information to create a local port. With local plugin, we"},{"line_number":103,"context_line":"ensure all ip addresses are allocated by central Neutron server."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"At the end of the network setup of the virtual machine, computer manager issues"},{"line_number":106,"context_line":"a \"port-update\" request to local Neutron server to associate the host with the"},{"line_number":107,"context_line":"port. In the \"port-update\" handle function, local plugin recognizes that this"},{"line_number":108,"context_line":"request is sent from local Nova server by the request body that the request"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_affbc877","line":105,"range":{"start_line":105,"start_character":56,"end_line":105,"end_character":64},"updated":"2016-09-18 04:33:08.000000000","message":"compute","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":19060,"name":"Shinobu KINJO","email":"shinobu@redhat.com","username":"shinobu"},"change_message_id":"b73d062c65602cdc223789790d4d9b780d6ecead","unresolved":false,"context_lines":[{"line_number":114,"context_line":"setup in one OpenStack instance, so it starts the cross OpenStack networking"},{"line_number":115,"context_line":"automation process, like security group rule population, tunnel setup for"},{"line_number":116,"context_line":"layer2 communication and route setup for layer3 communication, which are done"},{"line_number":117,"context_line":"by making Neutron API calls to each local Neutron server."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_2f2ed8fa","line":117,"range":{"start_line":117,"start_character":22,"end_line":117,"end_character":27},"updated":"2016-09-18 04:33:08.000000000","message":"call","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":11819,"name":"Chaoyi Huang","email":"joehuang@huawei.com","username":"joehuang"},"change_message_id":"70bddba9e22a41f259c3c3dc9ee89301044440b6","unresolved":false,"context_lines":[{"line_number":147,"context_line":"local type, local plugin creates the network without specifying the network"},{"line_number":148,"context_line":"type, so the default tenant network type is used. For shared vlan type, local"},{"line_number":149,"context_line":"plugin changes the network type parameter from \"shared_vlan\" to \"vlan\", but"},{"line_number":150,"context_line":"keep the segmentation id and physical network parameter."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Dhcp Port Handle"},{"line_number":153,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_54501b32","line":150,"range":{"start_line":150,"start_character":55,"end_line":150,"end_character":56},"updated":"2016-09-18 06:22:43.000000000","message":"VxLAN and mixed VLAN/VxLAN should be mentioned here too.","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"},{"author":{"_account_id":12076,"name":"Zhiyuan Cai","email":"luckyvega.g@gmail.com","username":"zhiyuan_cai"},"change_message_id":"2089d8d5c7c4ffa46a62c8de54f31f1037e57153","unresolved":false,"context_lines":[{"line_number":147,"context_line":"local type, local plugin creates the network without specifying the network"},{"line_number":148,"context_line":"type, so the default tenant network type is used. For shared vlan type, local"},{"line_number":149,"context_line":"plugin changes the network type parameter from \"shared_vlan\" to \"vlan\", but"},{"line_number":150,"context_line":"keep the segmentation id and physical network parameter."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Dhcp Port Handle"},{"line_number":153,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a8ec9b2_74c8a955","line":150,"range":{"start_line":150,"start_character":55,"end_line":150,"end_character":56},"in_reply_to":"7a8ec9b2_54501b32","updated":"2016-09-19 03:42:14.000000000","message":"Ok, will add some words to describe.","commit_id":"34170f872d193a56a405c3ec4da4a0cf32ee89af"}]}
