)]}'
{".gitignore":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a5077bd6f6189a65e18aacf0d09b52c37738c17d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9fb8cfa7_0632fd5e","updated":"2019-06-26 01:50:06.000000000","message":"I looks there are a lot of tailing spaces...","commit_id":"8e4795cd044357f1de8aa24639c55badf2133b1c"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9fb8cfa7_68929159","in_reply_to":"9fb8cfa7_0632fd5e","updated":"2019-08-14 22:29:54.000000000","message":"fixed in patch 3. Thanks!","commit_id":"8e4795cd044357f1de8aa24639c55badf2133b1c"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c6c1578fc42124141e0f88829beb34110d561eaa","unresolved":false,"context_lines":[{"line_number":2,"context_line":"*.tox"},{"line_number":3,"context_line":"*.retry"},{"line_number":4,"context_line":".coverage"},{"line_number":5,"context_line":".coveragerc"},{"line_number":6,"context_line":".coverage.*"},{"line_number":7,"context_line":".venv"},{"line_number":8,"context_line":".stestr/"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7faddb67_a32ebff7","line":5,"updated":"2019-07-10 02:16:57.000000000","message":"I think \u0027.coveragerc\u0027 file should be tracked by the git repo.","commit_id":"21777ce95808399ac5ee020cfb61476042c062ec"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c6c1578fc42124141e0f88829beb34110d561eaa","unresolved":false,"context_lines":[{"line_number":20,"context_line":".idea/*"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# Editors"},{"line_number":23,"context_line":"*.sublime-workspace"},{"line_number":24,"context_line":"*.swp"},{"line_number":25,"context_line":"*.swo"},{"line_number":26,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7faddb67_43358b45","line":23,"updated":"2019-07-10 02:16:57.000000000","message":"I think we don\u0027t need to add like editor/IDE dependent files or directories. Especially, non-preinstalled ones such as intellij(?), sublime, etc.","commit_id":"21777ce95808399ac5ee020cfb61476042c062ec"}],"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c6c1578fc42124141e0f88829beb34110d561eaa","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Biwei Guo \u003cbiwei.guo@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-09 14:03:50 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"End-to-end scenario test added"},{"line_number":8,"context_line":"Cleaned up code and all tempest tests passing"},{"line_number":9,"context_line":"except for Delete Device Profile bug"},{"line_number":10,"context_line":"fixed pep8 errors"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7faddb67_832b83e9","line":7,"updated":"2019-07-10 02:16:57.000000000","message":"A blank line should be added after the first line.\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"21777ce95808399ac5ee020cfb61476042c062ec"}],"cyborg_tempest_plugin/services/cyborg_rest_client.py":[{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"901d52443cad8da181cdd973232b5a51bd308b4c","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CyborgRestClient(rest_client.RestClient):"},{"line_number":29,"context_line":"    \"\"\"Client class for accessing the cyborg API.\"\"\""},{"line_number":30,"context_line":"    CYBORGCLIENT_VERSION \u003d \u00272\u0027"},{"line_number":31,"context_line":"    DP_URL \u003d \u0027/device_profiles\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _response_helper(self, resp, body\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_db72177d","line":30,"range":{"start_line":30,"start_character":4,"end_line":30,"end_character":24},"updated":"2019-07-04 01:48:31.000000000","message":"where is this variable used?","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CyborgRestClient(rest_client.RestClient):"},{"line_number":29,"context_line":"    \"\"\"Client class for accessing the cyborg API.\"\"\""},{"line_number":30,"context_line":"    CYBORGCLIENT_VERSION \u003d \u00272\u0027"},{"line_number":31,"context_line":"    DP_URL \u003d \u0027/device_profiles\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _response_helper(self, resp, body\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_543b1cea","line":30,"range":{"start_line":30,"start_character":4,"end_line":30,"end_character":24},"in_reply_to":"7faddb67_db72177d","updated":"2019-08-14 22:29:54.000000000","message":"not used anywhere. I\u0027ll delete it!","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"ed128267fee95a2ff626d90c8aef7120e62a57a3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            body \u003d json.loads(body)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def create_device_profile(self, body):"},{"line_number":39,"context_line":"        body \u003d json.dump_as_bytes(body)"},{"line_number":40,"context_line":"        resp, body \u003d self.post(self.DP_URL, body\u003dbody)"},{"line_number":41,"context_line":"        return self._response_helper(resp, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_d12c259b","line":38,"range":{"start_line":38,"start_character":4,"end_line":38,"end_character":42},"updated":"2019-07-05 03:01:37.000000000","message":"Hi Biwei, pls see the tempest results: http://logs.openstack.org/10/669010/4/check/cyborg-tempest/2342e87/job-output.txt.gz#_2019-07-04_12_35_56_293419\n\nposting a device profile is not allowed by api v1 in cyborg master branch, we may need to depend on the api v2 in pilot branch. or maybe we we can just ignore this for now.","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            body \u003d json.loads(body)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def create_device_profile(self, body):"},{"line_number":39,"context_line":"        body \u003d json.dump_as_bytes(body)"},{"line_number":40,"context_line":"        resp, body \u003d self.post(self.DP_URL, body\u003dbody)"},{"line_number":41,"context_line":"        return self._response_helper(resp, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_743e58db","line":38,"range":{"start_line":38,"start_character":4,"end_line":38,"end_character":42},"in_reply_to":"7faddb67_d12c259b","updated":"2019-08-14 22:29:54.000000000","message":"ignore it for now. Thx!","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"}],"cyborg_tempest_plugin/tests/api/test_device_profile.py":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"3c23a2d5f2b0384a661861fe8fb15a0ba4f6a79a","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from cyborg_tempest_plugin.tests.api import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"dp \u003d {"},{"line_number":19,"context_line":"    \"name\": \"afaas_example.1\","},{"line_number":20,"context_line":"    \"groups\": ["},{"line_number":21,"context_line":"        {\"resources:CUSTOM_ACCELERATOR_FPGA\": \"1\","},{"line_number":22,"context_line":"         \"trait:CUSTOM_FPGA_INTEL_PAC_ARRIA10\": \"required\","},{"line_number":23,"context_line":"         \"trait:CUSTOM_FUNCTION_ID_3AFB\": \"required\","},{"line_number":24,"context_line":"         }"},{"line_number":25,"context_line":"        ]"},{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class TestDeviceProfileController(base.BaseAPITest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_01e87979","line":26,"range":{"start_line":18,"start_character":0,"end_line":26,"end_character":1},"updated":"2019-06-28 02:58:44.000000000","message":"It is better to move this definition into test_create_device_profile because it will only be used in this function, it should be a local variable .","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from cyborg_tempest_plugin.tests.api import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"dp \u003d {"},{"line_number":19,"context_line":"    \"name\": \"afaas_example.1\","},{"line_number":20,"context_line":"    \"groups\": ["},{"line_number":21,"context_line":"        {\"resources:CUSTOM_ACCELERATOR_FPGA\": \"1\","},{"line_number":22,"context_line":"         \"trait:CUSTOM_FPGA_INTEL_PAC_ARRIA10\": \"required\","},{"line_number":23,"context_line":"         \"trait:CUSTOM_FUNCTION_ID_3AFB\": \"required\","},{"line_number":24,"context_line":"         }"},{"line_number":25,"context_line":"        ]"},{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class TestDeviceProfileController(base.BaseAPITest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_8e26c4cd","line":26,"range":{"start_line":18,"start_character":0,"end_line":26,"end_character":1},"in_reply_to":"9fb8cfa7_01e87979","updated":"2019-08-14 22:29:54.000000000","message":"Done","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"28472466158a393565b957a222152c3c478a7754","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def test_create_device_profile(self):"},{"line_number":24,"context_line":"        dp \u003d {"},{"line_number":25,"context_line":"            \"name\": \"afaas_example.1\","},{"line_number":26,"context_line":"            \"groups\": ["},{"line_number":27,"context_line":"                {\"resources:CUSTOM_ACCELERATOR_FPGA\": \"1\","},{"line_number":28,"context_line":"                 \"trait:CUSTOM_FPGA_INTEL_PAC_ARRIA10\": \"required\","},{"line_number":29,"context_line":"                 \"trait:CUSTOM_FUNCTION_ID_3AFB\": \"required\","},{"line_number":30,"context_line":"                 }"},{"line_number":31,"context_line":"                ]"},{"line_number":32,"context_line":"        }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        response \u003d self.os_admin.cyborg_client.create_device_profile(dp)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_38bc35db","line":31,"range":{"start_line":25,"start_character":12,"end_line":31,"end_character":17},"updated":"2019-07-27 01:20:12.000000000","message":"same commet as else where we shoudl not assume intel device in the tempest test quite.\n\nwe shoudl either use traits for a dummy device or make this a config option its less of an issue here as you are just testing creating a device profile which does not actully require a device but for the senairo test it is an issue.","commit_id":"f6adc17bf409fb161982866f1a75c3eca77fc27a"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def test_create_device_profile(self):"},{"line_number":24,"context_line":"        dp \u003d {"},{"line_number":25,"context_line":"            \"name\": \"afaas_example.1\","},{"line_number":26,"context_line":"            \"groups\": ["},{"line_number":27,"context_line":"                {\"resources:CUSTOM_ACCELERATOR_FPGA\": \"1\","},{"line_number":28,"context_line":"                 \"trait:CUSTOM_FPGA_INTEL_PAC_ARRIA10\": \"required\","},{"line_number":29,"context_line":"                 \"trait:CUSTOM_FUNCTION_ID_3AFB\": \"required\","},{"line_number":30,"context_line":"                 }"},{"line_number":31,"context_line":"                ]"},{"line_number":32,"context_line":"        }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        response \u003d self.os_admin.cyborg_client.create_device_profile(dp)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_1352533c","line":31,"range":{"start_line":25,"start_character":12,"end_line":31,"end_character":17},"in_reply_to":"7faddb67_38bc35db","updated":"2019-08-14 22:29:54.000000000","message":"I made it generic.Thanks!","commit_id":"f6adc17bf409fb161982866f1a75c3eca77fc27a"}],"cyborg_tempest_plugin/tests/api/test_hello_world.py":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"3c23a2d5f2b0384a661861fe8fb15a0ba4f6a79a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from tempest import test"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestHelloWorld(base.BaseHelloWorldTest):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_c1058147","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":20},"updated":"2019-06-28 02:58:44.000000000","message":"I think we should remove this hello world test in upstream. What do you think?","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from tempest import test"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class TestHelloWorld(base.BaseHelloWorldTest):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_6e27d0c8","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":20},"in_reply_to":"9fb8cfa7_c1058147","updated":"2019-08-14 22:29:54.000000000","message":"Done","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"}],"cyborg_tempest_plugin/tests/scenario/manager.py":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"3c23a2d5f2b0384a661861fe8fb15a0ba4f6a79a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        cls.interface_client \u003d cls.os_primary.interfaces_client"},{"line_number":70,"context_line":"        # Neutron network client"},{"line_number":71,"context_line":"        cls.networks_client \u003d cls.os_primary.networks_client"},{"line_number":72,"context_line":"        cls.ports_client \u003d cls.os_primary.ports_client"},{"line_number":73,"context_line":"        cls.routers_client \u003d cls.os_primary.routers_client"},{"line_number":74,"context_line":"        cls.subnets_client \u003d cls.os_primary.subnets_client"},{"line_number":75,"context_line":"        cls.floating_ips_client \u003d cls.os_primary.floating_ips_client"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_21a01d42","line":72,"range":{"start_line":72,"start_character":8,"end_line":72,"end_character":54},"updated":"2019-06-28 02:58:44.000000000","message":"Is this client called in our plugin, if not, it should be removed. Same for other clients.","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        cls.interface_client \u003d cls.os_primary.interfaces_client"},{"line_number":70,"context_line":"        # Neutron network client"},{"line_number":71,"context_line":"        cls.networks_client \u003d cls.os_primary.networks_client"},{"line_number":72,"context_line":"        cls.ports_client \u003d cls.os_primary.ports_client"},{"line_number":73,"context_line":"        cls.routers_client \u003d cls.os_primary.routers_client"},{"line_number":74,"context_line":"        cls.subnets_client \u003d cls.os_primary.subnets_client"},{"line_number":75,"context_line":"        cls.floating_ips_client \u003d cls.os_primary.floating_ips_client"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_ae2148b6","line":72,"range":{"start_line":72,"start_character":8,"end_line":72,"end_character":54},"in_reply_to":"9fb8cfa7_21a01d42","updated":"2019-08-14 22:29:54.000000000","message":"Done","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"3c23a2d5f2b0384a661861fe8fb15a0ba4f6a79a","unresolved":false,"context_lines":[{"line_number":355,"context_line":"                self.image_client.store_image_file(image[\u0027id\u0027], image_file)"},{"line_number":356,"context_line":"        return image[\u0027id\u0027]"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    def glance_image_create(self):"},{"line_number":359,"context_line":"        img_path \u003d CONF.scenario.img_dir + \"/\" + CONF.scenario.img_file"},{"line_number":360,"context_line":"        aki_img_path \u003d CONF.scenario.img_dir + \"/\" + CONF.scenario.aki_img_file"},{"line_number":361,"context_line":"        ari_img_path \u003d CONF.scenario.img_dir + \"/\" + CONF.scenario.ari_img_file"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_019dd908","line":358,"range":{"start_line":358,"start_character":8,"end_line":358,"end_character":27},"updated":"2019-06-28 02:58:44.000000000","message":"We do not involve this function anywhere in cyborg tempest plugin as I remembered. if this is not useful in our case, it should be removed. Same for other functions in this files. It\u0027s better to double check it.","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":355,"context_line":"                self.image_client.store_image_file(image[\u0027id\u0027], image_file)"},{"line_number":356,"context_line":"        return image[\u0027id\u0027]"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    def glance_image_create(self):"},{"line_number":359,"context_line":"        img_path \u003d CONF.scenario.img_dir + \"/\" + CONF.scenario.img_file"},{"line_number":360,"context_line":"        aki_img_path \u003d CONF.scenario.img_dir + \"/\" + CONF.scenario.aki_img_file"},{"line_number":361,"context_line":"        ari_img_path \u003d CONF.scenario.img_dir + \"/\" + CONF.scenario.ari_img_file"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_4e2c4cab","line":358,"range":{"start_line":358,"start_character":8,"end_line":358,"end_character":27},"in_reply_to":"9fb8cfa7_019dd908","updated":"2019-08-14 22:29:54.000000000","message":"Done","commit_id":"71cb2924293c5006b283f22a43eae5383eac6a8c"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"901d52443cad8da181cdd973232b5a51bd308b4c","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":111,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":112,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":113,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":114,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":115,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":116,"context_line":"        self.addCleanup(client.delete_flavor, flavor[\"id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_7b2f63f6","line":113,"range":{"start_line":113,"start_character":8,"end_line":113,"end_character":65},"updated":"2019-07-04 01:48:31.000000000","message":"This note is not correctly.","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":111,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":112,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":113,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":114,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":115,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":116,"context_line":"        self.addCleanup(client.delete_flavor, flavor[\"id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_97ff5600","line":113,"range":{"start_line":113,"start_character":8,"end_line":113,"end_character":65},"in_reply_to":"7faddb67_7b2f63f6","updated":"2019-08-14 22:29:54.000000000","message":"removed this comment. Thx","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"901d52443cad8da181cdd973232b5a51bd308b4c","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":145,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":146,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":147,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":148,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":149,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":150,"context_line":"        specs \u003d {\"accel:device_profile\": dp_name}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_9b47bfbd","line":147,"range":{"start_line":147,"start_character":8,"end_line":147,"end_character":65},"updated":"2019-07-04 01:48:31.000000000","message":"ditto","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":145,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":146,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":147,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":148,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":149,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":150,"context_line":"        specs \u003d {\"accel:device_profile\": dp_name}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_173cc6c6","line":147,"range":{"start_line":147,"start_character":8,"end_line":147,"end_character":65},"in_reply_to":"7faddb67_9b47bfbd","updated":"2019-08-14 22:29:54.000000000","message":"removed","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"901d52443cad8da181cdd973232b5a51bd308b4c","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        return body"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def create_accel_flavor(self, dp_name, client\u003dNone):"},{"line_number":138,"context_line":"        if not client:"},{"line_number":139,"context_line":"            client \u003d self.admin_flavors_client"},{"line_number":140,"context_line":"        flavor_id \u003d CONF.compute.flavor_ref"},{"line_number":141,"context_line":"        flavor_base \u003d self.admin_flavors_client.show_flavor("},{"line_number":142,"context_line":"            flavor_id)[\u0027flavor\u0027]"},{"line_number":143,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":144,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":145,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":146,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":147,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":148,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":149,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":150,"context_line":"        specs \u003d {\"accel:device_profile\": dp_name}"},{"line_number":151,"context_line":"        self.update_flavor_extra_specs(specs, flavor)"},{"line_number":152,"context_line":"        self.addCleanup(client.delete_flavor, flavor[\"id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_7b18c3d2","line":149,"range":{"start_line":138,"start_character":0,"end_line":149,"end_character":31},"updated":"2019-07-04 01:48:31.000000000","message":"can we just use the create_flavor function above?","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"0a4f1739f3e9189ca1bff840953da4fbeb0c59bd","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        return body"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def create_accel_flavor(self, dp_name, client\u003dNone):"},{"line_number":138,"context_line":"        if not client:"},{"line_number":139,"context_line":"            client \u003d self.admin_flavors_client"},{"line_number":140,"context_line":"        flavor_id \u003d CONF.compute.flavor_ref"},{"line_number":141,"context_line":"        flavor_base \u003d self.admin_flavors_client.show_flavor("},{"line_number":142,"context_line":"            flavor_id)[\u0027flavor\u0027]"},{"line_number":143,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":144,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":145,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":146,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":147,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":148,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":149,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":150,"context_line":"        specs \u003d {\"accel:device_profile\": dp_name}"},{"line_number":151,"context_line":"        self.update_flavor_extra_specs(specs, flavor)"},{"line_number":152,"context_line":"        self.addCleanup(client.delete_flavor, flavor[\"id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_eb70d074","line":149,"range":{"start_line":138,"start_character":0,"end_line":149,"end_character":31},"in_reply_to":"7faddb67_60f64b60","updated":"2019-09-13 03:47:18.000000000","message":"+1","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        return body"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def create_accel_flavor(self, dp_name, client\u003dNone):"},{"line_number":138,"context_line":"        if not client:"},{"line_number":139,"context_line":"            client \u003d self.admin_flavors_client"},{"line_number":140,"context_line":"        flavor_id \u003d CONF.compute.flavor_ref"},{"line_number":141,"context_line":"        flavor_base \u003d self.admin_flavors_client.show_flavor("},{"line_number":142,"context_line":"            flavor_id)[\u0027flavor\u0027]"},{"line_number":143,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":144,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":145,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":146,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":147,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":148,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":149,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":150,"context_line":"        specs \u003d {\"accel:device_profile\": dp_name}"},{"line_number":151,"context_line":"        self.update_flavor_extra_specs(specs, flavor)"},{"line_number":152,"context_line":"        self.addCleanup(client.delete_flavor, flavor[\"id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_973756b1","line":149,"range":{"start_line":138,"start_character":0,"end_line":149,"end_character":31},"in_reply_to":"7faddb67_7b18c3d2","updated":"2019-08-14 22:29:54.000000000","message":"there\u0027s some redundant code but the create_flavor function returns the id instead of the flavor itself so I can\u0027t use it here.","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"abe79ed42c5a5b74732a999bf2b38d0d97e6feb0","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        return body"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def create_accel_flavor(self, dp_name, client\u003dNone):"},{"line_number":138,"context_line":"        if not client:"},{"line_number":139,"context_line":"            client \u003d self.admin_flavors_client"},{"line_number":140,"context_line":"        flavor_id \u003d CONF.compute.flavor_ref"},{"line_number":141,"context_line":"        flavor_base \u003d self.admin_flavors_client.show_flavor("},{"line_number":142,"context_line":"            flavor_id)[\u0027flavor\u0027]"},{"line_number":143,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":144,"context_line":"        ram \u003d flavor_base[\u0027ram\u0027]"},{"line_number":145,"context_line":"        vcpus \u003d flavor_base[\u0027vcpus\u0027]"},{"line_number":146,"context_line":"        disk \u003d flavor_base[\u0027disk\u0027]"},{"line_number":147,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":148,"context_line":"        body \u003d client.create_flavor(name\u003dname, ram\u003dram, vcpus\u003dvcpus, disk\u003ddisk)"},{"line_number":149,"context_line":"        flavor \u003d body[\"flavor\"]"},{"line_number":150,"context_line":"        specs \u003d {\"accel:device_profile\": dp_name}"},{"line_number":151,"context_line":"        self.update_flavor_extra_specs(specs, flavor)"},{"line_number":152,"context_line":"        self.addCleanup(client.delete_flavor, flavor[\"id\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_60f64b60","line":149,"range":{"start_line":138,"start_character":0,"end_line":149,"end_character":31},"in_reply_to":"7faddb67_973756b1","updated":"2019-08-15 00:56:35.000000000","message":"Why not just not return flavor in create_flavor function, when use the function, you can just get whatever id or name. It is just suggestion, haha","commit_id":"870b8f30aff5f65445930dfa8245dd80a56b7129"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"28472466158a393565b957a222152c3c478a7754","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        if not client:"},{"line_number":120,"context_line":"            client \u003d self.os_adm.cyborg_client"},{"line_number":121,"context_line":"        dp \u003d {"},{"line_number":122,"context_line":"            \"name\": \"afaas_example.1\","},{"line_number":123,"context_line":"            \"groups\": ["},{"line_number":124,"context_line":"                {"},{"line_number":125,"context_line":"                    \"resources:CUSTOM_ACCELERATOR_FPGA\": \"1\","},{"line_number":126,"context_line":"                    \"trait:CUSTOM_FPGA_INTEL_PAC_ARRIA10\": \"required\","},{"line_number":127,"context_line":"                    \"trait:CUSTOM_FUNCTION_ID_3AFB\": \"required\","},{"line_number":128,"context_line":"                }"},{"line_number":129,"context_line":"            ]"},{"line_number":130,"context_line":"        }"},{"line_number":131,"context_line":"        body \u003d client.create_device_profile(dp)"},{"line_number":132,"context_line":"        device_profile \u003d body[\"uuid\"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_38d3d53a","line":129,"range":{"start_line":122,"start_character":13,"end_line":129,"end_character":13},"updated":"2019-07-27 01:20:12.000000000","message":"we should not encode any vendor specific infomation in the tempest tests. we should wrie these in terms of the dummy driver that was ment to be create to allow testing without real hardware or make this configurable via config so it can be used by and vendor to test there hardware generically.","commit_id":"f6adc17bf409fb161982866f1a75c3eca77fc27a"},{"author":{"_account_id":29907,"name":"Biwei Guo","email":"biwei.guo@intel.com","username":"biweiguo1"},"change_message_id":"799fd5d2ca4d191d8fc603c1bd4251feb3cc5034","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        if not client:"},{"line_number":120,"context_line":"            client \u003d self.os_adm.cyborg_client"},{"line_number":121,"context_line":"        dp \u003d {"},{"line_number":122,"context_line":"            \"name\": \"afaas_example.1\","},{"line_number":123,"context_line":"            \"groups\": ["},{"line_number":124,"context_line":"                {"},{"line_number":125,"context_line":"                    \"resources:CUSTOM_ACCELERATOR_FPGA\": \"1\","},{"line_number":126,"context_line":"                    \"trait:CUSTOM_FPGA_INTEL_PAC_ARRIA10\": \"required\","},{"line_number":127,"context_line":"                    \"trait:CUSTOM_FUNCTION_ID_3AFB\": \"required\","},{"line_number":128,"context_line":"                }"},{"line_number":129,"context_line":"            ]"},{"line_number":130,"context_line":"        }"},{"line_number":131,"context_line":"        body \u003d client.create_device_profile(dp)"},{"line_number":132,"context_line":"        device_profile \u003d body[\"uuid\"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_b3425f67","line":129,"range":{"start_line":122,"start_character":13,"end_line":129,"end_character":13},"in_reply_to":"7faddb67_38d3d53a","updated":"2019-08-14 22:29:54.000000000","message":"Done","commit_id":"f6adc17bf409fb161982866f1a75c3eca77fc27a"}]}
