)]}'
{"osc_placement/resources/resource_class.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"fef246b2cc252d7fa67188e2e6a6a2f1d6c99d3f","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class SetResourceClass(command.Command):"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    \"\"\"Create a new resource class.\"\"\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def get_parser(self, prog_name):"},{"line_number":75,"context_line":"        parser \u003d super(SetResourceClass, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa0c359_66947438","line":72,"range":{"start_line":72,"start_character":7,"end_line":72,"end_character":35},"updated":"2018-02-06 15:19:49.000000000","message":"This is the exact same explanation as for \u0027resource class create\u0027. Adding a few words about how it differs would be helpful. For example: \"Ceate a new resource class, but unlike create also succeed if the resource class existed already.\"","commit_id":"b5cce110cdd51ea5dbbb1a7fb8f6947f4d543923"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"987c6f88e8ce8d276e79fd6274c92babc72196f4","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class SetResourceClass(command.Command):"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    \"\"\"Create a new resource class.\"\"\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def get_parser(self, prog_name):"},{"line_number":75,"context_line":"        parser \u003d super(SetResourceClass, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa0c359_4d811b8f","line":72,"range":{"start_line":72,"start_character":7,"end_line":72,"end_character":35},"in_reply_to":"3fa0c359_66947438","updated":"2018-02-08 12:05:38.000000000","message":"Done","commit_id":"b5cce110cdd51ea5dbbb1a7fb8f6947f4d543923"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"bc86128f444933095ada02a71abdc98b1029a7d1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    Unlike \"resource class create\""},{"line_number":75,"context_line":"    also succeed if the resource class existed already."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    This command requires at least --os-placement-api-version 1.7."},{"line_number":78,"context_line":"    \"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":22,"id":"5f7c97a3_241a4e16","line":77,"range":{"start_line":77,"start_character":35,"end_line":77,"end_character":65},"updated":"2018-05-15 03:00:24.000000000","message":"``--os-placement-api-version 1.7``","commit_id":"43356c620ffedc9c610f8b4c0c1210d8d4c84240"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"20fc30040d678da66db9eae1025d54bc2a3a42ff","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class SetResourceClass(command.Command):"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    \"\"\"Create a new resource class."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    Unlike \"resource class create\""},{"line_number":75,"context_line":"    also succeed if the resource class existed already."}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_e9395dd8","line":72,"range":{"start_line":72,"start_character":7,"end_line":72,"end_character":35},"updated":"2018-05-16 21:31:34.000000000","message":"Create or validate the existence of single resource class.\n\n^ matches the API reference.","commit_id":"232554450f9a60b372d09b941273d5d90991c3d5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3b3f8599f110e87590c910e6d558fb8bb6ece96","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class SetResourceClass(command.Command):"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    \"\"\"Create a new resource class."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    Unlike \"resource class create\""},{"line_number":75,"context_line":"    also succeed if the resource class existed already."}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_a96125d6","line":72,"range":{"start_line":72,"start_character":7,"end_line":72,"end_character":35},"in_reply_to":"5f7c97a3_e9395dd8","updated":"2018-05-16 21:40:00.000000000","message":"Done","commit_id":"232554450f9a60b372d09b941273d5d90991c3d5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"20fc30040d678da66db9eae1025d54bc2a3a42ff","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    Unlike \"resource class create\""},{"line_number":75,"context_line":"    also succeed if the resource class existed already."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    This command requires at least --os-placement-api-version 1.7."},{"line_number":78,"context_line":"    \"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_6926adbd","line":77,"range":{"start_line":77,"start_character":35,"end_line":77,"end_character":65},"updated":"2018-05-16 21:31:34.000000000","message":"``--os-placement-api-version 1.7``","commit_id":"232554450f9a60b372d09b941273d5d90991c3d5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3b3f8599f110e87590c910e6d558fb8bb6ece96","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    Unlike \"resource class create\""},{"line_number":75,"context_line":"    also succeed if the resource class existed already."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    This command requires at least --os-placement-api-version 1.7."},{"line_number":78,"context_line":"    \"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_c95ee111","line":77,"range":{"start_line":77,"start_character":35,"end_line":77,"end_character":65},"in_reply_to":"5f7c97a3_6926adbd","updated":"2018-05-16 21:40:00.000000000","message":"Done","commit_id":"232554450f9a60b372d09b941273d5d90991c3d5"}],"osc_placement/tests/functional/test_resource_class.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"331701c15bc9be2f6964e94e29db82d64704416b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        names \u003d [rc[\u0027name\u0027] for rc in rcs]"},{"line_number":74,"context_line":"        self.assertIn(CUSTOM_RC, names)"},{"line_number":75,"context_line":"        self.assertIn(CUSTOM_RC + \u00271\u0027, names)"},{"line_number":76,"context_line":"        self.resource_class_delete(CUSTOM_RC)"},{"line_number":77,"context_line":"        self.resource_class_delete(CUSTOM_RC + \u00271\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"df7087c5_8a12d708","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":51},"updated":"2018-03-09 09:59:30.000000000","message":"nit: addCleanup (up front) is slightly better, because it cleans up even when the test fails.","commit_id":"3cb0ec1779d56cd9a7741be8e0cca54084cd1e92"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6b785c63c3820f731942627cd261d828306860f9","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_set_resource_class(self):"},{"line_number":69,"context_line":"        self.resource_class_create(CUSTOM_RC)"},{"line_number":70,"context_line":"        self.resource_class_set(CUSTOM_RC)"},{"line_number":71,"context_line":"        self.resource_class_set(CUSTOM_RC + \u00271\u0027)"},{"line_number":72,"context_line":"        rcs \u003d self.resource_class_list()"},{"line_number":73,"context_line":"        names \u003d [rc[\u0027name\u0027] for rc in rcs]"}],"source_content_type":"text/x-python","patch_set":14,"id":"bf659307_f2e6c1e8","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":42},"updated":"2018-04-10 09:33:46.000000000","message":"Just a note for myself(and maybe is useful for some other reviewers).\n\n* resource_class_set will call self.openstack(.., may_fail\u003dFalse), will raise a error when call exception happened.\n\n* resource_class_create will call self.openstack(.., may_fail\u003dTrue), will NOT raise a error when call exception happened.","commit_id":"e67d81ce9a99b96339967b004edf9bd8fbfa16b5"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f1d2c767d083d804051ad566caa0c591d1b6c082","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_set_resource_class(self):"},{"line_number":69,"context_line":"        self.resource_class_create(CUSTOM_RC)"},{"line_number":70,"context_line":"        self.resource_class_set(CUSTOM_RC)"},{"line_number":71,"context_line":"        self.resource_class_set(CUSTOM_RC + \u00271\u0027)"},{"line_number":72,"context_line":"        rcs \u003d self.resource_class_list()"},{"line_number":73,"context_line":"        names \u003d [rc[\u0027name\u0027] for rc in rcs]"}],"source_content_type":"text/x-python","patch_set":14,"id":"bf659307_f4c76d11","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":42},"in_reply_to":"bf659307_39e1609c","updated":"2018-04-11 10:17:41.000000000","message":"OK","commit_id":"e67d81ce9a99b96339967b004edf9bd8fbfa16b5"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"5d33f0cbb676d38f9d3fe71fb4c6df091e96f684","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_set_resource_class(self):"},{"line_number":69,"context_line":"        self.resource_class_create(CUSTOM_RC)"},{"line_number":70,"context_line":"        self.resource_class_set(CUSTOM_RC)"},{"line_number":71,"context_line":"        self.resource_class_set(CUSTOM_RC + \u00271\u0027)"},{"line_number":72,"context_line":"        rcs \u003d self.resource_class_list()"},{"line_number":73,"context_line":"        names \u003d [rc[\u0027name\u0027] for rc in rcs]"}],"source_content_type":"text/x-python","patch_set":14,"id":"bf659307_39e1609c","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":42},"in_reply_to":"bf659307_d2fe1d37","updated":"2018-04-11 09:42:24.000000000","message":"I thing code merely doesn\u0027t throw any errors is okay here.\nresource_class_create is tested before.","commit_id":"e67d81ce9a99b96339967b004edf9bd8fbfa16b5"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6eff7c72c0b081f2ffb08162ee04a8f49bdb5464","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_set_resource_class(self):"},{"line_number":69,"context_line":"        self.resource_class_create(CUSTOM_RC)"},{"line_number":70,"context_line":"        self.resource_class_set(CUSTOM_RC)"},{"line_number":71,"context_line":"        self.resource_class_set(CUSTOM_RC + \u00271\u0027)"},{"line_number":72,"context_line":"        rcs \u003d self.resource_class_list()"},{"line_number":73,"context_line":"        names \u003d [rc[\u0027name\u0027] for rc in rcs]"}],"source_content_type":"text/x-python","patch_set":14,"id":"bf659307_d2fe1d37","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":42},"in_reply_to":"bf659307_f2e6c1e8","updated":"2018-04-10 09:40:08.000000000","message":"After consideration, a question raise from my head based on last comment. Should we insert a check between 69-70 to ensure this class already created?","commit_id":"e67d81ce9a99b96339967b004edf9bd8fbfa16b5"}]}
