)]}'
{"osc_placement/resources/resource_class.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2cebdcec8aec55ba61eca8c0db5ed114028cc6ce","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ListResourceClass(command.Lister):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    \"\"\"Return a list of all resource classes.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def get_parser(self, prog_name):"},{"line_number":29,"context_line":"        parser \u003d super(ListResourceClass, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_a047f4bc","line":26,"updated":"2018-01-24 16:19:21.000000000","message":"This needs to say something like:\n\n  This command requires at least --os-placement-api-version 1.2.","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef06ff561ee78e9c0c664fcd44cc41019d115ed5","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        resource_classes \u003d http.request("},{"line_number":38,"context_line":"            \u0027GET\u0027, BASE_URL).json()[\u0027resource_classes\u0027]"},{"line_number":39,"context_line":"        rows \u003d (utils.get_dict_properties(i, FIELDS) for i in resource_classes)"},{"line_number":40,"context_line":"        return FIELDS, rows"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_e0541c57","line":39,"updated":"2018-01-24 16:24:43.000000000","message":"Should we sort the results?\n\nstack@queens:~/osc-placement$ openstack resource class list\n+-------------------+\n| name              |\n+-------------------+\n| VCPU              |\n| MEMORY_MB         |\n| DISK_GB           |\n| PCI_DEVICE        |\n| SRIOV_NET_VF      |\n| NUMA_SOCKET       |\n| NUMA_CORE         |\n| NUMA_THREAD       |\n| NUMA_MEMORY_MB    |\n| IPV4_ADDRESS      |\n| VGPU              |\n| VGPU_DISPLAY_HEAD |\n+-------------------+","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"96847c25ead06afe79da65a39e41545c86fb8085","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        resource_classes \u003d http.request("},{"line_number":38,"context_line":"            \u0027GET\u0027, BASE_URL).json()[\u0027resource_classes\u0027]"},{"line_number":39,"context_line":"        rows \u003d (utils.get_dict_properties(i, FIELDS) for i in resource_classes)"},{"line_number":40,"context_line":"        return FIELDS, rows"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_c35faa0c","line":39,"in_reply_to":"5f93b717_e0541c57","updated":"2018-01-24 16:34:58.000000000","message":"Nevermind you can do it via the CLI:\n\nstack@queens:~/osc-placement$ openstack resource class list --sort-column name\n+-------------------+\n| name              |\n+-------------------+\n| DISK_GB           |\n| IPV4_ADDRESS      |\n| MEMORY_MB         |\n| NUMA_CORE         |\n| NUMA_MEMORY_MB    |\n| NUMA_SOCKET       |\n| NUMA_THREAD       |\n| PCI_DEVICE        |\n| SRIOV_NET_VF      |\n| VCPU              |\n| VGPU              |\n| VGPU_DISPLAY_HEAD |\n+-------------------+","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2cebdcec8aec55ba61eca8c0db5ed114028cc6ce","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class CreateResourceClass(command.Command):"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    \"\"\"Create a new resource class.\"\"\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_parser(self, prog_name):"},{"line_number":48,"context_line":"        parser \u003d super(CreateResourceClass, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_0024a80c","line":45,"updated":"2018-01-24 16:19:21.000000000","message":"This needs to say something like:\n\n  This command requires at least --os-placement-api-version 1.2.","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef06ff561ee78e9c0c664fcd44cc41019d115ed5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        http.request(\u0027POST\u0027, BASE_URL, json\u003d{\u0027name\u0027: parsed_args.name})"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class ShowResourceClass(command.ShowOne):"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    \"\"\"Return a representation of the resource class identified by {name}.\"\"\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_20e9a47f","line":64,"updated":"2018-01-24 16:24:43.000000000","message":"This is a bit silly but OK:\n\nstack@queens:~/osc-placement$ openstack resource class show VCPU\n+-------+-------+\n| Field | Value |\n+-------+-------+\n| name  | VCPU  |\n+-------+-------+","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2cebdcec8aec55ba61eca8c0db5ed114028cc6ce","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class ShowResourceClass(command.ShowOne):"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    \"\"\"Return a representation of the resource class identified by {name}.\"\"\""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def get_parser(self, prog_name):"},{"line_number":69,"context_line":"        parser \u003d super(ShowResourceClass, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_408710d9","line":66,"updated":"2018-01-24 16:19:21.000000000","message":"This needs to say something like:\n\n  This command requires at least --os-placement-api-version 1.2.","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef06ff561ee78e9c0c664fcd44cc41019d115ed5","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        return FIELDS, utils.get_dict_properties(resource, FIELDS)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"class DeleteResourceClass(command.Command):"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    \"\"\"Delete the resource class identified by {name}.\"\"\""},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_40a39050","line":89,"updated":"2018-01-24 16:24:43.000000000","message":"We could maybe point out in the help text that only CUSTOM* resource classes can be deleted:\n\nstack@queens:~/osc-placement$ openstack resource class delete FOO\nNo such resource class FOO. (HTTP 404)\nstack@queens:~/osc-placement$ openstack resource class delete VCPU\nError in delete resource class: Cannot delete standard resource class VCPU. (HTTP 400)\nstack@queens:~/osc-placement$ openstack resource class delete CUSTOM_BAREMETAL\nstack@queens:~/osc-placement$","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2cebdcec8aec55ba61eca8c0db5ed114028cc6ce","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"class DeleteResourceClass(command.Command):"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    \"\"\"Delete the resource class identified by {name}.\"\"\""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def get_parser(self, prog_name):"},{"line_number":94,"context_line":"        parser \u003d super(DeleteResourceClass, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_208204ca","line":91,"updated":"2018-01-24 16:19:21.000000000","message":"This needs to say something like:\n\n  This command requires at least --os-placement-api-version 1.2.","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"}],"osc_placement/tests/functional/test_resource_class.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9401be752f77503900acea141836e5f16243d99a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                                 self.resource_class_create, \u0027CUSTOM_lower\u0027)"},{"line_number":31,"context_line":"        self.assertCommandFailed(\u0027JSON does not validate\u0027,"},{"line_number":32,"context_line":"                                 self.resource_class_create,"},{"line_number":33,"context_line":"                                 \u0027CUSTOM_GPU.INTEL\u0027)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_create(self):"},{"line_number":36,"context_line":"        self.resource_class_create(\u0027CUSTOM_GPU_DEVICE\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f96bb07_b8424667","line":33,"range":{"start_line":33,"start_character":45,"end_line":33,"end_character":50},"updated":"2018-01-24 14:19:52.000000000","message":"heh","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef06ff561ee78e9c0c664fcd44cc41019d115ed5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        rc \u003d self.resource_class_show(\u0027VCPU\u0027)"},{"line_number":48,"context_line":"        self.assertEqual(\u0027VCPU\u0027, rc[\u0027name\u0027])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_fail_delete_unknow_class(self):"},{"line_number":51,"context_line":"        self.assertCommandFailed(\u0027No such resource class\u0027,"},{"line_number":52,"context_line":"                                 self.resource_class_delete, \u0027UNKNOWN\u0027)"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f93b717_20b76489","line":50,"range":{"start_line":50,"start_character":25,"end_line":50,"end_character":32},"updated":"2018-01-24 16:24:43.000000000","message":"unknown","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"}],"setup.cfg":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9401be752f77503900acea141836e5f16243d99a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    resource_class_list \u003d osc_placement.resources.resource_class:ListResourceClass"},{"line_number":47,"context_line":"    resource_class_create \u003d osc_placement.resources.resource_class:CreateResourceClass"},{"line_number":48,"context_line":"    resource_class_show \u003d osc_placement.resources.resource_class:ShowResourceClass"},{"line_number":49,"context_line":"    resource_class_delete \u003d osc_placement.resources.resource_class:DeleteResourceClass"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"[build_sphinx]"},{"line_number":52,"context_line":"source-dir \u003d doc/source"}],"source_content_type":"text/x-ttcn-cfg","patch_set":9,"id":"7f96bb07_9822eab8","line":49,"updated":"2018-01-24 14:19:52.000000000","message":"\\o/","commit_id":"3428b70027bb55cc707db364a5ab019e967c44d9"}]}
