)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"59a14d4e109b8e13371141f8eea390174364a773","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding basic implementation for Accelerator (Cyborg) component"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Firstly, let the client can work with some cyborg APIs."},{"line_number":10,"context_line":"This patch supports some cyborg APIs below."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- Deplyable API"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5faad753_bd7f0aaa","line":9,"range":{"start_line":9,"start_character":43,"end_line":9,"end_character":49},"updated":"2019-09-06 12:35:25.000000000","message":"Nit: Please capitalize Cyborg.","commit_id":"40f4d9b385a0e3258a316f7dc99c00745d6bdc3b"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"ccbc003b5d153a9528bd1c7457f0a70e7423ba25","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding basic implementation for Accelerator (Cyborg) component"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Firstly, let the client can work with some cyborg APIs."},{"line_number":10,"context_line":"This patch supports some cyborg APIs below."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- Deplyable API"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5faad753_c7ec3a2b","line":9,"range":{"start_line":9,"start_character":43,"end_line":9,"end_character":49},"in_reply_to":"5faad753_bd7f0aaa","updated":"2019-09-10 09:53:29.000000000","message":"Thanks,Done.","commit_id":"40f4d9b385a0e3258a316f7dc99c00745d6bdc3b"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"59a14d4e109b8e13371141f8eea390174364a773","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Firstly, let the client can work with some cyborg APIs."},{"line_number":10,"context_line":"This patch supports some cyborg APIs below."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- Deplyable API"},{"line_number":13,"context_line":"  ( cyborg v1 API, to be migrated to v2 in folloing patches)"},{"line_number":14,"context_line":"- Device_Profile API (cyborg v2 API)"},{"line_number":15,"context_line":"- Accelerator_request API (cyborg v2 API)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5faad753_9d500e35","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":11},"updated":"2019-09-06 12:35:25.000000000","message":"Nit: deployable.\n\nMore importantly, I think it is better to expose devices rather than deployables. A deployable is a component within a a device, which corresponds 1:1 with a Placement resource provider; a device can have 1 or more deployables. AN operator would want the inventory of all devices, and that report should include deployables, attributes, etc. We don\u0027t have a full devices API yet.\n\nIn short, we can drop deployable API in the client, IMO.","commit_id":"40f4d9b385a0e3258a316f7dc99c00745d6bdc3b"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"ccbc003b5d153a9528bd1c7457f0a70e7423ba25","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Firstly, let the client can work with some cyborg APIs."},{"line_number":10,"context_line":"This patch supports some cyborg APIs below."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- Deplyable API"},{"line_number":13,"context_line":"  ( cyborg v1 API, to be migrated to v2 in folloing patches)"},{"line_number":14,"context_line":"- Device_Profile API (cyborg v2 API)"},{"line_number":15,"context_line":"- Accelerator_request API (cyborg v2 API)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5faad753_c792fa4b","line":12,"range":{"start_line":12,"start_character":2,"end_line":12,"end_character":11},"in_reply_to":"5faad753_9d500e35","updated":"2019-09-10 09:53:29.000000000","message":"OK,I got it.\nI add device API support to this patch.\nIf response from devices API includes \"deployables\" and \"attributes\",\nI\u0027ll change the format of output from device API,in this patch.","commit_id":"40f4d9b385a0e3258a316f7dc99c00745d6bdc3b"}],"openstack/accelerator/v2/_proxy.py":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5139ff475e5750cdc786bf17a66f6dc115b04a90","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class Proxy(proxy.Proxy):"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def list_deployables(self, **query):"},{"line_number":22,"context_line":"        return self._list(_deployable.Deployable, **query)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def list_devices(self, **query):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_efeef5b2","line":21,"range":{"start_line":21,"start_character":8,"end_line":21,"end_character":24},"updated":"2019-09-19 13:36:47.000000000","message":"The pattern in sdk is for the list calls to  not have a leading list_ ...\n\nso:\n\n  def deployables(self , **query):\n\nSame goes for the other list calls.","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"a82934129193ab9f817c9cbac2c3f50d591bfbe1","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class Proxy(proxy.Proxy):"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def list_deployables(self, **query):"},{"line_number":22,"context_line":"        return self._list(_deployable.Deployable, **query)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def list_devices(self, **query):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_21f607fb","line":21,"range":{"start_line":21,"start_character":8,"end_line":21,"end_character":24},"in_reply_to":"3fa7e38b_efeef5b2","updated":"2019-09-25 05:54:00.000000000","message":"OK,I will modify this without \"list_\" .","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"82634d54268dee34a84967cf773c885f30f5da90","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        return self._get_resource(_deployable.Deployable,"},{"line_number":29,"context_line":"                                  uuid).patch(self, patch)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def devices(self, **query):"},{"line_number":32,"context_line":"        return self._list(_device.Device, **query)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def device_profiles(self, **query):"},{"line_number":35,"context_line":"        return self._list(_device_profile.DeviceProfile, **query)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_7147ff1f","line":32,"range":{"start_line":31,"start_character":0,"end_line":32,"end_character":50},"updated":"2019-12-30 07:28:13.000000000","message":"we also need to add method get_device?","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"7f22b37a613189c50f7b0727f3091094c35a4b54","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        return self._get_resource(_deployable.Deployable,"},{"line_number":29,"context_line":"                                  uuid).patch(self, patch)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def devices(self, **query):"},{"line_number":32,"context_line":"        return self._list(_device.Device, **query)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def device_profiles(self, **query):"},{"line_number":35,"context_line":"        return self._list(_device_profile.DeviceProfile, **query)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_4a20979e","line":32,"range":{"start_line":31,"start_character":0,"end_line":32,"end_character":50},"in_reply_to":"3fa7e38b_7147ff1f","updated":"2020-01-30 01:58:46.000000000","message":"Done","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"82634d54268dee34a84967cf773c885f30f5da90","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def get_device_profile(self, uuid, fields\u003dNone):"},{"line_number":45,"context_line":"        return self._get(_device_profile.DeviceProfile, uuid)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def accelerator_requests(self, **query):"},{"line_number":48,"context_line":"        return self._list(_arq.AcceleratorRequest, **query)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def create_accelerator_request(self, **attrs):"},{"line_number":51,"context_line":"        return self._create(_arq.AcceleratorRequest, **attrs)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def delete_accelerator_request(self, name_or_id, ignore_missing\u003dTrue):"},{"line_number":54,"context_line":"        return self._delete(_arq.AcceleratorRequest, name_or_id,"},{"line_number":55,"context_line":"                            ignore_missing\u003dignore_missing)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_d13ef388","line":53,"range":{"start_line":47,"start_character":7,"end_line":53,"end_character":35},"updated":"2019-12-30 07:28:13.000000000","message":"bind_arq and unbind arq,like this:\nhttps://review.opendev.org/#/c/681391/8/cyborgclient/osc/v2/accelerator_request.py","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"954bd475ffea68e3556e99ed4328abe6fc33c882","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def get_device_profile(self, uuid, fields\u003dNone):"},{"line_number":45,"context_line":"        return self._get(_device_profile.DeviceProfile, uuid)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def accelerator_requests(self, **query):"},{"line_number":48,"context_line":"        return self._list(_arq.AcceleratorRequest, **query)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def create_accelerator_request(self, **attrs):"},{"line_number":51,"context_line":"        return self._create(_arq.AcceleratorRequest, **attrs)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def delete_accelerator_request(self, name_or_id, ignore_missing\u003dTrue):"},{"line_number":54,"context_line":"        return self._delete(_arq.AcceleratorRequest, name_or_id,"},{"line_number":55,"context_line":"                            ignore_missing\u003dignore_missing)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_aa1072ac","line":53,"range":{"start_line":47,"start_character":7,"end_line":53,"end_character":35},"in_reply_to":"3fa7e38b_2a700273","updated":"2020-01-07 08:45:55.000000000","message":"Ye. I had got it. They all use update method in Line 60, right? If this. That\u0027s ok for me. Thanks shogo.","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"d8cca62cd5c81a63cc7b304c7338be189f6f0fed","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def get_device_profile(self, uuid, fields\u003dNone):"},{"line_number":45,"context_line":"        return self._get(_device_profile.DeviceProfile, uuid)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def accelerator_requests(self, **query):"},{"line_number":48,"context_line":"        return self._list(_arq.AcceleratorRequest, **query)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def create_accelerator_request(self, **attrs):"},{"line_number":51,"context_line":"        return self._create(_arq.AcceleratorRequest, **attrs)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def delete_accelerator_request(self, name_or_id, ignore_missing\u003dTrue):"},{"line_number":54,"context_line":"        return self._delete(_arq.AcceleratorRequest, name_or_id,"},{"line_number":55,"context_line":"                            ignore_missing\u003dignore_missing)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_2a700273","line":53,"range":{"start_line":47,"start_character":7,"end_line":53,"end_character":35},"in_reply_to":"3fa7e38b_d13ef388","updated":"2020-01-07 08:15:27.000000000","message":"Let me confirm about this,in detail.\nDo you mean that how to divide functions and its name should be similar to the client one? If that is yes, I can fix that.","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"947bb10dd2ed601c9f2aa11b40df1fa6ee7bcb48","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        :param kwargs query: Optional query parameters to be sent to"},{"line_number":54,"context_line":"            restrict the devices to be returned. Available parameters include:"},{"line_number":55,"context_line":"            * hostname: The hostname of the device."},{"line_number":56,"context_line":"            * type: The type of the devide."},{"line_number":57,"context_line":"            * vendor: The vendor ID of the device."},{"line_number":58,"context_line":"            * sort: A list of sorting keys separated by commas. Each sorting"},{"line_number":59,"context_line":"            key can optionally be attached with a sorting direction"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_854f3968","line":56,"range":{"start_line":56,"start_character":36,"end_line":56,"end_character":42},"updated":"2020-02-03 06:53:26.000000000","message":"device","commit_id":"3c5d20f515ad9df52bea40b3b051bda4069312bc"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"dffc68b6cdcb7d7bee22436b8119d62e02de36f7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        :param kwargs query: Optional query parameters to be sent to"},{"line_number":54,"context_line":"            restrict the devices to be returned. Available parameters include:"},{"line_number":55,"context_line":"            * hostname: The hostname of the device."},{"line_number":56,"context_line":"            * type: The type of the devide."},{"line_number":57,"context_line":"            * vendor: The vendor ID of the device."},{"line_number":58,"context_line":"            * sort: A list of sorting keys separated by commas. Each sorting"},{"line_number":59,"context_line":"            key can optionally be attached with a sorting direction"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_45fce13f","line":56,"range":{"start_line":56,"start_character":36,"end_line":56,"end_character":42},"in_reply_to":"3fa7e38b_854f3968","updated":"2020-02-03 07:12:34.000000000","message":"Done","commit_id":"3c5d20f515ad9df52bea40b3b051bda4069312bc"}],"openstack/cloud/_accelerator.py":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5139ff475e5750cdc786bf17a66f6dc115b04a90","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class AcceleratorCloudMixin(_normalize.Normalizer):"},{"line_number":22,"context_line":"    @property"},{"line_number":23,"context_line":"    def _accelerator_client(self):"},{"line_number":24,"context_line":"        if \u0027accelerator\u0027 not in self._raw_clients:"},{"line_number":25,"context_line":"            self._raw_clients[\u0027accelerator\u0027] \u003d self._get_versioned_client("},{"line_number":26,"context_line":"                \u0027accelerator\u0027, min_version\u003d2, max_version\u003d\u00272.latest\u0027)"},{"line_number":27,"context_line":"        return self._raw_clients[\u0027accelerator\u0027]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def list_deployables(self, filters\u003dNone):"},{"line_number":30,"context_line":"        \"\"\"List all available deployables."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_0f6d9131","line":27,"range":{"start_line":22,"start_character":4,"end_line":27,"end_character":47},"updated":"2019-09-19 13:36:47.000000000","message":"Actually - we\u0027re working on getting rid of _*_client (and you are doing the correct thing below using the accelerator proxy. This can go away.","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"a82934129193ab9f817c9cbac2c3f50d591bfbe1","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class AcceleratorCloudMixin(_normalize.Normalizer):"},{"line_number":22,"context_line":"    @property"},{"line_number":23,"context_line":"    def _accelerator_client(self):"},{"line_number":24,"context_line":"        if \u0027accelerator\u0027 not in self._raw_clients:"},{"line_number":25,"context_line":"            self._raw_clients[\u0027accelerator\u0027] \u003d self._get_versioned_client("},{"line_number":26,"context_line":"                \u0027accelerator\u0027, min_version\u003d2, max_version\u003d\u00272.latest\u0027)"},{"line_number":27,"context_line":"        return self._raw_clients[\u0027accelerator\u0027]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def list_deployables(self, filters\u003dNone):"},{"line_number":30,"context_line":"        \"\"\"List all available deployables."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_46f23972","line":27,"range":{"start_line":22,"start_character":4,"end_line":27,"end_character":47},"in_reply_to":"3fa7e38b_0f6d9131","updated":"2019-09-25 05:54:00.000000000","message":"OK,I\u0027ll modify this as your mention.","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5139ff475e5750cdc786bf17a66f6dc115b04a90","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                \u0027accelerator\u0027, min_version\u003d2, max_version\u003d\u00272.latest\u0027)"},{"line_number":27,"context_line":"        return self._raw_clients[\u0027accelerator\u0027]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def list_deployables(self, filters\u003dNone):"},{"line_number":30,"context_line":"        \"\"\"List all available deployables."},{"line_number":31,"context_line":"        :param filters: (optional) dict of filter conditions to push down"},{"line_number":32,"context_line":"        :returns: A list of ``munch.Munch`` containing accelerator info."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_6f11a5ac","line":29,"range":{"start_line":29,"start_character":8,"end_line":29,"end_character":25},"updated":"2019-09-19 13:36:47.000000000","message":"Here- in the cloud layer, list_ is great\n\n(sorry for making it confusing - this is what we get when we merge two projects :) )","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5139ff475e5750cdc786bf17a66f6dc115b04a90","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        # Translate None from search interface to empty {} for kwargs below"},{"line_number":36,"context_line":"        if not filters:"},{"line_number":37,"context_line":"            filters \u003d {}"},{"line_number":38,"context_line":"        data \u003d self.accelerator.get(\"/deployables\", params\u003dfilters)"},{"line_number":39,"context_line":"        return self._get_and_munchify(\u0027deployables\u0027, data)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def list_device_profiles(self, filters\u003dNone):"},{"line_number":42,"context_line":"        \"\"\"List all device_profiles."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_ef4a75aa","line":39,"range":{"start_line":38,"start_character":8,"end_line":39,"end_character":58},"updated":"2019-09-19 13:36:47.000000000","message":"You\u0027re actually ahead here (yay!) so I think you can skip this part. Just do:\n\n  return list(self.accelerator.deployables())\n\nThat way the cyborg support will be where we want the other services to be already. (The goal is that the cloud layer returns Resource objects adn the two can be used interchangably)","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"a82934129193ab9f817c9cbac2c3f50d591bfbe1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        # Translate None from search interface to empty {} for kwargs below"},{"line_number":36,"context_line":"        if not filters:"},{"line_number":37,"context_line":"            filters \u003d {}"},{"line_number":38,"context_line":"        data \u003d self.accelerator.get(\"/deployables\", params\u003dfilters)"},{"line_number":39,"context_line":"        return self._get_and_munchify(\u0027deployables\u0027, data)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def list_device_profiles(self, filters\u003dNone):"},{"line_number":42,"context_line":"        \"\"\"List all device_profiles."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_06e8c179","line":39,"range":{"start_line":38,"start_character":8,"end_line":39,"end_character":58},"in_reply_to":"3fa7e38b_ef4a75aa","updated":"2019-09-25 05:54:00.000000000","message":"Thanks,I\u0027ll fix this as your mention.","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5139ff475e5750cdc786bf17a66f6dc115b04a90","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        data \u003d self.accelerator.get(\"/deployables\", params\u003dfilters)"},{"line_number":39,"context_line":"        return self._get_and_munchify(\u0027deployables\u0027, data)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def list_device_profiles(self, filters\u003dNone):"},{"line_number":42,"context_line":"        \"\"\"List all device_profiles."},{"line_number":43,"context_line":"        :param filters: (optional) dict of filter conditions to push down"},{"line_number":44,"context_line":"        :returns: A list of ``munch.Munch`` containing accelerator info."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_afca3d17","line":41,"updated":"2019-09-19 13:36:47.000000000","message":"Same comments as above.","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":30759,"name":"Shogo Saito","email":"shogo.saito.ac@hco.ntt.co.jp","username":"s.shogo"},"change_message_id":"a82934129193ab9f817c9cbac2c3f50d591bfbe1","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        data \u003d self.accelerator.get(\"/deployables\", params\u003dfilters)"},{"line_number":39,"context_line":"        return self._get_and_munchify(\u0027deployables\u0027, data)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def list_device_profiles(self, filters\u003dNone):"},{"line_number":42,"context_line":"        \"\"\"List all device_profiles."},{"line_number":43,"context_line":"        :param filters: (optional) dict of filter conditions to push down"},{"line_number":44,"context_line":"        :returns: A list of ``munch.Munch`` containing accelerator info."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_26edbd8a","line":41,"in_reply_to":"3fa7e38b_afca3d17","updated":"2019-09-25 05:54:00.000000000","message":"Done.","commit_id":"36dbd1d2b17f6c6130c5d844c78c3dc70485bb71"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        \"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # Translate None from search interface to empty {} for kwargs below"},{"line_number":29,"context_line":"        if not filters:"},{"line_number":30,"context_line":"            filters \u003d {}"},{"line_number":31,"context_line":"        return list(self.accelerator.deployables())"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_82efddf8","line":29,"range":{"start_line":29,"start_character":8,"end_line":29,"end_character":23},"updated":"2019-12-24 13:33:24.000000000","message":"when filters is not None, what should we do","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Translate None from search interface to empty {} for kwargs below"},{"line_number":40,"context_line":"        if not filters:"},{"line_number":41,"context_line":"            filters \u003d {}"},{"line_number":42,"context_line":"        return list(self.accelerator.devices())"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_22fe29af","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":23},"updated":"2019-12-24 13:33:24.000000000","message":"ditto","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        return True"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def create_accelerator_request(self, attrs):"},{"line_number":117,"context_line":"        \"\"\"Create a accelerator_request."},{"line_number":118,"context_line":"        :param attrs: The info of accelerator_request to be created."},{"line_number":119,"context_line":"        :returns: A ``munch.Munch`` of the created accelerator_request."},{"line_number":120,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_e229f139","line":117,"range":{"start_line":117,"start_character":18,"end_line":117,"end_character":19},"updated":"2019-12-24 13:33:24.000000000","message":"an","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        return self.accelerator.create_accelerator_request(**attrs)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def bind_accelerator_request(self, uuid, properties):"},{"line_number":125,"context_line":"        \"\"\"Bind a accelerator to VM."},{"line_number":126,"context_line":"        :param uuid: The uuid of the accelerator_request to be binded."},{"line_number":127,"context_line":"        :param properties: The info of VM that will bind the accelerator."},{"line_number":128,"context_line":"        :returns: True if bind succeeded, False otherwise."}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_42f9e5c2","line":125,"range":{"start_line":125,"start_character":16,"end_line":125,"end_character":17},"updated":"2019-12-24 13:33:24.000000000","message":"an","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        return self.accelerator.update_accelerator_request(uuid, properties)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def unbind_accelerator_request(self, uuid, properties):"},{"line_number":141,"context_line":"        \"\"\"Unbind a accelerator from VM."},{"line_number":142,"context_line":"        :param uuid: The uuid of the accelerator_request to be unbinded."},{"line_number":143,"context_line":"        :param properties: The info of VM that will unbind the accelerator."},{"line_number":144,"context_line":"        :returns:True if unbind succeeded, False otherwise."}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_022d2d44","line":141,"range":{"start_line":141,"start_character":18,"end_line":141,"end_character":19},"updated":"2019-12-24 13:33:24.000000000","message":"an","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"}],"openstack/tests/unit/accelerator/v2/test_deployable.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"EXAMPLE \u003d {"},{"line_number":18,"context_line":"    \u0027id\u0027: \u00271\u0027,"},{"line_number":19,"context_line":"    \u0027uuid\u0027: \u00271\u0027,"},{"line_number":20,"context_line":"    \u0027created_at\u0027: \u00272019-08-09T12:14:57.233772\u0027,"},{"line_number":21,"context_line":"    \u0027updated_at\u0027: \u00272019-08-09T12:15:57.233772\u0027,"},{"line_number":22,"context_line":"    \u0027parent_id\u0027: \u00271\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_c2263568","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":15},"updated":"2019-12-24 13:33:24.000000000","message":"suggest like this: uuid.uuid4()","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"}],"openstack/tests/unit/accelerator/v2/test_device.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"4c464758dc283a1cd87b35c95b6fc01265e50fc4","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"EXAMPLE \u003d {"},{"line_number":18,"context_line":"    \u0027id\u0027: \u00271\u0027,"},{"line_number":19,"context_line":"    \u0027uuid\u0027: \u00271\u0027,"},{"line_number":20,"context_line":"    \u0027created_at\u0027: \u00272019-08-09T12:14:57.233772\u0027,"},{"line_number":21,"context_line":"    \u0027updated_at\u0027: \u00272019-08-09T12:15:57.233772\u0027,"},{"line_number":22,"context_line":"    \u0027type\u0027: \u0027test_type\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_a223f957","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":16},"updated":"2019-12-24 13:33:24.000000000","message":"suggest like this: uuid.uuid4()","commit_id":"31b7bab8914a1b2f753464a2612d028cf5d194ba"}]}
