)]}'
{"cyborg/api/controllers/v1/deployables.py":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"f9e3542df59a8939220bc31f75049c25dc21e9e7","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    @expose.expose(DeployableCollection, types.uuid, types.uuid, wtypes.text,"},{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_e5cb9da4","line":159,"range":{"start_line":159,"start_character":56,"end_line":159,"end_character":60},"updated":"2018-07-24 06:55:18.000000000","message":"Should better explain what is type.","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"78d9cbbb41eba19ba99778e49b73ed60202131ff","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    @expose.expose(DeployableCollection, types.uuid, types.uuid, wtypes.text,"},{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_9781a4fd","line":159,"range":{"start_line":159,"start_character":56,"end_line":159,"end_character":60},"in_reply_to":"5f7c97a3_e5cb9da4","updated":"2018-07-25 04:53:59.000000000","message":"OK. I\u0027ll add it later.","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"f9e3542df59a8939220bc31f75049c25dc21e9e7","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"},{"line_number":163,"context_line":"        for key, val in pecan.request.params.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a56925c1","line":160,"range":{"start_line":160,"start_character":39,"end_line":160,"end_character":56},"updated":"2018-07-24 06:55:18.000000000","message":"availability\u003dNone\nIt had better not be None. \n1. one use case \nWe want to use get_all to fetch all deploybles.\nThis should default behavior. Though it is good to fetch our expect deploybles.","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"f9e3542df59a8939220bc31f75049c25dc21e9e7","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    @expose.expose(DeployableCollection, types.uuid, types.uuid, wtypes.text,"},{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"},{"line_number":163,"context_line":"        for key, val in pecan.request.params.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_c50d41e8","line":160,"range":{"start_line":159,"start_character":21,"end_line":160,"end_character":72},"updated":"2018-07-24 06:55:18.000000000","message":"still miss enough parameters to get exact match our expect deploybles.\n\nLet waiting for sundar/Liuli or dolpher\u0027s feedback.","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"8ff912703826d7f1586df33df2159d41b01b514a","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    @expose.expose(DeployableCollection, types.uuid, types.uuid, wtypes.text,"},{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"},{"line_number":163,"context_line":"        for key, val in pecan.request.params.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_c13bbec6","line":160,"range":{"start_line":159,"start_character":21,"end_line":160,"end_character":72},"in_reply_to":"5f7c97a3_9f53ed3a","updated":"2018-07-26 01:51:40.000000000","message":"Hi Li Liu,\nGood idea. GET method doesn\u0027t have body. :(","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"78d9cbbb41eba19ba99778e49b73ed60202131ff","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"},{"line_number":163,"context_line":"        for key, val in pecan.request.params.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_57c6ac43","line":160,"range":{"start_line":160,"start_character":39,"end_line":160,"end_character":56},"in_reply_to":"5f7c97a3_a56925c1","updated":"2018-07-25 04:53:59.000000000","message":"availability\u003dNone means getting all deployables. Set it to \u0027released\u0027 or some other key, if u want to query specified deployables.","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"975c9654665879181f4eaaf251d824db116ddbb0","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    @expose.expose(DeployableCollection, types.uuid, types.uuid, wtypes.text,"},{"line_number":157,"context_line":"                   wtypes.text, wtypes.text, wtypes.text, wtypes.text,"},{"line_number":158,"context_line":"                   types.boolean)"},{"line_number":159,"context_line":"    def get_all(self, parent_uuid\u003dNone, root_uuid\u003dNone, type\u003dNone, vender\u003dNone,"},{"line_number":160,"context_line":"                host\u003dNone, board\u003dNone, availability\u003dNone, assignable\u003dNone):"},{"line_number":161,"context_line":"        \"\"\"Retrieve a list of deployables.\"\"\""},{"line_number":162,"context_line":"        filters \u003d {}"},{"line_number":163,"context_line":"        for key, val in pecan.request.params.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_9f53ed3a","line":160,"range":{"start_line":159,"start_character":21,"end_line":160,"end_character":72},"in_reply_to":"5f7c97a3_c50d41e8","updated":"2018-07-25 15:50:41.000000000","message":"My suggestion on this is instead of having all of these different input parameters, why not ask the user to provide a list of matching attributes list as a filter? They can put this filter in the rest call body.","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"f9e3542df59a8939220bc31f75049c25dc21e9e7","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def patch(self, uuid, patch):"},{"line_number":172,"context_line":"        \"\"\"Update a deployable."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        Usage: curl -X PATCH {ip}:{port}/v1/accelerators/deployables/"},{"line_number":175,"context_line":"        {deployable_uuid} -d \u0027[{\"path\":\"/instance_uuid\",\"value\":"},{"line_number":176,"context_line":"        {instance_uuid}, \"op\":\"replace\"}]\u0027  -H \"Content-type:"},{"line_number":177,"context_line":"        application/json\""},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        :param uuid: UUID of a deployable."},{"line_number":180,"context_line":"        :param patch: a json PATCH document to apply to this deployable."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a5afe59b","line":177,"range":{"start_line":174,"start_character":8,"end_line":177,"end_character":25},"updated":"2018-07-24 06:55:18.000000000","message":"Though I also use patch to allocate/deallocate deployables in my rush POC.\nBut I did not like this API. \n\nWe had better have a explicit API","commit_id":"10ee9640319ad74c8d71622584013bf1fbb00ff9"}],"cyborg/api/controllers/v1/types.py":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"466cb67194109a90f74379bb639a9da33ea59183","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    name \u003d \u0027filtertype\u0027"},{"line_number":31,"context_line":"    basetype \u003d wtypes.text"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    _supported_fields \u003d [\u0027parent_uuid\u0027, \u0027root_uuid\u0027, \u0027vender\u0027, \u0027host\u0027, \u0027board\u0027,"},{"line_number":34,"context_line":"                         \u0027availability\u0027, \u0027assignable\u0027, \u0027interface_type\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    field \u003d wsme.wsattr(wtypes.text, mandatory\u003dTrue)"},{"line_number":37,"context_line":"    value \u003d wsme.wsattr(wtypes.text, mandatory\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2ff1dede","line":34,"range":{"start_line":33,"start_character":25,"end_line":34,"end_character":71},"updated":"2018-07-31 06:16:20.000000000","message":"should we add instance_uuid here?","commit_id":"1f256f8431ebb1a44a550170bb1affbf17e70730"}]}
