)]}'
{"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"08b99592361f357b176aa270c8c12075204975e0","unresolved":false,"context_lines":[{"line_number":863,"context_line":"                   types.boolean, wtypes.text, types.uuid, int, wtypes.text,"},{"line_number":864,"context_line":"                   wtypes.text, types.listtype)"},{"line_number":865,"context_line":"    def get_all(self, chassis_uuid\u003dNone, instance_uuid\u003dNone, associated\u003dNone,"},{"line_number":866,"context_line":"                maintenance\u003dNone, provision_state\u003dNone, marker\u003dNone,"},{"line_number":867,"context_line":"                limit\u003dNone, sort_key\u003d\u0027id\u0027, sort_dir\u003d\u0027asc\u0027, fields\u003dNone):"},{"line_number":868,"context_line":"        \"\"\"Retrieve a list of nodes."},{"line_number":869,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_9d0e2933","line":866,"updated":"2015-06-30 02:14:05.000000000","message":"Can we add a check for bad provision states.  We can get the list of states from \n\n  from ironic.common import states\n  machine \u003d states.machine\n  good_states \u003d machine.states\n\nIt should raise a 400 bad request in this case.","commit_id":"db2e0d104be5bb2f874f4522af4407bd792bf970"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"81535cab30519444ce007b1c366dcf6511f4cd27","unresolved":false,"context_lines":[{"line_number":863,"context_line":"                   types.boolean, wtypes.text, types.uuid, int, wtypes.text,"},{"line_number":864,"context_line":"                   wtypes.text, types.listtype)"},{"line_number":865,"context_line":"    def get_all(self, chassis_uuid\u003dNone, instance_uuid\u003dNone, associated\u003dNone,"},{"line_number":866,"context_line":"                maintenance\u003dNone, provision_state\u003dNone, marker\u003dNone,"},{"line_number":867,"context_line":"                limit\u003dNone, sort_key\u003d\u0027id\u0027, sort_dir\u003d\u0027asc\u0027, fields\u003dNone):"},{"line_number":868,"context_line":"        \"\"\"Retrieve a list of nodes."},{"line_number":869,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_9f185686","line":866,"in_reply_to":"ba3cc151_9d0e2933","updated":"2015-06-30 08:34:35.000000000","message":"sure, thanks Ramakrishnan.","commit_id":"db2e0d104be5bb2f874f4522af4407bd792bf970"}],"ironic/api/controllers/v1/utils.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"08b99592361f357b176aa270c8c12075204975e0","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    Version 1.9 of the API allows filter nodes by provision state."},{"line_number":177,"context_line":"    \"\"\""},{"line_number":178,"context_line":"    if provision_state is not None and pecan.request.version.minor \u003c 9:"},{"line_number":179,"context_line":"        raise exception.NotAcceptable()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_823b28eb","line":178,"updated":"2015-06-30 02:14:05.000000000","message":"If provision_state is None, it should be a 400 Bad request rather than 406 not acceptable.","commit_id":"db2e0d104be5bb2f874f4522af4407bd792bf970"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"81535cab30519444ce007b1c366dcf6511f4cd27","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    Version 1.9 of the API allows filter nodes by provision state."},{"line_number":177,"context_line":"    \"\"\""},{"line_number":178,"context_line":"    if provision_state is not None and pecan.request.version.minor \u003c 9:"},{"line_number":179,"context_line":"        raise exception.NotAcceptable()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_3f5caa4a","line":178,"in_reply_to":"ba3cc151_823b28eb","updated":"2015-06-30 08:34:35.000000000","message":"provision_state is default to None, not a 400 Bad request or 406 not acceptable.","commit_id":"db2e0d104be5bb2f874f4522af4407bd792bf970"}],"ironic/tests/api/v1/test_nodes.py":[{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"08b99592361f357b176aa270c8c12075204975e0","unresolved":false,"context_lines":[{"line_number":616,"context_line":"        uuids \u003d [n[\u0027uuid\u0027] for n in data[\u0027nodes\u0027]]"},{"line_number":617,"context_line":"        self.assertIn(node.uuid, uuids)"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"    def test_get_nodes_by_provision_state(self):"},{"line_number":620,"context_line":"        node \u003d obj_utils.create_test_node(self.context,"},{"line_number":621,"context_line":"                                          uuid\u003duuidutils.generate_uuid(),"},{"line_number":622,"context_line":"                                          provision_state\u003dstates.AVAILABLE)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_9d25c9ac","line":619,"updated":"2015-06-30 02:14:05.000000000","message":"We might need to add more tests for 406 and 400 cases as well.","commit_id":"db2e0d104be5bb2f874f4522af4407bd792bf970"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"81535cab30519444ce007b1c366dcf6511f4cd27","unresolved":false,"context_lines":[{"line_number":616,"context_line":"        uuids \u003d [n[\u0027uuid\u0027] for n in data[\u0027nodes\u0027]]"},{"line_number":617,"context_line":"        self.assertIn(node.uuid, uuids)"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"    def test_get_nodes_by_provision_state(self):"},{"line_number":620,"context_line":"        node \u003d obj_utils.create_test_node(self.context,"},{"line_number":621,"context_line":"                                          uuid\u003duuidutils.generate_uuid(),"},{"line_number":622,"context_line":"                                          provision_state\u003dstates.AVAILABLE)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_7fbb1273","line":619,"in_reply_to":"ba3cc151_9d25c9ac","updated":"2015-06-30 08:34:35.000000000","message":"Done","commit_id":"db2e0d104be5bb2f874f4522af4407bd792bf970"}]}
