)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"e2d6e60f8ccbb60f72a2b8ea2fbc7d9a7f3e92d4","unresolved":false,"context_lines":[{"line_number":640,"context_line":"            # That is why True is returned if \u0027port_security_enabled\u0027"},{"line_number":641,"context_line":"            # is not found."},{"line_number":642,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":643,"context_line":"                if network.get(\u0027port_security_enabled\u0027):"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":646,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_8957eb01","line":643,"updated":"2015-06-06 00:53:18.000000000","message":"if network\u0027s port_security_enabled is False ,it should raise SecurityGroupCannotBeApplied().\nWhen port_security_enabled isn\u0027t opened in config files,we can\u0027t get port_security_enabled in network.\nSo I think the origin code is ok,you just have to add a judgement about port there.\nThanks :)","commit_id":"db930c2e521732cf4c0613e74393e92624a5317d"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"cd4504cc8216a6d7202f37f29d6fd0ab74e399c1","unresolved":false,"context_lines":[{"line_number":640,"context_line":"            # That is why True is returned if \u0027port_security_enabled\u0027"},{"line_number":641,"context_line":"            # is not found."},{"line_number":642,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":643,"context_line":"                if network.get(\u0027port_security_enabled\u0027):"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":646,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_02270dcb","line":643,"in_reply_to":"3afb71cf_8957eb01","updated":"2015-06-09 04:20:11.000000000","message":"And I check it again, when comment port_securitygroup in config file. I tried a network with no subnet, and to create an instance. The code flow didn\u0027t pass here, the err that the network should contain a subnet.I think it\u0027s no need to check it again.","commit_id":"db930c2e521732cf4c0613e74393e92624a5317d"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"edfb1355d83d4534010cdff7ccf05deacdd2f33b","unresolved":false,"context_lines":[{"line_number":640,"context_line":"            # That is why True is returned if \u0027port_security_enabled\u0027"},{"line_number":641,"context_line":"            # is not found."},{"line_number":642,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":643,"context_line":"                if network.get(\u0027port_security_enabled\u0027):"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":646,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_89b00bdf","line":643,"in_reply_to":"3afb71cf_8957eb01","updated":"2015-06-06 01:29:56.000000000","message":"When port_security_enabled is turned on in config and the network\u0027s port_security_enabled is False,it just need to tell neutron to create a port with no security_group based on this network.So I think SecurityGroupCannotBeApplied should not be raise as this scene is not related with security group info.And the second question you mentioned is what i should not ignored, thanks for your reminding.","commit_id":"db930c2e521732cf4c0613e74393e92624a5317d"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"2dfd3ae074841bc7a29d2235568a79fdba466ff5","unresolved":false,"context_lines":[{"line_number":640,"context_line":"            # That is why True is returned if \u0027port_security_enabled\u0027"},{"line_number":641,"context_line":"            # is not found."},{"line_number":642,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":643,"context_line":"                if network.get(\u0027port_security_enabled\u0027):"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":646,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_f762b1d7","line":643,"in_reply_to":"3afb71cf_89b00bdf","updated":"2015-06-06 14:11:52.000000000","message":"But if users pass security_groups and  network\u0027s port_security_enabled is False,in your opinon，a non-security_group port will be created.Will this confuse users?","commit_id":"db930c2e521732cf4c0613e74393e92624a5317d"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"cd4504cc8216a6d7202f37f29d6fd0ab74e399c1","unresolved":false,"context_lines":[{"line_number":640,"context_line":"            # That is why True is returned if \u0027port_security_enabled\u0027"},{"line_number":641,"context_line":"            # is not found."},{"line_number":642,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":643,"context_line":"                if network.get(\u0027port_security_enabled\u0027):"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":646,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_7d2782b6","line":643,"in_reply_to":"3afb71cf_f762b1d7","updated":"2015-06-09 04:20:11.000000000","message":"I suggest this confused operation should be logged.But how can notify users the network they chose is different with usual ones? I think the api layer should tell them or logging to files. And this check is not related with here which had already pass the usual check before port creating next step.","commit_id":"db930c2e521732cf4c0613e74393e92624a5317d"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"5c6247e28965ef0666e508f41f7ed9a99fc59bf3","unresolved":false,"context_lines":[{"line_number":640,"context_line":"            # That is why True is returned if \u0027port_security_enabled\u0027"},{"line_number":641,"context_line":"            # is not found."},{"line_number":642,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":643,"context_line":"                if network.get(\u0027port_security_enabled\u0027):"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":646,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_e6eafaab","line":643,"in_reply_to":"3afb71cf_f762b1d7","updated":"2015-06-07 23:51:14.000000000","message":"Yeah,the actual action is the created instance with non-security_group port.But if user forced to turn off the port_security_enabled  of the created network.They should know that  the network should to do what special things.There are some doubts here.When users will turn off this option?","commit_id":"db930c2e521732cf4c0613e74393e92624a5317d"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"d060ffbe8065dda7e2587276ef579b2c7d91403f","unresolved":false,"context_lines":[{"line_number":638,"context_line":"            # is not found."},{"line_number":639,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":640,"context_line":"                if network.get(\u0027port_security_enabled\u0027, True):"},{"line_number":641,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":642,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":643,"context_line":"                else:"},{"line_number":644,"context_line":"                    security_group_ids \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"1af86dd1_6f373ce4","line":641,"updated":"2015-06-12 02:50:17.000000000","message":"I think this line could be removed.Or like this:\nif network.get(\u0027port_security_enabled\u0027, True) or not network.get(\u0027subnets\u0027)","commit_id":"1df7fbde8d60d8c2bb6b81883c431db5a0edd232"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"64cec9d9040f3da2c9eb9dda38e982138f09a17f","unresolved":false,"context_lines":[{"line_number":638,"context_line":"            # is not found."},{"line_number":639,"context_line":"            if security_groups and not network.get(\u0027port_id\u0027):"},{"line_number":640,"context_line":"                if network.get(\u0027port_security_enabled\u0027, True):"},{"line_number":641,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":642,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":643,"context_line":"                else:"},{"line_number":644,"context_line":"                    security_group_ids \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_d077d3d2","line":641,"in_reply_to":"1af86dd1_6f373ce4","updated":"2015-06-15 01:37:42.000000000","message":"I think the logical branch must be according to the port_security_group is True or false. Base on your opinion, there may be a scene here, if port_security_enable is false and the required network had no subnet, the error may raise.This may confuse the user why it raise this error.Actually it will raise the error about net should contains subnets.","commit_id":"1df7fbde8d60d8c2bb6b81883c431db5a0edd232"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"d060ffbe8065dda7e2587276ef579b2c7d91403f","unresolved":false,"context_lines":[{"line_number":641,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":642,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":643,"context_line":"                else:"},{"line_number":644,"context_line":"                    security_group_ids \u003d []"},{"line_number":645,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"},{"line_number":646,"context_line":"            zone \u003d \u0027compute:%s\u0027 % instance.availability_zone"},{"line_number":647,"context_line":"            port_req_body \u003d {\u0027port\u0027: {\u0027device_id\u0027: instance.uuid,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1af86dd1_8f41583c","line":644,"updated":"2015-06-12 02:50:17.000000000","message":"Is this needed?I\u0027m not sure","commit_id":"1df7fbde8d60d8c2bb6b81883c431db5a0edd232"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"64cec9d9040f3da2c9eb9dda38e982138f09a17f","unresolved":false,"context_lines":[{"line_number":641,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":642,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":643,"context_line":"                else:"},{"line_number":644,"context_line":"                    security_group_ids \u003d []"},{"line_number":645,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"},{"line_number":646,"context_line":"            zone \u003d \u0027compute:%s\u0027 % instance.availability_zone"},{"line_number":647,"context_line":"            port_req_body \u003d {\u0027port\u0027: {\u0027device_id\u0027: instance.uuid,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_10445b72","line":644,"in_reply_to":"1af86dd1_8f41583c","updated":"2015-06-15 01:37:42.000000000","message":"Yeah , me too. So I want somebody to give the more correct opinions. And Thanks for your review.","commit_id":"1df7fbde8d60d8c2bb6b81883c431db5a0edd232"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"20e4600fd7f1aeb7de14269343ef73b6da05ee35","unresolved":false,"context_lines":[{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"            if not security_group_ids:"},{"line_number":645,"context_line":"                LOG.warning(\u0027Specify security_group is not used, as\u0027"},{"line_number":646,"context_line":"                            \u0027network\\\u0027s port_security_enabled is turned off.\u0027)"},{"line_number":647,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"},{"line_number":648,"context_line":"            zone \u003d \u0027compute:%s\u0027 % instance.availability_zone"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a41bdd9_ae790b84","line":645,"updated":"2015-07-15 01:10:19.000000000","message":"LOG.warn messages require translations `_LW()`!","commit_id":"4b6ceac4d274d731518342d96804c75d7e83e026"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4c0c61150666ec4e82b34b493b7c51742489e2e1","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_cb41c264","line":643,"updated":"2015-07-15 13:34:34.000000000","message":"your commit message didn\u0027t talk about why we set this empty.\n\nAnd I\u0027m not sure we should set this empty. If port_security_enabled is changed to True after instance boot up, it security_groups will become valid?","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d96ff2f8878d25f2f5264fd5d3ce09fe9d61f369","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_fdb46382","line":643,"in_reply_to":"9a41bdd9_9df6775b","updated":"2015-07-16 05:53:12.000000000","message":"one more question, can we check those thing in the validate_network? then we can failed to user more early?","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea474d81a13a3d797b9ec8a01cc5e48abb62f425","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_ea17df42","line":643,"in_reply_to":"9a41bdd9_cb41c264","updated":"2015-07-15 13:47:41.000000000","message":"after check again, this property only affect when port create. But I still think we needn\u0027t set it to empty, as neutron said that will failed. We should let user know, he can\u0027t do this, not just hide it.","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"faf68f1a31a96c01b5288f1e48a49e4891f74109","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_f7e564db","line":643,"in_reply_to":"9a41bdd9_ea17df42","updated":"2015-07-16 04:14:26.000000000","message":"First, thank you for review. And I still have a question that if I boot an instance based on network which port_security_enabled is false, the property of returned port should be false.But nova take the default sg to neutron , actually nova still use the default sg to create a port.As neutron didn\u0027t support to create a port with this property is false.So lead to error. I\u0027m not sure whether the instance allow to setup in this view.","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"72f6565f5c8f5b3cfdb51eaac599555125556dc1","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_9df6775b","line":643,"in_reply_to":"9a41bdd9_f7e564db","updated":"2015-07-16 05:52:22.000000000","message":"Thanks for the explain, that is a problem. So default added by nova. We can empty the security_group_ids when there only have default sec group.\n\nAnd this really sounds like another bug, that didn\u0027t describe in the bug. How about we fix them separately?","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"88c0bd2db553ea5a14ea08fa9b50282f5738e327","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_b87a69bb","line":643,"in_reply_to":"9a41bdd9_fdb46382","updated":"2015-07-16 06:28:28.000000000","message":"I found a patch would like to fix the bug.\nhttps://review.openstack.org/#/c/173204/\n\nMaybe I should take this patch depend on it.\nThank you","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"c8156ffd97f5fc6289983acbdadb72ce5469cf48","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                    if not network.get(\u0027subnets\u0027):"},{"line_number":641,"context_line":"                        raise exception.SecurityGroupCannotBeApplied()"},{"line_number":642,"context_line":"                else:"},{"line_number":643,"context_line":"                    security_group_ids \u003d []"},{"line_number":644,"context_line":"                    LOG.warning(_LW(\u0027Specify security_group is not used, as\u0027"},{"line_number":645,"context_line":"                            \u0027network port_security_enabled is turned off.\u0027))"},{"line_number":646,"context_line":"            request.network_id \u003d network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a41bdd9_5818fdd2","line":643,"in_reply_to":"9a41bdd9_fdb46382","updated":"2015-07-16 06:21:18.000000000","message":"Thank you very much for your suggestion.I also think empty sg_ids here is not suitable.I will recheck and raise a bug about it.","commit_id":"247dee7cf1987dfdabd98d13983059751b3775da"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"3f6515b9bde0a15769294d46b1fbc050c4c7574d","unresolved":false,"context_lines":[{"line_number":3744,"context_line":"        super(TestNeutronv2PortSecurityGroupOption, self).setUp()"},{"line_number":3745,"context_line":"        neutronapi.get_client(mox.IgnoreArg()).MultipleTimes().AndReturn("},{"line_number":3746,"context_line":"            self.moxed_client)"},{"line_number":3747,"context_line":"        self._fake_security_groups \u003d {}"},{"line_number":3748,"context_line":"        sg \u003d {\u0027security_groups\u0027: [{\u0027name\u0027: \u0027default\u0027, \u0027description\u0027: \u0027default\u0027,"},{"line_number":3749,"context_line":"                                   \u0027tenant_id\u0027: \u0027fake_tenant\u0027,"},{"line_number":3750,"context_line":"                                   \u0027security_group_rules\u0027: [],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_ee697cbf","line":3747,"updated":"2015-07-14 11:19:14.000000000","message":"remove this line","commit_id":"1df7fbde8d60d8c2bb6b81883c431db5a0edd232"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"a3620de30352c3da547db4a4a7848e25eba79a63","unresolved":false,"context_lines":[{"line_number":3744,"context_line":"        super(TestNeutronv2PortSecurityGroupOption, self).setUp()"},{"line_number":3745,"context_line":"        neutronapi.get_client(mox.IgnoreArg()).MultipleTimes().AndReturn("},{"line_number":3746,"context_line":"            self.moxed_client)"},{"line_number":3747,"context_line":"        self._fake_security_groups \u003d {}"},{"line_number":3748,"context_line":"        sg \u003d {\u0027security_groups\u0027: [{\u0027name\u0027: \u0027default\u0027, \u0027description\u0027: \u0027default\u0027,"},{"line_number":3749,"context_line":"                                   \u0027tenant_id\u0027: \u0027fake_tenant\u0027,"},{"line_number":3750,"context_line":"                                   \u0027security_group_rules\u0027: [],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_6ed1ec56","line":3747,"in_reply_to":"9a41bdd9_ee697cbf","updated":"2015-07-14 11:22:07.000000000","message":"Done,thank you for review","commit_id":"1df7fbde8d60d8c2bb6b81883c431db5a0edd232"}]}
