)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     caishan \u003ccaishan1993@foxmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-04-28 00:50:22 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Add network-cretae to server side"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add network-create to server side, so that zun have the ability to"},{"line_number":10,"context_line":"mange the network based on the kuryr driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f6a8fd7_9240c509","line":7,"updated":"2018-05-01 09:03:50.000000000","message":"nit: create","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"}],"zun/api/controllers/v1/__init__.py":[{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from zun.api.controllers.v1 import containers as container_controller"},{"line_number":28,"context_line":"from zun.api.controllers.v1 import hosts as host_controller"},{"line_number":29,"context_line":"from zun.api.controllers.v1 import images as image_controller"},{"line_number":30,"context_line":"from zun.api.controllers.v1 import network as network_controller"},{"line_number":31,"context_line":"from zun.api.controllers.v1 import zun_services"},{"line_number":32,"context_line":"from zun.api.controllers import versions as ver"},{"line_number":33,"context_line":"from zun.api import http_error"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_5a67bb26","line":30,"range":{"start_line":30,"start_character":46,"end_line":30,"end_character":64},"updated":"2018-04-30 07:15:58.000000000","message":"imported network_controller but unused.","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"bb83245d1545a4009f1756e27eef8b609c1b5a3e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from zun.api.controllers.v1 import containers as container_controller"},{"line_number":28,"context_line":"from zun.api.controllers.v1 import hosts as host_controller"},{"line_number":29,"context_line":"from zun.api.controllers.v1 import images as image_controller"},{"line_number":30,"context_line":"from zun.api.controllers.v1 import network as network_controller"},{"line_number":31,"context_line":"from zun.api.controllers.v1 import zun_services"},{"line_number":32,"context_line":"from zun.api.controllers import versions as ver"},{"line_number":33,"context_line":"from zun.api import http_error"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_8ea722a8","line":30,"range":{"start_line":30,"start_character":46,"end_line":30,"end_character":64},"in_reply_to":"9f6a8fd7_5a67bb26","updated":"2018-05-02 15:46:10.000000000","message":"i miss a important code block. thx :)","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                                    \u0027images\u0027, \u0027\u0027,"},{"line_number":105,"context_line":"                                    bookmark\u003dTrue)]"},{"line_number":106,"context_line":"        v1.network \u003d [link.make_link(\u0027self\u0027, pecan.request.host_url,"},{"line_number":107,"context_line":"                                    \u0027network\u0027, \u0027\u0027),"},{"line_number":108,"context_line":"                     link.make_link(\u0027bookmark\u0027,"},{"line_number":109,"context_line":"                                    pecan.request.host_url,"},{"line_number":110,"context_line":"                                    \u0027network\u0027, \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_b25ce9ed","line":107,"updated":"2018-05-01 09:03:50.000000000","message":"networks","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"bb83245d1545a4009f1756e27eef8b609c1b5a3e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                                    \u0027images\u0027, \u0027\u0027,"},{"line_number":105,"context_line":"                                    bookmark\u003dTrue)]"},{"line_number":106,"context_line":"        v1.network \u003d [link.make_link(\u0027self\u0027, pecan.request.host_url,"},{"line_number":107,"context_line":"                                    \u0027network\u0027, \u0027\u0027),"},{"line_number":108,"context_line":"                     link.make_link(\u0027bookmark\u0027,"},{"line_number":109,"context_line":"                                    pecan.request.host_url,"},{"line_number":110,"context_line":"                                    \u0027network\u0027, \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_2eddb613","line":107,"in_reply_to":"9f6a8fd7_b25ce9ed","updated":"2018-05-02 15:46:10.000000000","message":"why should be networks ?","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"fb1d1198d8d32731841e345f823e57a0a6de3302","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \u0027services\u0027,"},{"line_number":68,"context_line":"        \u0027containers\u0027,"},{"line_number":69,"context_line":"        \u0027images\u0027,"},{"line_number":70,"context_line":"        \u0027network\u0027,"},{"line_number":71,"context_line":"        \u0027hosts\u0027,"},{"line_number":72,"context_line":"        \u0027capsules\u0027"},{"line_number":73,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_57c1cc7f","line":70,"range":{"start_line":70,"start_character":9,"end_line":70,"end_character":16},"updated":"2018-05-07 22:42:39.000000000","message":"networks (add a \u0027s\u0027 for consistency).","commit_id":"ba4a616ebc195ed236eb0523c05bc2d8c258b0ce"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"175f5f1ca30577639b0227c2c1df782a06a735fd","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        \u0027services\u0027,"},{"line_number":69,"context_line":"        \u0027containers\u0027,"},{"line_number":70,"context_line":"        \u0027images\u0027,"},{"line_number":71,"context_line":"        \u0027network\u0027,"},{"line_number":72,"context_line":"        \u0027hosts\u0027,"},{"line_number":73,"context_line":"        \u0027capsules\u0027,"},{"line_number":74,"context_line":"        \u0027availability_zones\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_b696d892","line":71,"range":{"start_line":71,"start_character":9,"end_line":71,"end_character":16},"updated":"2018-05-10 18:57:18.000000000","message":"As I commented in previous patchset, I think here should be \u0027networks\u0027 (add a \u0027s\u0027). This is because all other resources (i.e. images, containers) are using plural form.","commit_id":"17f0c1402c58359dbe29ddca9c5b3f777817a4a7"}],"zun/api/controllers/v1/network.py":[{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from oslo_log import log as logging"},{"line_number":14,"context_line":"from oslo_utils import strutils"},{"line_number":15,"context_line":"import pecan"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from zun.api.controllers import base"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_ba2377be","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":31},"updated":"2018-04-30 07:15:58.000000000","message":"imported but unused","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import pecan"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from zun.api.controllers import base"},{"line_number":18,"context_line":"from zun.api.controllers import link"},{"line_number":19,"context_line":"from zun.api.controllers.v1 import collection"},{"line_number":20,"context_line":"from zun.api.controllers.v1.schemas import network as schema"},{"line_number":21,"context_line":"from zun.api.controllers.v1.views import network_view as view"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_9a2a338e","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":36},"updated":"2018-04-30 07:15:58.000000000","message":"imported but unused","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from zun.api import utils as api_utils"},{"line_number":23,"context_line":"from zun.api import validation"},{"line_number":24,"context_line":"from zun.common import exception"},{"line_number":25,"context_line":"from zun.common.i18n import _"},{"line_number":26,"context_line":"from zun.common import policy"},{"line_number":27,"context_line":"from zun.common import utils"},{"line_number":28,"context_line":"from zun import objects"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_7a2ddfa6","line":27,"range":{"start_line":25,"start_character":0,"end_line":27,"end_character":28},"updated":"2018-04-30 07:15:58.000000000","message":"imported but unused","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class NetworkCollection(collection.Collection):"},{"line_number":35,"context_line":"    \"\"\"API representation of a collection of network.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_fa124f62","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":0},"updated":"2018-04-30 07:15:58.000000000","message":"too many blank lines","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":56,"context_line":"class NetworkController(base.Controller):"},{"line_number":57,"context_line":"    \"\"\"Controller for Network\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    _custom_actions \u003d {"},{"line_number":60,"context_line":"    }"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    @pecan.expose(\u0027json\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_3268d985","line":59,"updated":"2018-05-01 09:03:50.000000000","message":"You can remove this if it is not needed here.","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def post(self, **network_dict):"},{"line_number":67,"context_line":"        \"\"\"Create a new network."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param network_dict: an network within the request body."},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        context \u003d pecan.request.context"},{"line_number":72,"context_line":"        network_dict[\u0027project_id\u0027] \u003d context.project_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_b2114907","line":69,"updated":"2018-05-01 09:03:50.000000000","message":"nit: A","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"5e4e8f6cf59eb387415e22c28540df20fe091d86","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class NetworkController(base.Controller):"},{"line_number":50,"context_line":"    \"\"\"Controller for Network\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":53,"context_line":"    @api_utils.enforce_content_types([\u0027application/json\u0027])"},{"line_number":54,"context_line":"    @exception.wrap_pecan_controller_exception"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_812afde4","line":51,"updated":"2018-05-03 10:20:58.000000000","message":"You need to create a policy file and enforce that policy here.","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"6db0488f8737cc019fff2b610ccee3c86923cec5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":53,"context_line":"    @api_utils.enforce_content_types([\u0027application/json\u0027])"},{"line_number":54,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":55,"context_line":"    @validation.validated(schema.image_create)"},{"line_number":56,"context_line":"    def post(self, **network_dict):"},{"line_number":57,"context_line":"        \"\"\"Create a new network."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ef115d55","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":46},"updated":"2018-05-03 07:28:06.000000000","message":"You need to add network file in schema and then use it here.","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"f771bcfc69d5400f114866fc0e35f5bedd0fde0c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":53,"context_line":"    @api_utils.enforce_content_types([\u0027application/json\u0027])"},{"line_number":54,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":55,"context_line":"    @validation.validated(schema.image_create)"},{"line_number":56,"context_line":"    def post(self, **network_dict):"},{"line_number":57,"context_line":"        \"\"\"Create a new network."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_4aaf1f94","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":46},"in_reply_to":"5f7c97a3_ef115d55","updated":"2018-05-03 08:30:36.000000000","message":"yes, i miss something maybe.","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"f16a9f87968413585880f7285f325604efbf63ca","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param network_dict: a network within the request body."},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        context \u003d pecan.request.context"},{"line_number":62,"context_line":"        network_dict[\u0027project_id\u0027] \u003d context.project_id"},{"line_number":63,"context_line":"        network_dict[\u0027user_id\u0027] \u003d context.user_id"},{"line_number":64,"context_line":"        new_network \u003d objects.Network(context, **network_dict)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_7c4abb55","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":39},"updated":"2018-05-07 10:26:03.000000000","message":"policy.enforce(context, \"network:create\",\n               action\u003d\"network:create\") \nis still missing here.","commit_id":"ba4a616ebc195ed236eb0523c05bc2d8c258b0ce"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"fb1d1198d8d32731841e345f823e57a0a6de3302","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        network_dict[\u0027project_id\u0027] \u003d context.project_id"},{"line_number":63,"context_line":"        network_dict[\u0027user_id\u0027] \u003d context.user_id"},{"line_number":64,"context_line":"        new_network \u003d objects.Network(context, **network_dict)"},{"line_number":65,"context_line":"        new_network.pull(context)"},{"line_number":66,"context_line":"        pecan.request.compute_api.network_create(context, new_network)"},{"line_number":67,"context_line":"        pecan.response.status \u003d 202"},{"line_number":68,"context_line":"        return view.format_network(pecan.request.host_url, new_network)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_17bb540e","line":65,"range":{"start_line":65,"start_character":20,"end_line":65,"end_character":24},"updated":"2018-05-07 22:42:39.000000000","message":"I got this error: http://paste.openstack.org/show/720523/","commit_id":"ba4a616ebc195ed236eb0523c05bc2d8c258b0ce"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"64eab8c3b1c10f31abf2c0468e4f5e13c001b9fc","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"class NetworkController(base.Controller):"},{"line_number":50,"context_line":"    \"\"\"Controller for Network\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":53,"context_line":"    @api_utils.enforce_content_types([\u0027application/json\u0027])"},{"line_number":54,"context_line":"    @exception.wrap_pecan_controller_exception"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_e7ccca62","line":51,"updated":"2018-05-09 03:25:55.000000000","message":"nit: we can remove this blank line","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"90738da7680a14ce6c886af6dc0494955f8ad003","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from zun import objects"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class NetworkCollection(collection.Collection):"},{"line_number":29,"context_line":"    \"\"\"API representation of a collection of network.\"\"\""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_d0d146fd","line":27,"updated":"2018-05-09 08:20:17.000000000","message":"nit: one blank line should be here.","commit_id":"00fdb9a3cc66303c09fa54aadc192c502fc62933"}],"zun/api/controllers/v1/views/network_view.py":[{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import itertools"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from zun.api.controllers import link"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"_basic_keys \u003d ("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_2efe4c05","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":36},"updated":"2018-04-30 07:15:58.000000000","message":"imported but unused","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"47edad066bc16aa018224f8347f2e6d4f1ca84dd","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import itertools"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from zun.api.controllers import link"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"_basic_keys \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_844954d1","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":36},"updated":"2018-05-09 01:54:12.000000000","message":"where are you using this import?","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"90738da7680a14ce6c886af6dc0494955f8ad003","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0027project_id\u0027,"},{"line_number":20,"context_line":"    \u0027user_id\u0027,"},{"line_number":21,"context_line":")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"def format_network(url, network):"},{"line_number":24,"context_line":"    def transform(key, value):"},{"line_number":25,"context_line":"        if key not in _basic_keys:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_d07e2618","line":22,"updated":"2018-05-09 08:20:17.000000000","message":"nit: one more blank line should be here","commit_id":"00fdb9a3cc66303c09fa54aadc192c502fc62933"}],"zun/api/validation/parameter_types.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":481,"context_line":"    \"additionalProperties\": False,"},{"line_number":482,"context_line":"    \"required\": [\u0027kind\u0027, \u0027spec\u0027, \u0027metadata\u0027]"},{"line_number":483,"context_line":"}"},{"line_number":484,"context_line":"network_id \u003d {"},{"line_number":485,"context_line":"    \u0027type\u0027: [\u0027string\u0027, \u0027null\u0027],"},{"line_number":486,"context_line":"    \u0027minLength\u0027: 2,"},{"line_number":487,"context_line":"    \u0027maxLength\u0027: 255,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_121b551b","line":484,"updated":"2018-05-01 09:03:50.000000000","message":"one line space is needed here","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"bb83245d1545a4009f1756e27eef8b609c1b5a3e","unresolved":false,"context_lines":[{"line_number":481,"context_line":"    \"additionalProperties\": False,"},{"line_number":482,"context_line":"    \"required\": [\u0027kind\u0027, \u0027spec\u0027, \u0027metadata\u0027]"},{"line_number":483,"context_line":"}"},{"line_number":484,"context_line":"network_id \u003d {"},{"line_number":485,"context_line":"    \u0027type\u0027: [\u0027string\u0027, \u0027null\u0027],"},{"line_number":486,"context_line":"    \u0027minLength\u0027: 2,"},{"line_number":487,"context_line":"    \u0027maxLength\u0027: 255,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_aef9c680","line":484,"in_reply_to":"9f6a8fd7_121b551b","updated":"2018-05-02 15:46:10.000000000","message":"yes, thx :)","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":487,"context_line":"    \u0027maxLength\u0027: 255,"},{"line_number":488,"context_line":"    \u0027pattern\u0027: \u0027[a-zA-Z0-9][a-zA-Z0-9_.-]\u0027"},{"line_number":489,"context_line":"}"},{"line_number":490,"context_line":"network_name \u003d {"},{"line_number":491,"context_line":"    \u0027type\u0027: [\u0027string\u0027, \u0027null\u0027],"},{"line_number":492,"context_line":"    \u0027minLength\u0027: 2,"},{"line_number":493,"context_line":"    \u0027maxLength\u0027: 255,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_d2d2bd34","line":490,"updated":"2018-05-01 09:03:50.000000000","message":"ditto","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"}],"zun/common/policies/network.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"64eab8c3b1c10f31abf2c0468e4f5e13c001b9fc","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        ]"},{"line_number":30,"context_line":"    ),"},{"line_number":31,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":32,"context_line":"        name\u003dNETWORK % \u0027create_network\u0027,"},{"line_number":33,"context_line":"        check_str\u003dbase.ROLE_ADMIN,"},{"line_number":34,"context_line":"        description\u003d\u0027Create a network\u0027,"},{"line_number":35,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_677d1ae6","line":32,"range":{"start_line":32,"start_character":13,"end_line":32,"end_character":40},"updated":"2018-05-09 03:25:55.000000000","message":"How do you enforce this policy here ?","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"175f5f1ca30577639b0227c2c1df782a06a735fd","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        ]"},{"line_number":30,"context_line":"    ),"},{"line_number":31,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":32,"context_line":"        name\u003dNETWORK % \u0027create_network\u0027,"},{"line_number":33,"context_line":"        check_str\u003dbase.ROLE_ADMIN,"},{"line_number":34,"context_line":"        description\u003d\u0027Create a network\u0027,"},{"line_number":35,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_b6ad78ea","line":32,"range":{"start_line":32,"start_character":24,"end_line":32,"end_character":38},"updated":"2018-05-10 18:57:18.000000000","message":"In the API layer, you are checking policy \"network:create\" so we should change this to \u0027create\u0027.","commit_id":"17f0c1402c58359dbe29ddca9c5b3f777817a4a7"}],"zun/compute/api.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"a4ee5391c3a88a5071b8b8963af43d28aede51ed","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def network_create(self, context, network):"},{"line_number":230,"context_line":"        self._record_action_start(context, network,"},{"line_number":231,"context_line":"                                  network_action.NETWORK_CREATE)"},{"line_number":232,"context_line":"        return self.rpcapi.network_create(context, network)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_7278912a","line":231,"updated":"2018-05-01 09:03:50.000000000","message":"I couldn\u0027t find any method for network_action","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"bb83245d1545a4009f1756e27eef8b609c1b5a3e","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def network_create(self, context, network):"},{"line_number":230,"context_line":"        self._record_action_start(context, network,"},{"line_number":231,"context_line":"                                  network_action.NETWORK_CREATE)"},{"line_number":232,"context_line":"        return self.rpcapi.network_create(context, network)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_8e4ac2a9","line":231,"in_reply_to":"9f6a8fd7_7278912a","updated":"2018-05-02 15:46:10.000000000","message":"i purpose to record the status of creating network, seems not need now.","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"}],"zun/compute/manager.py":[{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from zun.container import driver"},{"line_number":36,"context_line":"from zun.image import driver as image_driver"},{"line_number":37,"context_line":"from zun.image.glance import driver as glance"},{"line_number":38,"context_line":"from zun.network import neutron"},{"line_number":39,"context_line":"from zun.network import kuryr_network as kuryr_driver"},{"line_number":40,"context_line":"from zun import objects"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"CONF \u003d zun.conf.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_6e3444df","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":53},"updated":"2018-04-30 07:15:58.000000000","message":"imports not in alphabetical order,\nChange position","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":1190,"context_line":""},{"line_number":1191,"context_line":"    def _do_create_network(self, context, network):"},{"line_number":1192,"context_line":"        LOG.debug(\u0027Create network....\u0027)"},{"line_number":1193,"context_line":"        kuryr_driver.create_network(self, network[\u0027name\u0027], network[\u0027neutron_net_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_0e26e8b8","line":1193,"updated":"2018-04-30 07:15:58.000000000","message":"line too long (85 \u003e 79 characters,so pls new line.","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"6db0488f8737cc019fff2b610ccee3c86923cec5","unresolved":false,"context_lines":[{"line_number":1193,"context_line":"        utils.spawn_n(self._do_create_network, context, network)"},{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"    def _do_create_network(self, context, network):"},{"line_number":1196,"context_line":"        LOG.debug(\u0027Create network....\u0027)"},{"line_number":1197,"context_line":"        kuryr_driver.create_network(self, network[\u0027name\u0027], network[\u0027neutron_net_id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_647814f8","line":1196,"range":{"start_line":1196,"start_character":33,"end_line":1196,"end_character":37},"updated":"2018-05-03 07:28:06.000000000","message":"nit: remove this","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"fb1d1198d8d32731841e345f823e57a0a6de3302","unresolved":false,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"    def _do_create_network(self, context, network):"},{"line_number":1196,"context_line":"        LOG.debug(\u0027Create network\u0027)"},{"line_number":1197,"context_line":"        kuryr_driver.create_network(self, network[\u0027name\u0027], network[\u0027neutron_net_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_f75498cc","line":1197,"range":{"start_line":1197,"start_character":21,"end_line":1197,"end_character":35},"updated":"2018-05-07 22:42:39.000000000","message":"I got this error: http://paste.openstack.org/show/720524/","commit_id":"ba4a616ebc195ed236eb0523c05bc2d8c258b0ce"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"47edad066bc16aa018224f8347f2e6d4f1ca84dd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from zun.image import driver as image_driver"},{"line_number":37,"context_line":"from zun.image.glance import driver as glance"},{"line_number":38,"context_line":"from zun.network import neutron"},{"line_number":39,"context_line":"from zun.network import kuryr_network as kuryr_driver"},{"line_number":40,"context_line":"from zun import objects"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"CONF \u003d zun.conf.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_a41d70be","line":39,"range":{"start_line":39,"start_character":41,"end_line":39,"end_character":53},"updated":"2018-05-09 01:54:12.000000000","message":"Where is this used?","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"64eab8c3b1c10f31abf2c0468e4f5e13c001b9fc","unresolved":false,"context_lines":[{"line_number":1195,"context_line":""},{"line_number":1196,"context_line":"    def _do_create_network(self, context, network):"},{"line_number":1197,"context_line":"        LOG.debug(\u0027Create network\u0027)"},{"line_number":1198,"context_line":"        try:"},{"line_number":1199,"context_line":"            created_network \u003d self.driver.create_network(context,"},{"line_number":1200,"context_line":"                              network.neutron_net_id, network.name)"},{"line_number":1201,"context_line":"            network_dict \u003d self.driver.inspect_network(network[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_075d4679","line":1198,"range":{"start_line":1198,"start_character":7,"end_line":1198,"end_character":12},"updated":"2018-05-09 03:25:55.000000000","message":"Where is the except block for this ?","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"90738da7680a14ce6c886af6dc0494955f8ad003","unresolved":false,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"    def _do_create_network(self, context, network):"},{"line_number":1196,"context_line":"        LOG.debug(\u0027Create network\u0027)"},{"line_number":1197,"context_line":"        try:"},{"line_number":1198,"context_line":"            docker_network \u003d self.driver.create_network(context, network)"},{"line_number":1199,"context_line":"            network.network_id \u003d docker_network[\u0027Id\u0027]"},{"line_number":1200,"context_line":"            network.save()"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_b017eaed","line":1197,"range":{"start_line":1197,"start_character":7,"end_line":1197,"end_character":12},"updated":"2018-05-09 08:20:17.000000000","message":"Still no except block is missing here.","commit_id":"00fdb9a3cc66303c09fa54aadc192c502fc62933"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"d7670fddc3040c359feffe5b013c03d477d7e59d","unresolved":false,"context_lines":[{"line_number":1202,"context_line":"            LOG.error(six.text_type(e))"},{"line_number":1203,"context_line":"            return"},{"line_number":1204,"context_line":"        except exception.DockerError as e:"},{"line_number":1205,"context_line":"            LOG.error(\"Error occurred while calling Docker image API: %s\","},{"line_number":1206,"context_line":"                      six.text_type(e))"},{"line_number":1207,"context_line":"            raise"},{"line_number":1208,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_2755c7c6","line":1205,"range":{"start_line":1205,"start_character":58,"end_line":1205,"end_character":64},"updated":"2018-05-10 01:04:41.000000000","message":"I think it should be \"Network\"","commit_id":"98b2956f34a15bbe6516a07f2555782397c4cc5e"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"caa06840e4c1e64ea2c41dc43c2c3d7c5c065bd4","unresolved":false,"context_lines":[{"line_number":1202,"context_line":"            LOG.error(six.text_type(e))"},{"line_number":1203,"context_line":"            return"},{"line_number":1204,"context_line":"        except exception.DockerError as e:"},{"line_number":1205,"context_line":"            LOG.error(\"Error occurred while calling Docker image API: %s\","},{"line_number":1206,"context_line":"                      six.text_type(e))"},{"line_number":1207,"context_line":"            raise"},{"line_number":1208,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_5ee21731","line":1205,"range":{"start_line":1205,"start_character":59,"end_line":1205,"end_character":65},"updated":"2018-05-09 18:06:08.000000000","message":"create?","commit_id":"98b2956f34a15bbe6516a07f2555782397c4cc5e"}],"zun/compute/rpcapi.py":[{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"a3821d8d8c77728d5d959ec6d78e5625e39a02f4","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                          container\u003dcontainer, network\u003dnetwork)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def network_create(self, context, new_network):"},{"line_number":207,"context_line":"        return self._call(host, \u0027network_create\u0027, network\u003dnew_network)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_d2dcfd19","line":207,"range":{"start_line":207,"start_character":26,"end_line":207,"end_character":30},"updated":"2018-05-01 09:06:06.000000000","message":"I think it should be \"container.host\"","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":21690,"name":"chenpengzi","email":"1523688226@qq.com","username":"chenpengzi"},"change_message_id":"4d02ed9e5d0a1a5442c23c33d71d31f51c1d6d8b","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                          container\u003dcontainer, network\u003dnetwork)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def network_create(self, context, new_network):"},{"line_number":207,"context_line":"        return self._call(host, \u0027network_create\u0027, network\u003dnew_network)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_6e1be472","line":207,"range":{"start_line":207,"start_character":26,"end_line":207,"end_character":30},"updated":"2018-04-30 07:15:58.000000000","message":"maybe first:  host \u003d None","commit_id":"dc75093d6a6e4934ea2348376f65cd97a56d613d"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"6db0488f8737cc019fff2b610ccee3c86923cec5","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def network_create(self, context, new_network):"},{"line_number":207,"context_line":"        host \u003d None"},{"line_number":208,"context_line":"        return self._cast(host, \u0027network_create\u0027, network\u003dnew_network)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_24453c71","line":208,"range":{"start_line":208,"start_character":26,"end_line":208,"end_character":30},"updated":"2018-05-03 07:28:06.000000000","message":"what about container.host ?","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"d7670fddc3040c359feffe5b013c03d477d7e59d","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def network_create(self, context, new_network):"},{"line_number":207,"context_line":"        host \u003d None"},{"line_number":208,"context_line":"        return self._cast(host, \u0027network_create\u0027, network\u003dnew_network)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_47fec3ae","line":208,"range":{"start_line":208,"start_character":26,"end_line":208,"end_character":30},"updated":"2018-05-10 01:04:41.000000000","message":"Its always going to be \u0027None\u0027 as you has defined it above, you need to pass it as argument from calling function.","commit_id":"98b2956f34a15bbe6516a07f2555782397c4cc5e"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"27746069b774423004e6da638e8b157961e56af1","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    def network_create(self, context, new_network):"},{"line_number":207,"context_line":"        host \u003d None"},{"line_number":208,"context_line":"        return self._cast(host, \u0027network_create\u0027, network\u003dnew_network)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_bd032873","line":208,"range":{"start_line":208,"start_character":26,"end_line":208,"end_character":30},"in_reply_to":"5f7c97a3_47fec3ae","updated":"2018-05-10 02:23:09.000000000","message":"It is ok define `host\u003dNone` here. See `image_pull`,`image_delete` above.","commit_id":"98b2956f34a15bbe6516a07f2555782397c4cc5e"}],"zun/container/docker/driver.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"90738da7680a14ce6c886af6dc0494955f8ad003","unresolved":false,"context_lines":[{"line_number":1123,"context_line":"        with docker_utils.docker_client() as docker:"},{"line_number":1124,"context_line":"            network_api \u003d zun_network.api(context,"},{"line_number":1125,"context_line":"                                          docker_api\u003ddocker)"},{"line_number":1126,"context_line":"            #TODO:Check if the creating network already exists"},{"line_number":1127,"context_line":"            docker_network \u003d network_api.create_network(neutron_net_id\u003dnetwork.neutron_net_id,"},{"line_number":1128,"context_line":"                                                        name\u003dnetwork.name)"},{"line_number":1129,"context_line":"            return docker_network"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_b0eccaf3","line":1126,"updated":"2018-05-09 08:20:17.000000000","message":"one space is missing here","commit_id":"00fdb9a3cc66303c09fa54aadc192c502fc62933"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"                                          docker_api\u003ddocker)"},{"line_number":1131,"context_line":"            docker_network \u003d network_api.create_network("},{"line_number":1132,"context_line":"                neutron_net_id\u003dnetwork.neutron_net_id,"},{"line_number":1133,"context_line":"                name\u003dnetwork.name"},{"line_number":1134,"context_line":"            )"},{"line_number":1135,"context_line":"            return docker_network"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_1af75d5b","line":1133,"range":{"start_line":1133,"start_character":21,"end_line":1133,"end_character":33},"updated":"2018-05-15 15:47:28.000000000","message":"This should be the same as line #972, where we assign a name compiled by:\n\n    docker_net_name \u003d self._get_docker_network_name(context, neutron_net_id)","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"a547b02fc321393b2df03854031ea39ae2f8dfe8","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"                                          docker_api\u003ddocker)"},{"line_number":1131,"context_line":"            docker_network \u003d network_api.create_network("},{"line_number":1132,"context_line":"                neutron_net_id\u003dnetwork.neutron_net_id,"},{"line_number":1133,"context_line":"                name\u003dnetwork.name"},{"line_number":1134,"context_line":"            )"},{"line_number":1135,"context_line":"            return docker_network"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_25679ab9","line":1133,"range":{"start_line":1133,"start_character":21,"end_line":1133,"end_character":33},"in_reply_to":"5f7c97a3_1af75d5b","updated":"2018-05-15 15:52:27.000000000","message":"Done","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"}],"zun/db/api.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"caa06840e4c1e64ea2c41dc43c2c3d7c5c065bd4","unresolved":false,"context_lines":[{"line_number":1000,"context_line":"    \"\"\"Update properties of a network."},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    :param context: Request context"},{"line_number":1003,"context_line":"    :param container_id: The id or uuid of a container."},{"line_number":1004,"context_line":"    :param values: The properties to be updated"},{"line_number":1005,"context_line":"    :returns: A network."},{"line_number":1006,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_fedd2314","line":1003,"range":{"start_line":1003,"start_character":11,"end_line":1003,"end_character":23},"updated":"2018-05-09 18:06:08.000000000","message":"neutron_net_id ?","commit_id":"98b2956f34a15bbe6516a07f2555782397c4cc5e"}],"zun/db/sqlalchemy/alembic/versions/3298c6a5c3d9_create_network_table.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f954cbf3fc696a0694939860c3d7ac59bebca7b0","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        sa.Column(\u0027network_id\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":42,"context_line":"        sa.Column(\u0027neutron_net_id\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":43,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":44,"context_line":"        sa.UniqueConstraint(\u0027uuid\u0027, name\u003d\u0027uniq_network0uuid\u0027),"},{"line_number":45,"context_line":"        mysql_charset\u003d\u0027utf8\u0027,"},{"line_number":46,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":47,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_bbd20227","line":44,"range":{"start_line":44,"start_character":29,"end_line":44,"end_character":33},"updated":"2018-05-14 22:32:14.000000000","message":"Need to add \u0027neutron_net_id\u0027 as uniquecontraint as you did in zun/db/sqlalchemy/models.py","commit_id":"e857894a2bf20a538f4a86a907cc4368ebece63d"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        sa.Column(\u0027network_id\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":42,"context_line":"        sa.Column(\u0027neutron_net_id\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":43,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":44,"context_line":"        sa.UniqueConstraint(\u0027uuid\u0027, \u0027neutron_net_id\u0027,"},{"line_number":45,"context_line":"                            name\u003d\u0027uniq_network0uuid0neutron_net_id\u0027),"},{"line_number":46,"context_line":"        mysql_charset\u003d\u0027utf8\u0027,"},{"line_number":47,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_7a81b1c2","line":44,"range":{"start_line":44,"start_character":28,"end_line":44,"end_character":52},"updated":"2018-05-15 15:47:28.000000000","message":"Actually, this is a composite unique constraint, which mean it fails if neither uuid and neutron_net_id is unique.\n\nThis is not what we want. We want it to fail if either uuid and neutron_net_id is unique.","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"a547b02fc321393b2df03854031ea39ae2f8dfe8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        sa.Column(\u0027network_id\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":42,"context_line":"        sa.Column(\u0027neutron_net_id\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":43,"context_line":"        sa.PrimaryKeyConstraint(\u0027id\u0027),"},{"line_number":44,"context_line":"        sa.UniqueConstraint(\u0027uuid\u0027, \u0027neutron_net_id\u0027,"},{"line_number":45,"context_line":"                            name\u003d\u0027uniq_network0uuid0neutron_net_id\u0027),"},{"line_number":46,"context_line":"        mysql_charset\u003d\u0027utf8\u0027,"},{"line_number":47,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_e50a02d0","line":44,"range":{"start_line":44,"start_character":28,"end_line":44,"end_character":52},"in_reply_to":"5f7c97a3_7a81b1c2","updated":"2018-05-15 15:52:27.000000000","message":"Done","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"}],"zun/db/sqlalchemy/api.py":[{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"47edad066bc16aa018224f8347f2e6d4f1ca84dd","unresolved":false,"context_lines":[{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"            if not result:"},{"line_number":1159,"context_line":"                raise exception.QuotaClassNotFound(class_name\u003dclass_name)"},{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":""},{"line_number":1162,"context_line":"    def create_network(self, context, values):"},{"line_number":1163,"context_line":"        # ensure defaults are present for new containers"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_e4c7e844","line":1160,"range":{"start_line":1160,"start_character":0,"end_line":1160,"end_character":0},"updated":"2018-05-09 01:54:12.000000000","message":"only one blank line required","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"4a23729d4c027466f049eadfc348f50fc5332c70","unresolved":false,"context_lines":[{"line_number":1175,"context_line":"                                                   value\u003dvalues[\u0027uuid\u0027])"},{"line_number":1176,"context_line":"        return network"},{"line_number":1177,"context_line":""},{"line_number":1178,"context_line":"    def update_network(self, context, networ_uuid, values):"},{"line_number":1179,"context_line":"        # NOTE(dtantsur): this can lead to very strange errors"},{"line_number":1180,"context_line":"        if \u0027uuid\u0027 in values:"},{"line_number":1181,"context_line":"            msg \u003d _(\"Cannot overwrite UUID for an existing docker network.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_c52f2a3d","line":1178,"range":{"start_line":1178,"start_character":39,"end_line":1178,"end_character":49},"updated":"2018-05-10 03:23:26.000000000","message":"nit: network_uuid","commit_id":"cd4b5f9c8c270d4863bd93c529c68703831a21ce"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"                raise exception.QuotaClassNotFound(class_name\u003dclass_name)"},{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":"    def create_network(self, context, values):"},{"line_number":1162,"context_line":"        # ensure defaults are present for new containers"},{"line_number":1163,"context_line":"        if not values.get(\u0027uuid\u0027):"},{"line_number":1164,"context_line":"            values[\u0027uuid\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":1165,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_3aa579a2","line":1162,"range":{"start_line":1162,"start_character":46,"end_line":1162,"end_character":56},"updated":"2018-05-15 15:47:28.000000000","message":"networks","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":1170,"context_line":"        network.update(values)"},{"line_number":1171,"context_line":"        try:"},{"line_number":1172,"context_line":"            network.save()"},{"line_number":1173,"context_line":"        except db_exc.DBDuplicateEntry:"},{"line_number":1174,"context_line":"            raise exception.ContainerAlreadyExists(field\u003d\u0027UUID\u0027,"},{"line_number":1175,"context_line":"                                                   value\u003dvalues[\u0027uuid\u0027])"},{"line_number":1176,"context_line":"        return network"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_5a74f5ce","line":1173,"range":{"start_line":1173,"start_character":22,"end_line":1173,"end_character":38},"updated":"2018-05-15 15:47:28.000000000","message":"I think it is better to have unit test to cover this branch. The unit test can try to create two networks with the same neutron_net_id. The first create should succeed and the second should fail.","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"        try:"},{"line_number":1172,"context_line":"            network.save()"},{"line_number":1173,"context_line":"        except db_exc.DBDuplicateEntry:"},{"line_number":1174,"context_line":"            raise exception.ContainerAlreadyExists(field\u003d\u0027UUID\u0027,"},{"line_number":1175,"context_line":"                                                   value\u003dvalues[\u0027uuid\u0027])"},{"line_number":1176,"context_line":"        return network"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_da0b258b","line":1174,"range":{"start_line":1174,"start_character":58,"end_line":1174,"end_character":62},"updated":"2018-05-15 15:47:28.000000000","message":"Field is not necessary uuid. It could be neutron_net_id.","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"        try:"},{"line_number":1172,"context_line":"            network.save()"},{"line_number":1173,"context_line":"        except db_exc.DBDuplicateEntry:"},{"line_number":1174,"context_line":"            raise exception.ContainerAlreadyExists(field\u003d\u0027UUID\u0027,"},{"line_number":1175,"context_line":"                                                   value\u003dvalues[\u0027uuid\u0027])"},{"line_number":1176,"context_line":"        return network"},{"line_number":1177,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_da948539","line":1174,"range":{"start_line":1174,"start_character":28,"end_line":1174,"end_character":50},"updated":"2018-05-15 15:47:28.000000000","message":"It should be NetworkAlreadyExists","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"}],"zun/db/sqlalchemy/models.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"6db0488f8737cc019fff2b610ccee3c86923cec5","unresolved":false,"context_lines":[{"line_number":504,"context_line":"    \"\"\"Represents a network. \"\"\""},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":507,"context_line":"    __table_args__ \u003d ()"},{"line_number":508,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":509,"context_line":"    project_id \u003d Column(String(255))"},{"line_number":510,"context_line":"    user_id \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_a4586c56","line":507,"updated":"2018-05-03 07:28:06.000000000","message":"It should not be blank.","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":25587,"name":"Shubhendu Poothia","email":"poothia.shubhendu@gmail.com","username":"shubhendu"},"change_message_id":"acdcde8bbd9a5cb0febf48a16c1595e85bbe8803","unresolved":false,"context_lines":[{"line_number":504,"context_line":"    \"\"\"Represents a network. \"\"\""},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":507,"context_line":"    __table_args__ \u003d ()"},{"line_number":508,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":509,"context_line":"    project_id \u003d Column(String(255))"},{"line_number":510,"context_line":"    user_id \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_5ed04451","line":507,"in_reply_to":"5f7c97a3_8a8e972c","updated":"2018-05-03 09:12:50.000000000","message":"During construction of a declarative model class – Network in your case – the metaclass that comes with Base creates an instance of Table. The __table_args__ attribute allows passing extra arguments to that Table. \n\nThe created table is accessible through Network.__table__ \n\nThis code defines an index inline, passing the Index instance to the created Table. The index uses string names to identify columns, so without being passed to a table SQLAlchemy could not know what table it belongs to.\n\nref: http://docs.sqlalchemy.org/en/latest/core/constraints.html#indexes","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"7fa463ce2d6f0444febeb60508b1510fcac25360","unresolved":false,"context_lines":[{"line_number":504,"context_line":"    \"\"\"Represents a network. \"\"\""},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":507,"context_line":"    __table_args__ \u003d ()"},{"line_number":508,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":509,"context_line":"    project_id \u003d Column(String(255))"},{"line_number":510,"context_line":"    user_id \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_8a8e972c","line":507,"in_reply_to":"5f7c97a3_a4586c56","updated":"2018-05-03 08:32:38.000000000","message":"could you please explain what the __table_args__ meaning of ? thx :)","commit_id":"bb9d0f202e0d1659dfc4e37a19b9be3258bc7207"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"175f5f1ca30577639b0227c2c1df782a06a735fd","unresolved":false,"context_lines":[{"line_number":511,"context_line":"    )"},{"line_number":512,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":513,"context_line":"    name \u003d Column(String(255))"},{"line_number":514,"context_line":"    neutron_net_id \u003d Column(String(255))"},{"line_number":515,"context_line":"    network_id \u003d Column(String(255))"},{"line_number":516,"context_line":"    project_id \u003d Column(String(255))"},{"line_number":517,"context_line":"    user_id \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_366728c0","line":514,"range":{"start_line":514,"start_character":4,"end_line":514,"end_character":18},"updated":"2018-05-10 18:57:18.000000000","message":"Would you add a unique constraint on \u0027neutron_net_id\u0027. Otherwise, there will be duplicated DB record for the same neutron network.","commit_id":"17f0c1402c58359dbe29ddca9c5b3f777817a4a7"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"d792035a4f3c5145b8b27ca7364fb30bba33fce8","unresolved":false,"context_lines":[{"line_number":511,"context_line":"    )"},{"line_number":512,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue)"},{"line_number":513,"context_line":"    name \u003d Column(String(255))"},{"line_number":514,"context_line":"    neutron_net_id \u003d Column(String(255))"},{"line_number":515,"context_line":"    network_id \u003d Column(String(255))"},{"line_number":516,"context_line":"    project_id \u003d Column(String(255))"},{"line_number":517,"context_line":"    user_id \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_28bfbdb0","line":514,"range":{"start_line":514,"start_character":4,"end_line":514,"end_character":18},"in_reply_to":"5f7c97a3_366728c0","updated":"2018-05-11 02:10:55.000000000","message":"Done.","commit_id":"17f0c1402c58359dbe29ddca9c5b3f777817a4a7"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f954cbf3fc696a0694939860c3d7ac59bebca7b0","unresolved":false,"context_lines":[{"line_number":506,"context_line":""},{"line_number":507,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":508,"context_line":"    __table_args__ \u003d ("},{"line_number":509,"context_line":"        schema.UniqueConstraint(\u0027uuid\u0027, \u0027neutron_net_id\u0027,"},{"line_number":510,"context_line":"                                name\u003d\u0027uniq_network0uuid0neutron_net_id\u0027),"},{"line_number":511,"context_line":"        table_args()"},{"line_number":512,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_5bc2ce5a","line":509,"range":{"start_line":509,"start_character":41,"end_line":509,"end_character":55},"updated":"2018-05-14 22:32:14.000000000","message":"I think you need to add this to the db migration script as well. Otherwise, it won\u0027t have any effect.","commit_id":"e857894a2bf20a538f4a86a907cc4368ebece63d"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"23c18139d3a22860be9a77935ec4c67eac6d0486","unresolved":false,"context_lines":[{"line_number":506,"context_line":""},{"line_number":507,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":508,"context_line":"    __table_args__ \u003d ("},{"line_number":509,"context_line":"        schema.UniqueConstraint(\u0027uuid\u0027, \u0027neutron_net_id\u0027,"},{"line_number":510,"context_line":"                                name\u003d\u0027uniq_network0uuid0neutron_net_id\u0027),"},{"line_number":511,"context_line":"        table_args()"},{"line_number":512,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_a1e8907b","line":509,"range":{"start_line":509,"start_character":41,"end_line":509,"end_character":55},"in_reply_to":"5f7c97a3_5bc2ce5a","updated":"2018-05-15 02:24:58.000000000","message":"@Hongbin Lu, Thanks for your suggestion.","commit_id":"e857894a2bf20a538f4a86a907cc4368ebece63d"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2af30f1c0c08950552ed45bfbfd49191268573b4","unresolved":false,"context_lines":[{"line_number":506,"context_line":""},{"line_number":507,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":508,"context_line":"    __table_args__ \u003d ("},{"line_number":509,"context_line":"        schema.UniqueConstraint(\u0027uuid\u0027, \u0027neutron_net_id\u0027,"},{"line_number":510,"context_line":"                                name\u003d\u0027uniq_network0uuid0neutron_net_id\u0027),"},{"line_number":511,"context_line":"        table_args()"},{"line_number":512,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_1a1bddc9","line":509,"range":{"start_line":509,"start_character":32,"end_line":509,"end_character":56},"updated":"2018-05-15 15:47:28.000000000","message":"Actually, this is a composite unique constraint, which mean it fails if neither uuid and neutron_net_id is unique.\n\nThis is not what we want. We want it to fail if either uuid and neutron_net_id is unique.","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"a547b02fc321393b2df03854031ea39ae2f8dfe8","unresolved":false,"context_lines":[{"line_number":506,"context_line":""},{"line_number":507,"context_line":"    __tablename__ \u003d \u0027network\u0027"},{"line_number":508,"context_line":"    __table_args__ \u003d ("},{"line_number":509,"context_line":"        schema.UniqueConstraint(\u0027uuid\u0027, \u0027neutron_net_id\u0027,"},{"line_number":510,"context_line":"                                name\u003d\u0027uniq_network0uuid0neutron_net_id\u0027),"},{"line_number":511,"context_line":"        table_args()"},{"line_number":512,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_850d4ee9","line":509,"range":{"start_line":509,"start_character":32,"end_line":509,"end_character":56},"in_reply_to":"5f7c97a3_1a1bddc9","updated":"2018-05-15 15:52:27.000000000","message":"Done","commit_id":"4c5364eb668d99a6dad8e995d4cb5798645be0d1"}],"zun/objects/network.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"64eab8c3b1c10f31abf2c0468e4f5e13c001b9fc","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        :param context: Security context"},{"line_number":55,"context_line":"        :returns: a :class:`Network` object."},{"line_number":56,"context_line":"        \"\"\""},{"line_number":57,"context_line":"        db_network \u003d dbapi.get_network_by_uuid(context, uuid)"},{"line_number":58,"context_line":"        network \u003d Network._from_db_object(cls(context), db_network)"},{"line_number":59,"context_line":"        return network"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_67f43a5c","line":57,"updated":"2018-05-09 03:25:55.000000000","message":"where is this method for this specified?","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"47edad066bc16aa018224f8347f2e6d4f1ca84dd","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        \"\"\""},{"line_number":76,"context_line":"        db_networks \u003d dbapi.list_networks(context,"},{"line_number":77,"context_line":"                                      limit\u003dlimit,"},{"line_number":78,"context_line":"                                      marker\u003dmarker,"},{"line_number":79,"context_line":"                                      sort_key\u003dsort_key,"},{"line_number":80,"context_line":"                                      sort_dir\u003dsort_dir,"},{"line_number":81,"context_line":"                                      filters\u003dfilters)"},{"line_number":82,"context_line":"        return Network._from_db_object_list(db_networks, cls, context)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    @base.remotable"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_442c9c01","line":81,"range":{"start_line":77,"start_character":37,"end_line":81,"end_character":53},"updated":"2018-05-09 01:54:12.000000000","message":"Wrong indentation.","commit_id":"9c9ff8b4a86675b286d0629e3af351f4a329654a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b36186562b40f0ef51e94c98b69dbf6752c23067","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"@base.ZunObjectRegistry.register"},{"line_number":20,"context_line":"class Network(base.ZunPersistentObject, base.ZunObject):"},{"line_number":21,"context_line":"    # Version 1.0: Initial version"},{"line_number":22,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    fields \u003d {"},{"line_number":25,"context_line":"        \u0027id\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_b97257ac","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":19},"updated":"2018-05-10 08:27:18.000000000","message":"the version is not same. I think you have a typo here.","commit_id":"17f0c1402c58359dbe29ddca9c5b3f777817a4a7"}],"zun/tests/unit/api/controllers/v1/test_networks.py":[{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"0a283ce2c0855757e12f8f02d612ef98f67d360a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    limitations under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from mock import patch"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from zun.tests.unit.api import base as api_base"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_e051bdda","line":14,"updated":"2018-05-14 04:16:35.000000000","message":"Remove this blank line from here.","commit_id":"5eae22df74e078e2385c587f82344f21c6f3ab28"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"0a283ce2c0855757e12f8f02d612ef98f67d360a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class TestNetworkController(api_base.FunctionalTest):"},{"line_number":20,"context_line":"    @patch(\u0027zun.common.policy.enforce\u0027)"},{"line_number":21,"context_line":"    @patch(\u0027zun.compute.api.API.network_create\u0027)"},{"line_number":22,"context_line":"    def test_network_create(self, mock_policy, mock_network_create):"},{"line_number":23,"context_line":"        mock_policy.return_value \u003d True"},{"line_number":24,"context_line":"        mock_network_create.side_effect \u003d lambda x, y: y"},{"line_number":25,"context_line":"        params \u003d (\u0027{\"name\": \"hello-world\", \"neutron_net_id\":\"123456\"}\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_20fa55bc","line":22,"range":{"start_line":22,"start_character":34,"end_line":22,"end_character":66},"updated":"2018-05-14 04:16:35.000000000","message":"You must have to ensure the order of these parameter like:\n\ndef test_network_create(self, mock_network_create, mock_policy):","commit_id":"5eae22df74e078e2385c587f82344f21c6f3ab28"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"bdfa62d0f4cb986a4c6c79726bb89c97d046c7ec","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def test_network_create(self, mock_network_create, mock_policy):"},{"line_number":21,"context_line":"        mock_policy.return_value \u003d True"},{"line_number":22,"context_line":"        mock_network_create.side_effect \u003d lambda x, y: y"},{"line_number":23,"context_line":"        params \u003d (\u0027{\"name\": \"hello-world\", \"neutron_net_id\":\"123456\"}\u0027)"},{"line_number":24,"context_line":"        response \u003d self.post(\u0027/v1/networks/\u0027,"},{"line_number":25,"context_line":"                             params\u003dparams,"},{"line_number":26,"context_line":"                             content_type\u003d\u0027application/json\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_806fa9fa","line":23,"range":{"start_line":23,"start_character":29,"end_line":23,"end_character":40},"updated":"2018-05-14 06:41:05.000000000","message":"nit: network_test ?","commit_id":"8ecb74a4331b3fe765cc13cd6484e9e7418f1827"},{"author":{"_account_id":27577,"name":"caishan","email":"caishan1993@foxmail.com","username":"caishan"},"change_message_id":"23c18139d3a22860be9a77935ec4c67eac6d0486","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def test_network_create(self, mock_network_create, mock_policy):"},{"line_number":21,"context_line":"        mock_policy.return_value \u003d True"},{"line_number":22,"context_line":"        mock_network_create.side_effect \u003d lambda x, y: y"},{"line_number":23,"context_line":"        params \u003d (\u0027{\"name\": \"hello-world\", \"neutron_net_id\":\"123456\"}\u0027)"},{"line_number":24,"context_line":"        response \u003d self.post(\u0027/v1/networks/\u0027,"},{"line_number":25,"context_line":"                             params\u003dparams,"},{"line_number":26,"context_line":"                             content_type\u003d\u0027application/json\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_561f1b5a","line":23,"range":{"start_line":23,"start_character":29,"end_line":23,"end_character":40},"in_reply_to":"5f7c97a3_806fa9fa","updated":"2018-05-15 02:24:58.000000000","message":"well, this is just a name of the network. any of the name is fine.","commit_id":"8ecb74a4331b3fe765cc13cd6484e9e7418f1827"}]}
