)]}'
{"cyborg/accelerator/drivers/fpga/intel/sysinfo.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"0b8b1f73042549405f27b2c864b579a83fe4e083","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import re"},{"line_number":25,"context_line":"from cyborg import objects"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"SYS_FPGA \u003d \"/tmp/sys/class/fpga\""},{"line_number":28,"context_line":"DEVICE \u003d \"device\""},{"line_number":29,"context_line":"PF \u003d \"physfn\""},{"line_number":30,"context_line":"VF \u003d \"virtfn*\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b8ffdcfe","line":27,"updated":"2018-09-13 17:49:57.000000000","message":"testing artifact ?","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"}],"cyborg/accelerator/drivers/fpga/utils.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"0b8b1f73042549405f27b2c864b579a83fe4e083","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"VENDORS \u003d [\"intel\"]  # can extend, such as [\"intel\", \"xilinx\"]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"SYS_FPGA_PATH \u003d \"/tmp/sys/class/fpga\""},{"line_number":27,"context_line":"VENDORS_PATTERN \u003d re.compile(\"|\".join([\"(%s)\" % v for v in VENDORS]))"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_5806c81e","line":26,"updated":"2018-09-13 17:49:57.000000000","message":"one more artifact ?","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"}],"cyborg/agent/resource_tracker.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"0b8b1f73042549405f27b2c864b579a83fe4e083","unresolved":false,"context_lines":[{"line_number":18,"context_line":"conductor with useful information about availability through the accelerator"},{"line_number":19,"context_line":"model."},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":"import copy"},{"line_number":22,"context_line":"import socket"},{"line_number":23,"context_line":"import uuid"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_78094429","line":21,"updated":"2018-09-13 17:49:57.000000000","message":"probably unused import ?","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"},{"author":{"_account_id":18625,"name":"Pallavi","email":"pallusrini@gmail.com"},"change_message_id":"822163497eac9a24bc9be61139e5ad4938bb4488","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def _get_root_provider(self):"},{"line_number":173,"context_line":"        try:"},{"line_number":174,"context_line":"            prvioder \u003d self.p_client.get("},{"line_number":175,"context_line":"                \"resource_providers?name\u003d\" + socket.gethostname()).json()"},{"line_number":176,"context_line":"            pr_uuid \u003d prvioder[\"resource_providers\"][0][\"uuid\"]"},{"line_number":177,"context_line":"            return pr_uuid"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_7ef10896","line":174,"range":{"start_line":174,"start_character":12,"end_line":174,"end_character":20},"updated":"2018-09-28 11:28:58.000000000","message":"provider is misspelled and change is all respective  places.","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"},{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"0b8b1f73042549405f27b2c864b579a83fe4e083","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            pr_uuid \u003d prvioder[\"resource_providers\"][0][\"uuid\"]"},{"line_number":177,"context_line":"            return pr_uuid"},{"line_number":178,"context_line":"        except IndexError:"},{"line_number":179,"context_line":"            print(\"Error, provider \u0027%s\u0027 can not be found\""},{"line_number":180,"context_line":"                  % socket.gethostname())"},{"line_number":181,"context_line":"        except Exception as e:"},{"line_number":182,"context_line":"            print(\"Error, could not access placement. Details: %s\" % e)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_1810504f","line":179,"updated":"2018-09-13 17:49:57.000000000","message":"i would suggest using logging.exception","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"},{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"0b8b1f73042549405f27b2c864b579a83fe4e083","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            print(\"Error, provider \u0027%s\u0027 can not be found\""},{"line_number":180,"context_line":"                  % socket.gethostname())"},{"line_number":181,"context_line":"        except Exception as e:"},{"line_number":182,"context_line":"            print(\"Error, could not access placement. Details: %s\" % e)"},{"line_number":183,"context_line":"        return"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def _get_sub_provider(self, context, parent, name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_380bcc22","line":182,"updated":"2018-09-13 17:49:57.000000000","message":"here too","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"d0f1e5f4d2d35a0b1aed629b462ac67a9ee9e173","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        if root_rp_uuid:"},{"line_number":206,"context_line":"            for acc in driverhost.accelerator_list:"},{"line_number":207,"context_line":"                for pf in acc.pf_list:"},{"line_number":208,"context_line":"                    if pf.assignable:"},{"line_number":209,"context_line":"                        PR_NAME \u003d str(pf.name + \"@\" + host)"},{"line_number":210,"context_line":"                        sub_pr \u003d \\"},{"line_number":211,"context_line":"                            self._get_and_update_sub_provider(context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_fe8b871a","line":208,"range":{"start_line":208,"start_character":20,"end_line":208,"end_character":37},"updated":"2018-10-02 23:17:15.000000000","message":"I am trying to understand the logic here\n\nIf the pf is Assignable --\u003e Do need to go through the VF list\nelse --\u003e Need to go through the VF list.\n\nBut why? If the pf is assignable, I think you still need to check the list of VFs belongs to it.","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"d0f1e5f4d2d35a0b1aed629b462ac67a9ee9e173","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                    elif pf.vf_list:"},{"line_number":217,"context_line":"                        for vf in pf.vf_list:"},{"line_number":218,"context_line":"                            PR_NAME \u003d str(vf.name + \"@\" + host)"},{"line_number":219,"context_line":"                            sub_pr \u003d\\"},{"line_number":220,"context_line":"                                self._get_and_update_sub_provider(context,"},{"line_number":221,"context_line":"                                                                  root_rp_uuid,"},{"line_number":222,"context_line":"                                                                  PR_NAME,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_1e72034b","line":219,"range":{"start_line":219,"start_character":28,"end_line":219,"end_character":34},"updated":"2018-10-02 23:17:15.000000000","message":"Do you need to accumulate the sub_pr into a list?","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"d0f1e5f4d2d35a0b1aed629b462ac67a9ee9e173","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        \"\"\"Update a ProviderTree object with current resource provider and"},{"line_number":244,"context_line":"        inventory information."},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        :param nova.compute.provider_tree.ProviderTree provider_tree:"},{"line_number":247,"context_line":"            A nova.compute.provider_tree.ProviderTree object representing all"},{"line_number":248,"context_line":"            the providers in the tree associated with the compute node, and any"},{"line_number":249,"context_line":"            sharing providers (those with the ``MISC_SHARES_VIA_AGGREGATE``"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_27c4925f","line":246,"range":{"start_line":246,"start_character":15,"end_line":246,"end_character":68},"updated":"2018-10-02 23:17:15.000000000","message":"I did not see this parameter","commit_id":"aac53cd865c92941ec3859160bab4cffbcb2542d"}]}
