)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"bf5dd2645b0cb484dc049b3a2f772d34844feb8d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"If you start a VM with a direct-physical binding"},{"line_number":12,"context_line":"it will take one of these NICs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"At that moment,SRIOV agent starts to show"},{"line_number":15,"context_line":"ERROR messages including the \"device dictionary\""},{"line_number":16,"context_line":"completely empty."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa6399be_84816792","line":14,"updated":"2016-10-11 20:51:24.000000000","message":"nit: missing whitespace","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":11820,"name":"MANJUNATH PATIL","email":"mpatil@hpe.com","username":"patilmanjunath"},"change_message_id":"3464c70ff87595be49d72471be0985a36befc0b7","unresolved":false,"context_lines":[{"line_number":11,"context_line":"If you start a VM with a direct-physical binding"},{"line_number":12,"context_line":"it will take one of these NICs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"At that moment,SRIOV agent starts to show"},{"line_number":15,"context_line":"ERROR messages including the \"device dictionary\""},{"line_number":16,"context_line":"completely empty."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa6399be_9647a41c","line":14,"in_reply_to":"fa6399be_84816792","updated":"2016-10-12 06:07:33.000000000","message":"Done","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"bf5dd2645b0cb484dc049b3a2f772d34844feb8d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"completely empty."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In consequence, you cannot allocate VMs with VFs"},{"line_number":19,"context_line":"eventhough there is still another NIC available."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I8bf0dd41f900b69e32fcd416690c089dde7989b9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa6399be_c4499f90","line":19,"updated":"2016-10-11 20:51:24.000000000","message":"missing whitespace","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":11820,"name":"MANJUNATH PATIL","email":"mpatil@hpe.com","username":"patilmanjunath"},"change_message_id":"3464c70ff87595be49d72471be0985a36befc0b7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"completely empty."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In consequence, you cannot allocate VMs with VFs"},{"line_number":19,"context_line":"eventhough there is still another NIC available."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I8bf0dd41f900b69e32fcd416690c089dde7989b9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa6399be_b65668d0","line":19,"in_reply_to":"fa6399be_c4499f90","updated":"2016-10-12 06:07:33.000000000","message":"Done","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"5a77c4f8c22fb5fd6ed33d8d7267a76790105337","unresolved":false,"context_lines":[{"line_number":15,"context_line":"ERROR messages including the \"device dictionary\""},{"line_number":16,"context_line":"completely empty."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In consequence, you cannot allocate VMs with VFs"},{"line_number":19,"context_line":"even though there is still another NIC available."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I8bf0dd41f900b69e32fcd416690c089dde7989b9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_0d044148","line":18,"updated":"2016-10-12 18:14:17.000000000","message":"The bug should be indicated in the commit message.","commit_id":"02d7782f193cdc6d51703708228cfcde316dbf2d"},{"author":{"_account_id":11820,"name":"MANJUNATH PATIL","email":"mpatil@hpe.com","username":"patilmanjunath"},"change_message_id":"1c6e59f96e4577867e04f6f78a48fd8369f6ca7c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"ERROR messages including the \"device dictionary\""},{"line_number":16,"context_line":"completely empty."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In consequence, you cannot allocate VMs with VFs"},{"line_number":19,"context_line":"even though there is still another NIC available."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I8bf0dd41f900b69e32fcd416690c089dde7989b9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa6399be_418fb6cb","line":18,"in_reply_to":"fa6399be_0d044148","updated":"2016-10-13 14:55:51.000000000","message":"Done","commit_id":"02d7782f193cdc6d51703708228cfcde316dbf2d"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/eswitch_manager.py":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"bf5dd2645b0cb484dc049b3a2f772d34844feb8d","unresolved":false,"context_lines":[{"line_number":371,"context_line":"            # then delete the respective emb_switch from map"},{"line_number":372,"context_line":"            if not self.pf_device_exists(dev_name):"},{"line_number":373,"context_line":"                self.emb_switches_map.get(phys_net).remove("},{"line_number":374,"context_line":"                    emb_switches[0])"},{"line_number":375,"context_line":"        # Recreate the emb_switch object for a particular device"},{"line_number":376,"context_line":"        # when it is available meaning when PCI-PT VM is deleted"},{"line_number":377,"context_line":"        elif self.pf_device_exists(dev_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_642293bb","line":374,"range":{"start_line":374,"start_character":32,"end_line":374,"end_character":35},"updated":"2016-10-11 20:51:24.000000000","message":"Why the first switch needs to be removed and not the last?","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":11820,"name":"MANJUNATH PATIL","email":"mpatil@hpe.com","username":"patilmanjunath"},"change_message_id":"3464c70ff87595be49d72471be0985a36befc0b7","unresolved":false,"context_lines":[{"line_number":371,"context_line":"            # then delete the respective emb_switch from map"},{"line_number":372,"context_line":"            if not self.pf_device_exists(dev_name):"},{"line_number":373,"context_line":"                self.emb_switches_map.get(phys_net).remove("},{"line_number":374,"context_line":"                    emb_switches[0])"},{"line_number":375,"context_line":"        # Recreate the emb_switch object for a particular device"},{"line_number":376,"context_line":"        # when it is available meaning when PCI-PT VM is deleted"},{"line_number":377,"context_line":"        elif self.pf_device_exists(dev_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_764cd042","line":374,"range":{"start_line":374,"start_character":32,"end_line":374,"end_character":35},"in_reply_to":"fa6399be_642293bb","updated":"2016-10-12 06:07:33.000000000","message":"The list contains only one switch.","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3cb1284874892247693586a25f0a01688c23a3fa","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            for dev_name in dev_names:"},{"line_number":392,"context_line":"                # Making sure that the key phys_net exists in map"},{"line_number":393,"context_line":"                # and its respective values are not empty"},{"line_number":394,"context_line":"                if self.emb_switches_map.get(phys_net, None):"},{"line_number":395,"context_line":"                    self._process_emb_switch_map(phys_net, dev_name,"},{"line_number":396,"context_line":"                                                 exclude_devices)"},{"line_number":397,"context_line":"                # Creation of emb_switch for the first time is handled here"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_55c9c759","line":394,"range":{"start_line":394,"start_character":55,"end_line":394,"end_character":59},"updated":"2016-09-27 22:38:47.000000000","message":"by default get returns None. You do not need to specify this","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"bf5dd2645b0cb484dc049b3a2f772d34844feb8d","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            for dev_name in dev_names:"},{"line_number":392,"context_line":"                # Making sure that the key phys_net exists in map"},{"line_number":393,"context_line":"                # and its respective values are not empty"},{"line_number":394,"context_line":"                if self.emb_switches_map.get(phys_net, None):"},{"line_number":395,"context_line":"                    self._process_emb_switch_map(phys_net, dev_name,"},{"line_number":396,"context_line":"                                                 exclude_devices)"},{"line_number":397,"context_line":"                # Creation of emb_switch for the first time is handled here"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_999a8513","line":394,"range":{"start_line":394,"start_character":55,"end_line":394,"end_character":59},"in_reply_to":"5a8bc5a2_3fb411d0","updated":"2016-10-11 20:51:24.000000000","message":"This is still in place. There is no newer patchset to address that.","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":11820,"name":"MANJUNATH PATIL","email":"mpatil@hpe.com","username":"patilmanjunath"},"change_message_id":"7728018d9a378f22982ffde1e8e73fb746f5f0cf","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            for dev_name in dev_names:"},{"line_number":392,"context_line":"                # Making sure that the key phys_net exists in map"},{"line_number":393,"context_line":"                # and its respective values are not empty"},{"line_number":394,"context_line":"                if self.emb_switches_map.get(phys_net, None):"},{"line_number":395,"context_line":"                    self._process_emb_switch_map(phys_net, dev_name,"},{"line_number":396,"context_line":"                                                 exclude_devices)"},{"line_number":397,"context_line":"                # Creation of emb_switch for the first time is handled here"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_3fb411d0","line":394,"range":{"start_line":394,"start_character":55,"end_line":394,"end_character":59},"in_reply_to":"5a8bc5a2_55c9c759","updated":"2016-09-29 10:51:12.000000000","message":"Done","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":11820,"name":"MANJUNATH PATIL","email":"mpatil@hpe.com","username":"patilmanjunath"},"change_message_id":"3464c70ff87595be49d72471be0985a36befc0b7","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            for dev_name in dev_names:"},{"line_number":392,"context_line":"                # Making sure that the key phys_net exists in map"},{"line_number":393,"context_line":"                # and its respective values are not empty"},{"line_number":394,"context_line":"                if self.emb_switches_map.get(phys_net, None):"},{"line_number":395,"context_line":"                    self._process_emb_switch_map(phys_net, dev_name,"},{"line_number":396,"context_line":"                                                 exclude_devices)"},{"line_number":397,"context_line":"                # Creation of emb_switch for the first time is handled here"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_f6d0e055","line":394,"range":{"start_line":394,"start_character":55,"end_line":394,"end_character":59},"in_reply_to":"fa6399be_999a8513","updated":"2016-10-12 06:07:33.000000000","message":"will post the new patchset","commit_id":"e47f21355180bdef5d04fa6dd1c0390d41ee5493"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"370535f80502471621a8ec6d1decd7857c56456b","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        # If the root PCI path does not exist, then the VF cannot actually have"},{"line_number":80,"context_line":"        # been allocated and there is no way we can manage it."},{"line_number":81,"context_line":"        if not os.path.exists(cls.DEVICE_PATH % dev_name):"},{"line_number":82,"context_line":"            return False"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        path \u003d cls.PCI_PATH % (dev_name, vf_index)"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_a2c9c87a","line":82,"range":{"start_line":81,"start_character":8,"end_line":82,"end_character":24},"updated":"2016-11-08 13:13:51.000000000","message":"Should we use pf_device_exists instead of duplicating the check here?","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"431e9ca755ec16eff8268596bdc804d18b88bd1b","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        dev_path \u003d PciOsWrapper.DEVICE_PATH % dev_name"},{"line_number":374,"context_line":"        if os.path.isdir(dev_path):"},{"line_number":375,"context_line":"            return True"},{"line_number":376,"context_line":"        LOG.info(_LI(\"%s doesn\u0027t exist\"), dev_name)"},{"line_number":377,"context_line":"        return False"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def _process_emb_switch_map(self, phys_net, dev_name, exclude_devices):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5da102_c2238cbb","line":376,"updated":"2016-11-03 06:43:00.000000000","message":"why does this need to be info? can we have it as a debug statement?","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"370535f80502471621a8ec6d1decd7857c56456b","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        dev_path \u003d PciOsWrapper.DEVICE_PATH % dev_name"},{"line_number":374,"context_line":"        if os.path.isdir(dev_path):"},{"line_number":375,"context_line":"            return True"},{"line_number":376,"context_line":"        LOG.info(_LI(\"%s doesn\u0027t exist\"), dev_name)"},{"line_number":377,"context_line":"        return False"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def _process_emb_switch_map(self, phys_net, dev_name, exclude_devices):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_8247641c","line":376,"in_reply_to":"ba5da102_c2238cbb","updated":"2016-11-08 13:13:51.000000000","message":"Why do we need it at all?","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"370535f80502471621a8ec6d1decd7857c56456b","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        @param dev_name: device name"},{"line_number":372,"context_line":"        \"\"\""},{"line_number":373,"context_line":"        dev_path \u003d PciOsWrapper.DEVICE_PATH % dev_name"},{"line_number":374,"context_line":"        if os.path.isdir(dev_path):"},{"line_number":375,"context_line":"            return True"},{"line_number":376,"context_line":"        LOG.info(_LI(\"%s doesn\u0027t exist\"), dev_name)"},{"line_number":377,"context_line":"        return False"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def _process_emb_switch_map(self, phys_net, dev_name, exclude_devices):"},{"line_number":380,"context_line":"        \"\"\"Process emb_switch_map"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_c2eddcf0","line":377,"range":{"start_line":374,"start_character":8,"end_line":377,"end_character":20},"updated":"2016-11-08 13:13:51.000000000","message":"\u0027return os.path.isdir(dev_path)\u0027?","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"370535f80502471621a8ec6d1decd7857c56456b","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    def _process_emb_switch_map(self, phys_net, dev_name, exclude_devices):"},{"line_number":380,"context_line":"        \"\"\"Process emb_switch_map"},{"line_number":381,"context_line":"        @param phys_net: physical network"},{"line_number":382,"context_line":"        @param dev_name: device name"},{"line_number":383,"context_line":"        \"\"\""},{"line_number":384,"context_line":"        emb_switches \u003d [emb_switch"},{"line_number":385,"context_line":"                        for emb_switch in self.emb_switches_map.get(phys_net)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_c2c07c2d","line":382,"updated":"2016-11-08 13:13:51.000000000","message":"wanna describe the exclude_devices parameter too?","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"370535f80502471621a8ec6d1decd7857c56456b","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        @param phys_net: physical network"},{"line_number":382,"context_line":"        @param dev_name: device name"},{"line_number":383,"context_line":"        \"\"\""},{"line_number":384,"context_line":"        emb_switches \u003d [emb_switch"},{"line_number":385,"context_line":"                        for emb_switch in self.emb_switches_map.get(phys_net)"},{"line_number":386,"context_line":"                        if emb_switch.dev_name \u003d\u003d dev_name]"},{"line_number":387,"context_line":"        if emb_switches:"},{"line_number":388,"context_line":"            # If the device is given to the VM as PCI-PT"},{"line_number":389,"context_line":"            # then delete the respective emb_switch from map"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_023514f6","line":386,"range":{"start_line":384,"start_character":8,"end_line":386,"end_character":59},"updated":"2016-11-08 13:13:51.000000000","message":"not clear why we need to calculate the whole list if it\u0027s enough to proceed with lines 390-392 when we stumble on the first match, and then bail out; it\u0027s also puzzling somewhat that the variable name suggests as if there may be more than a single element in the list, while in reality it\u0027s not the case.\n\nI suggest we refactor the code in a way that more clearly describes the intent, f.e.:\n\nemb_switches \u003d self.emb_switches_map.get(phys_net)\nfor emb_switch in emb_switches:\n     if emb_switch.dev_name \u003d\u003d dev_name:\n         if not self.pf_device_exists(dev_name):\n             emb_switches.remove(emb_switch)\n         return\n\nif self.pf_device_exists(dev_name):\n    self.create_emb_switch(...)","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"370535f80502471621a8ec6d1decd7857c56456b","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                    self._process_emb_switch_map(phys_net, dev_name,"},{"line_number":416,"context_line":"                                                 exclude_devices)"},{"line_number":417,"context_line":"                # Creation of emb_switch for the first time is handled here"},{"line_number":418,"context_line":"                elif self.pf_device_exists(dev_name):"},{"line_number":419,"context_line":"                    self.create_emb_switch(phys_net, dev_name,"},{"line_number":420,"context_line":"                            exclude_devices.get(dev_name, set()))"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    # Note(edan): physnet param will be removed with \u0027physical_device_mappings\u0027"},{"line_number":423,"context_line":"    # config option."}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_a53552db","line":420,"range":{"start_line":418,"start_character":16,"end_line":420,"end_character":65},"updated":"2016-11-08 13:13:51.000000000","message":"couldn\u0027t we make this block to be handle by the same _process_emb_switch_map function? It seems to me that lines 395-397 will do the job.","commit_id":"2c00cf51a493e713063d7b540237f5f3147e1155"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"3a163242b7527a1b7eaadfdf57b7d1a5acff03d5","unresolved":false,"context_lines":[{"line_number":378,"context_line":"            self._create_emb_switch(phys_net, dev_name,"},{"line_number":379,"context_line":"                exclude_devices.get(dev_name, set()))"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Note(edan): discover_devices method will be removed"},{"line_number":382,"context_line":"    # with \u0027physical_device_mappings\u0027"},{"line_number":383,"context_line":"    def discover_devices(self, device_mappings, exclude_devices):"},{"line_number":384,"context_line":"        \"\"\"Discover which Virtual functions to manage."},{"line_number":385,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6eadb0_621fe8b7","line":382,"range":{"start_line":381,"start_character":0,"end_line":382,"end_character":37},"updated":"2016-12-18 08:08:47.000000000","message":"should be removed","commit_id":"7a4acc21518f9c9d135a9575d7347c5ef2b09270"}],"neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/test_eswitch_manager.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"38c2858aedd6d7f96e9b59a38369bc9e4d0daed0","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            eswitch_mgr.discover_devices(device_mappings, None)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class TestESwitchManagerApi1(base.BaseTestCase):"},{"line_number":73,"context_line":"    def setUp(self):"},{"line_number":74,"context_line":"        super(TestESwitchManagerApi1, self).setUp()"},{"line_number":75,"context_line":"        self.eswitch_mgr \u003d esm.ESwitchManager()"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_7db73586","line":72,"range":{"start_line":72,"start_character":24,"end_line":72,"end_character":28},"updated":"2017-01-20 19:22:47.000000000","message":"api1? what is the semantic meaning of that?","commit_id":"bb6d7aeec0cc6abcbd3d9d50f66faefce23c7ebd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"38c2858aedd6d7f96e9b59a38369bc9e4d0daed0","unresolved":false,"context_lines":[{"line_number":301,"context_line":"            clear_rate_mock.assert_called_once_with(self.PCI_SLOT,"},{"line_number":302,"context_line":"                                                    self.MIN_RATE)"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    def test_process_emb_switch_with_device(self):"},{"line_number":305,"context_line":"        device_mappings \u003d {\u0027physnet1\u0027: [\u0027p6p1\u0027, \u0027p6p2\u0027]}"},{"line_number":306,"context_line":"        phys_net \u003d \u0027physnet1\u0027"},{"line_number":307,"context_line":"        dev_name \u003d \u0027p6p1\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_7d3c95e2","line":304,"range":{"start_line":304,"start_character":32,"end_line":304,"end_character":36},"updated":"2017-01-20 19:22:47.000000000","message":"is it really a test case for \u0027with device\u0027? the False in line 311 suggests it\u0027s \u0027without\u0027?","commit_id":"bb6d7aeec0cc6abcbd3d9d50f66faefce23c7ebd"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"38c2858aedd6d7f96e9b59a38369bc9e4d0daed0","unresolved":false,"context_lines":[{"line_number":316,"context_line":"                                                     dev_name, {})"},{"line_number":317,"context_line":"            self.assertFalse(emb_switch.called)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def test_process_emb_switch_without_device(self):"},{"line_number":320,"context_line":"        device_mappings \u003d {\u0027physnet1\u0027: [\u0027p6p1\u0027, \u0027p6p2\u0027]}"},{"line_number":321,"context_line":"        phys_net \u003d \u0027physnet1\u0027"},{"line_number":322,"context_line":"        dev_name \u003d \u0027p6p3\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_5d1c3977","line":319,"range":{"start_line":319,"start_character":32,"end_line":319,"end_character":39},"updated":"2017-01-20 19:22:47.000000000","message":"ditto, vice versa","commit_id":"bb6d7aeec0cc6abcbd3d9d50f66faefce23c7ebd"}]}
