)]}'
{"neutron/plugins/ml2/drivers/mech_nuage/driver.py":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                           api.MechanismDriver):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def initialize(self):"},{"line_number":37,"context_line":"        LOG.debug(_(\u0027Initializing driver\u0027))"},{"line_number":38,"context_line":"        config.nuage_register_cfg_opts()"},{"line_number":39,"context_line":"        self.nuageclient_init()"},{"line_number":40,"context_line":"        self.vif_type \u003d portbindings.VIF_TYPE_OVS"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_3feb1dde","line":37,"updated":"2014-08-02 02:02:06.000000000","message":"debug logs are not translated, so its recommended that you avoid doing the translation","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                           api.MechanismDriver):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def initialize(self):"},{"line_number":37,"context_line":"        LOG.debug(_(\u0027Initializing driver\u0027))"},{"line_number":38,"context_line":"        config.nuage_register_cfg_opts()"},{"line_number":39,"context_line":"        self.nuageclient_init()"},{"line_number":40,"context_line":"        self.vif_type \u003d portbindings.VIF_TYPE_OVS"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_b86c6ad0","line":37,"in_reply_to":"baada198_3feb1dde","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.vif_details \u003d {portbindings.CAP_PORT_FILTER: False}"},{"line_number":42,"context_line":"        self.default_np_id \u003d self.nuageclient.get_net_partition_id_by_name("},{"line_number":43,"context_line":"            cfg.CONF.RESTPROXY.default_net_partition_name)"},{"line_number":44,"context_line":"        LOG.debug(_(\u0027Initializing complete\u0027))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def create_subnet_postcommit(self, context):"},{"line_number":47,"context_line":"        subnet \u003d context.current"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_5fe8d1de","line":44,"updated":"2014-08-02 02:02:06.000000000","message":"ditto","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.vif_details \u003d {portbindings.CAP_PORT_FILTER: False}"},{"line_number":42,"context_line":"        self.default_np_id \u003d self.nuageclient.get_net_partition_id_by_name("},{"line_number":43,"context_line":"            cfg.CONF.RESTPROXY.default_net_partition_name)"},{"line_number":44,"context_line":"        LOG.debug(_(\u0027Initializing complete\u0027))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def create_subnet_postcommit(self, context):"},{"line_number":47,"context_line":"        subnet \u003d context.current"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_f86b4283","line":44,"in_reply_to":"baada198_5fe8d1de","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            cfg.CONF.RESTPROXY.default_net_partition_name)"},{"line_number":44,"context_line":"        LOG.debug(_(\u0027Initializing complete\u0027))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def create_subnet_postcommit(self, context):"},{"line_number":47,"context_line":"        subnet \u003d context.current"},{"line_number":48,"context_line":"        net \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"},{"line_number":49,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_1ff3b99f","line":46,"updated":"2014-08-02 02:02:06.000000000","message":"so this is in lieu of the nuage-subnet extension?","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            cfg.CONF.RESTPROXY.default_net_partition_name)"},{"line_number":44,"context_line":"        LOG.debug(_(\u0027Initializing complete\u0027))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def create_subnet_postcommit(self, context):"},{"line_number":47,"context_line":"        subnet \u003d context.current"},{"line_number":48,"context_line":"        net \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"},{"line_number":49,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_f8e0a2f9","line":46,"in_reply_to":"baada198_1ff3b99f","updated":"2014-08-04 21:51:38.000000000","message":"Not 100% sure about your question here. But I think the answer is yes. In the absence of ml2 plugin not allowing other plugin (driver) specific extension nuage-subnet extension does not hold true here. Also, for the first release of code I deliberately wants it to NOT use that extension. Default net-partition is assumed and provided in configuration which will be used here.","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        # 2) Its a VM port."},{"line_number":67,"context_line":"        if ((context.original_bound_segment is None and"},{"line_number":68,"context_line":"            context.bound_segment is not None) and"},{"line_number":69,"context_line":"            port[\u0027device_owner\u0027].startswith(port_prefix)):"},{"line_number":70,"context_line":"                np_name \u003d cfg.CONF.RESTPROXY.default_net_partition_name"},{"line_number":71,"context_line":"                self._create_update_port(context._plugin_context,"},{"line_number":72,"context_line":"                                         port, np_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_fff605d7","line":69,"updated":"2014-08-02 02:02:06.000000000","message":"if ((not context.original_bound_segment and context.bound_segment) and port[\u0027device_owner\u0027].startswith(port_prefix)):","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        # 2) Its a VM port."},{"line_number":67,"context_line":"        if ((context.original_bound_segment is None and"},{"line_number":68,"context_line":"            context.bound_segment is not None) and"},{"line_number":69,"context_line":"            port[\u0027device_owner\u0027].startswith(port_prefix)):"},{"line_number":70,"context_line":"                np_name \u003d cfg.CONF.RESTPROXY.default_net_partition_name"},{"line_number":71,"context_line":"                self._create_update_port(context._plugin_context,"},{"line_number":72,"context_line":"                                         port, np_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_f8c7c262","line":69,"in_reply_to":"baada198_fff605d7","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def bind_port(self, context):"},{"line_number":81,"context_line":"        LOG.debug(_(\"Attempting to bind port %(port)s on \""},{"line_number":82,"context_line":"                    \"network %(network)s\"),"},{"line_number":83,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":84,"context_line":"                   \u0027network\u0027: context.network.current[\u0027id\u0027]})"},{"line_number":85,"context_line":"        for segment in context.network.network_segments:"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_9f2fc93d","line":82,"updated":"2014-08-02 02:02:06.000000000","message":"debug logs are not translated, so its recommended that you avoid doing the translation","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def bind_port(self, context):"},{"line_number":81,"context_line":"        LOG.debug(_(\"Attempting to bind port %(port)s on \""},{"line_number":82,"context_line":"                    \"network %(network)s\"),"},{"line_number":83,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":84,"context_line":"                   \u0027network\u0027: context.network.current[\u0027id\u0027]})"},{"line_number":85,"context_line":"        for segment in context.network.network_segments:"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_d87afe23","line":82,"in_reply_to":"baada198_9f2fc93d","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                                    self.vif_type,"},{"line_number":89,"context_line":"                                    self.vif_details,"},{"line_number":90,"context_line":"                                    status\u003dn_consts.PORT_STATUS_ACTIVE)"},{"line_number":91,"context_line":"                LOG.debug(_(\"Bound using segment: %s\"), segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.debug(_(\"Refusing to bind port for segment ID %(id)s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_bf200d4c","line":91,"updated":"2014-08-02 02:02:06.000000000","message":"ditto","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                                    self.vif_type,"},{"line_number":89,"context_line":"                                    self.vif_details,"},{"line_number":90,"context_line":"                                    status\u003dn_consts.PORT_STATUS_ACTIVE)"},{"line_number":91,"context_line":"                LOG.debug(_(\"Bound using segment: %s\"), segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.debug(_(\"Refusing to bind port for segment ID %(id)s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_1871d644","line":91,"in_reply_to":"baada198_bf200d4c","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                LOG.debug(_(\"Bound using segment: %s\"), segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.debug(_(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                            \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                            \"network type %(nettype)s\"),"},{"line_number":97,"context_line":"                          {\u0027id\u0027: segment[api.ID],"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_df25c15b","line":94,"updated":"2014-08-02 02:02:06.000000000","message":"ditto","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                LOG.debug(_(\"Bound using segment: %s\"), segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.debug(_(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                            \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                            \"network type %(nettype)s\"),"},{"line_number":97,"context_line":"                          {\u0027id\u0027: segment[api.ID],"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_386cda6a","line":94,"in_reply_to":"baada198_df25c15b","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                           \u0027physnet\u0027: segment[api.PHYSICAL_NETWORK],"},{"line_number":100,"context_line":"                           \u0027nettype\u0027: segment[api.NETWORK_TYPE]})"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def check_segment(self, segment):"},{"line_number":103,"context_line":"        \"\"\"Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_ff48c52f","line":102,"updated":"2014-08-02 02:02:06.000000000","message":"if this is only a local method, consider changing it to _check_segment","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                           \u0027physnet\u0027: segment[api.PHYSICAL_NETWORK],"},{"line_number":100,"context_line":"                           \u0027nettype\u0027: segment[api.NETWORK_TYPE]})"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def check_segment(self, segment):"},{"line_number":103,"context_line":"        \"\"\"Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_d8a11e96","line":102,"in_reply_to":"baada198_ff48c52f","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"47ea2a097b344c39d358eb43bb638eb3602f98ba","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def check_segment(self, segment):"},{"line_number":103,"context_line":"        \"\"\"Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"},{"line_number":106,"context_line":"        return network_type in [constants.TYPE_LOCAL, constants.TYPE_GRE,"},{"line_number":107,"context_line":"                                constants.TYPE_VXLAN, constants.TYPE_VLAN]"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_ffe4450f","line":104,"updated":"2014-08-02 02:02:06.000000000","message":"nit: I think this should be a single line doc string","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"8de48ea3eeef2aadd75217c92c135eb72f2d07f6","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def check_segment(self, segment):"},{"line_number":103,"context_line":"        \"\"\"Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"},{"line_number":106,"context_line":"        return network_type in [constants.TYPE_LOCAL, constants.TYPE_GRE,"},{"line_number":107,"context_line":"                                constants.TYPE_VXLAN, constants.TYPE_VLAN]"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_98940637","line":104,"in_reply_to":"baada198_ffe4450f","updated":"2014-08-04 21:51:38.000000000","message":"Done","commit_id":"278dca73cb45492f2f9da35b3b15d3127763efdd"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"2a18279397f1a4487cf9b8ac7ef112722560a869","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                           \u0027nettype\u0027: segment[api.NETWORK_TYPE]})"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _check_segment(self, segment):"},{"line_number":103,"context_line":"        #Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"},{"line_number":105,"context_line":"        return network_type in [constants.TYPE_LOCAL, constants.TYPE_GRE,"},{"line_number":106,"context_line":"                                constants.TYPE_VXLAN, constants.TYPE_VLAN]"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_e4f0dfdc","line":103,"updated":"2014-08-05 15:45:22.000000000","message":"It seems more like a docstring than a comment","commit_id":"e89aad8943c112a5e7a0b1706485736979a20f03"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"6b20af04b96699f21495dceb8e795adf248a8b01","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                           \u0027nettype\u0027: segment[api.NETWORK_TYPE]})"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _check_segment(self, segment):"},{"line_number":103,"context_line":"        #Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"},{"line_number":105,"context_line":"        return network_type in [constants.TYPE_LOCAL, constants.TYPE_GRE,"},{"line_number":106,"context_line":"                                constants.TYPE_VXLAN, constants.TYPE_VLAN]"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_16a7b70a","line":103,"in_reply_to":"baada198_009e9155","updated":"2014-08-05 23:00:33.000000000","message":"Done","commit_id":"e89aad8943c112a5e7a0b1706485736979a20f03"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"52857f2c7f6e6014c10c6706ec36782983bce06d","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                           \u0027nettype\u0027: segment[api.NETWORK_TYPE]})"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _check_segment(self, segment):"},{"line_number":103,"context_line":"        #Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"},{"line_number":105,"context_line":"        return network_type in [constants.TYPE_LOCAL, constants.TYPE_GRE,"},{"line_number":106,"context_line":"                                constants.TYPE_VXLAN, constants.TYPE_VLAN]"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_009e9155","line":103,"in_reply_to":"baada198_4a1b4acb","updated":"2014-08-05 22:03:32.000000000","message":"i propose to transform the comment in a docstring","commit_id":"e89aad8943c112a5e7a0b1706485736979a20f03"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"4d383fc134de30710e5bf608950b1a3eb6b48b4b","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                           \u0027nettype\u0027: segment[api.NETWORK_TYPE]})"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _check_segment(self, segment):"},{"line_number":103,"context_line":"        #Verify a segment is valid for the Nuage MechanismDriver."},{"line_number":104,"context_line":"        network_type \u003d segment[api.NETWORK_TYPE]"},{"line_number":105,"context_line":"        return network_type in [constants.TYPE_LOCAL, constants.TYPE_GRE,"},{"line_number":106,"context_line":"                                constants.TYPE_VXLAN, constants.TYPE_VLAN]"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_4a1b4acb","line":103,"in_reply_to":"baada198_e4f0dfdc","updated":"2014-08-05 22:00:29.000000000","message":"Hi Cedric,\nWhat do you suggest here?","commit_id":"e89aad8943c112a5e7a0b1706485736979a20f03"},{"author":{"_account_id":12737,"name":"Jacek Swiderski","email":"jacek.swiderski@codilime.com","username":"Altran"},"change_message_id":"09b70074bfb9081b3fe2448ab25e41b7b0ecd8c2","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        # talking to backend."},{"line_number":65,"context_line":"        # 1) binding has happened successfully."},{"line_number":66,"context_line":"        # 2) Its a VM port."},{"line_number":67,"context_line":"        if ((not context.original_bound_segment and"},{"line_number":68,"context_line":"            context.bound_segment) and"},{"line_number":69,"context_line":"            port[\u0027device_owner\u0027].startswith(port_prefix)):"},{"line_number":70,"context_line":"                np_name \u003d cfg.CONF.RESTPROXY.default_net_partition_name"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_0bbde802","line":67,"updated":"2014-08-25 09:17:10.000000000","message":"Since its X and Y and Z, I don\u0027t think the parenthesis around first operation is needed.","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"0f65edfced637ae669333d218cb55d4f5a03db40","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        # talking to backend."},{"line_number":65,"context_line":"        # 1) binding has happened successfully."},{"line_number":66,"context_line":"        # 2) Its a VM port."},{"line_number":67,"context_line":"        if ((not context.original_bound_segment and"},{"line_number":68,"context_line":"            context.bound_segment) and"},{"line_number":69,"context_line":"            port[\u0027device_owner\u0027].startswith(port_prefix)):"},{"line_number":70,"context_line":"                np_name \u003d cfg.CONF.RESTPROXY.default_net_partition_name"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_d8bad26d","line":67,"in_reply_to":"1abeadc6_0bbde802","updated":"2014-08-25 17:31:06.000000000","message":"Agreed. Not needed. But as explained in the comment above I wanted to segragate 1) condition for sucessful binding and 2) VM port check; for better code readability.","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":12737,"name":"Jacek Swiderski","email":"jacek.swiderski@codilime.com","username":"Altran"},"change_message_id":"09b70074bfb9081b3fe2448ab25e41b7b0ecd8c2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            context.bound_segment) and"},{"line_number":69,"context_line":"            port[\u0027device_owner\u0027].startswith(port_prefix)):"},{"line_number":70,"context_line":"                np_name \u003d cfg.CONF.RESTPROXY.default_net_partition_name"},{"line_number":71,"context_line":"                self._create_update_port(context._plugin_context,"},{"line_number":72,"context_line":"                                         port, np_name)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def delete_port_postcommit(self, context):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_ab13140c","line":71,"updated":"2014-08-25 09:17:10.000000000","message":"Aren\u0027t those 2 lines overindented ?","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"0f65edfced637ae669333d218cb55d4f5a03db40","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            context.bound_segment) and"},{"line_number":69,"context_line":"            port[\u0027device_owner\u0027].startswith(port_prefix)):"},{"line_number":70,"context_line":"                np_name \u003d cfg.CONF.RESTPROXY.default_net_partition_name"},{"line_number":71,"context_line":"                self._create_update_port(context._plugin_context,"},{"line_number":72,"context_line":"                                         port, np_name)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def delete_port_postcommit(self, context):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_984e9a95","line":71,"in_reply_to":"1abeadc6_ab13140c","updated":"2014-08-25 17:31:06.000000000","message":"Not sure which two lines are you referring to. Pep8 hasnt complained :)","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"4d0f393d379129d3b6a518f86e71a27bb6407274","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                  \"network %(network)s\","},{"line_number":83,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":84,"context_line":"                   \u0027network\u0027: context.network.current[\u0027id\u0027]})"},{"line_number":85,"context_line":"        for segment in context.network.network_segments:"},{"line_number":86,"context_line":"            if self._check_segment(segment):"},{"line_number":87,"context_line":"                context.set_binding(segment[api.ID],"},{"line_number":88,"context_line":"                                    self.vif_type,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_9f3a09e6","line":85,"updated":"2014-08-25 14:44:14.000000000","message":"You may need to log an error if the port is not bound to any segment.","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"0f65edfced637ae669333d218cb55d4f5a03db40","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                  \"network %(network)s\","},{"line_number":83,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":84,"context_line":"                   \u0027network\u0027: context.network.current[\u0027id\u0027]})"},{"line_number":85,"context_line":"        for segment in context.network.network_segments:"},{"line_number":86,"context_line":"            if self._check_segment(segment):"},{"line_number":87,"context_line":"                context.set_binding(segment[api.ID],"},{"line_number":88,"context_line":"                                    self.vif_type,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_734c8177","line":85,"in_reply_to":"1abeadc6_9f3a09e6","updated":"2014-08-25 17:31:06.000000000","message":"I am assuming that you are referring to a error instead of debug in \"else\". If yes, its done.","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"5b9fc41460952f1a33f2687f5831f846b1048c89","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                LOG.debug(\"Bound using segment: %s\", segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.debug(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                          \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                          \"network type %(nettype)s\","},{"line_number":97,"context_line":"                          {\u0027id\u0027: segment[api.ID],"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_34b59c31","line":94,"updated":"2014-08-25 13:33:53.000000000","message":"debug level log? Should it be error?","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"0f65edfced637ae669333d218cb55d4f5a03db40","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                LOG.debug(\"Bound using segment: %s\", segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.debug(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                          \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                          \"network type %(nettype)s\","},{"line_number":97,"context_line":"                          {\u0027id\u0027: segment[api.ID],"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_b3561905","line":94,"in_reply_to":"1abeadc6_34b59c31","updated":"2014-08-25 17:31:06.000000000","message":"Done","commit_id":"faf35835705a599167855f066c7cb6ce16b69e6c"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"fe2b156057654034892bc4fa0d6ea5695b933909","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                                    status\u003dn_consts.PORT_STATUS_ACTIVE)"},{"line_number":91,"context_line":"                LOG.debug(\"Bound using segment: %s\", segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.error(_(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                          \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                          \"network type %(nettype)s\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1abeadc6_b7e8c417","line":93,"updated":"2014-08-25 17:42:26.000000000","message":"In this case, an error is logged every time the MD does not bind to a segment in context.network.network_segments. Instead, I think, what we want is to log an error when the MD has not bound to any of the segments in context.network.network_segments. That would be achieved by moving the error msg outside the else clause.","commit_id":"616f110d26fb9790a9f0533c22f1c0beb87a5926"},{"author":{"_account_id":7962,"name":"Ronak Shah","email":"ronak.malav.shah@gmail.com","username":"ronak"},"change_message_id":"0bff995baa9092fc902a392478a847aee834dd50","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                                    status\u003dn_consts.PORT_STATUS_ACTIVE)"},{"line_number":91,"context_line":"                LOG.debug(\"Bound using segment: %s\", segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.error(_(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                          \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                          \"network type %(nettype)s\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1abeadc6_fa406109","line":93,"in_reply_to":"1abeadc6_b7e8c417","updated":"2014-08-25 18:13:05.000000000","message":"That would be achieved by moving error msg not just outside else but also outside for. But than we will lose id, segment, phys net and type from getting logged. We can only say something like \"Couldnt bind port to any of the segment\". The series of logs here without \"Bound using segment...\" log confirms the same behavior with list of segments that it failed to bind. I would like to keep that instead of a generic 1 log.","commit_id":"616f110d26fb9790a9f0533c22f1c0beb87a5926"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"c4ac89fc64e6aea10487100ea205997def83106d","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                                    status\u003dn_consts.PORT_STATUS_ACTIVE)"},{"line_number":91,"context_line":"                LOG.debug(\"Bound using segment: %s\", segment)"},{"line_number":92,"context_line":"                return"},{"line_number":93,"context_line":"            else:"},{"line_number":94,"context_line":"                LOG.error(_(\"Refusing to bind port for segment ID %(id)s, \""},{"line_number":95,"context_line":"                          \"segment %(seg)s, phys net %(physnet)s, and \""},{"line_number":96,"context_line":"                          \"network type %(nettype)s\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1abeadc6_0b0f91e2","line":93,"in_reply_to":"1abeadc6_fa406109","updated":"2014-08-25 19:49:18.000000000","message":"Ok, if that is what you want. But, you could generate a lot of error msgs in the logs due to this. I am removing the -1.","commit_id":"616f110d26fb9790a9f0533c22f1c0beb87a5926"}],"neutron/plugins/nuage/plugin.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"b60fb378b79f6b69cde62e7bf136466f69a5a0ac","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            found_resource \u003d found_resource[0]"},{"line_number":114,"context_line":"        return found_resource"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def _create_update_port(self, context, port,"},{"line_number":117,"context_line":"                            np_name):"},{"line_number":118,"context_line":"        filters \u003d {\u0027device_id\u0027: [port[\u0027device_id\u0027]]}"},{"line_number":119,"context_line":"        ports \u003d self.get_ports(context, filters)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1abeadc6_0807ee82","line":116,"updated":"2014-08-29 07:16:01.000000000","message":"This will fit on one line now. Adjust if you have to rebase.","commit_id":"0d6e0cb436c0a2dc576ce60c85ef1fcc1ed5aa51"}],"neutron/tests/unit/ml2/drivers/nuage/test_nuage_mechanism_driver.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"568a8f67b02bc1a364389ebdb3b711754b6d6cab","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TestNuageMechDriverBase(tnp.NuagePluginV2TestCase):"},{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super(TestNuageMechDriverBase,"},{"line_number":26,"context_line":"              self).setUp(plugin\u003dtest_ml2_plugin.PLUGIN_NAME)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_a89f3e5e","line":24,"updated":"2014-08-27 07:27:04.000000000","message":"Don\u0027t you need to override the ML2 drivers config here so your mechanism driver is actually loaded?","commit_id":"28a7912f51a837d842d0fd1eaf54a234b4dd3ed9"}]}
