)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"197452ef34eb2726c117052d0c208d13d9b2737d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix AggregateCoreFilter return incorrect value"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"the value of aggregate metadata \u0027cpu_allocation_ratio\u0027 is string,"},{"line_number":10,"context_line":"in \u0027validate_num_values\u0027,it should not directly use min/max to get"},{"line_number":11,"context_line":"values."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_1943f7af","line":9,"updated":"2015-03-13 10:56:29.000000000","message":"the \u003e\u003e The","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"e5072b8954de904f18fba1e4341827976e852abe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix AggregateCoreFilter return incorrect value"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"the value of aggregate metadata \u0027cpu_allocation_ratio\u0027 is string,"},{"line_number":10,"context_line":"in \u0027validate_num_values\u0027,it should not directly use min/max to get"},{"line_number":11,"context_line":"values."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_fed2605a","line":9,"in_reply_to":"9a80dd14_1943f7af","updated":"2015-03-14 02:53:18.000000000","message":"Done","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"197452ef34eb2726c117052d0c208d13d9b2737d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix AggregateCoreFilter return incorrect value"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"the value of aggregate metadata \u0027cpu_allocation_ratio\u0027 is string,"},{"line_number":10,"context_line":"in \u0027validate_num_values\u0027,it should not directly use min/max to get"},{"line_number":11,"context_line":"values."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I486da120939ea3fa139ee81d9ea3fb15373bc606"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_79095383","line":10,"updated":"2015-03-13 10:56:29.000000000","message":"give space after ,","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"e5072b8954de904f18fba1e4341827976e852abe","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix AggregateCoreFilter return incorrect value"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"the value of aggregate metadata \u0027cpu_allocation_ratio\u0027 is string,"},{"line_number":10,"context_line":"in \u0027validate_num_values\u0027,it should not directly use min/max to get"},{"line_number":11,"context_line":"values."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I486da120939ea3fa139ee81d9ea3fb15373bc606"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a80dd14_1ed6544f","line":10,"in_reply_to":"9a80dd14_79095383","updated":"2015-03-14 02:53:18.000000000","message":"agree, thanks for your review","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"}],"nova/scheduler/filters/core_filter.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"197452ef34eb2726c117052d0c208d13d9b2737d","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # TODO(uni): DB query in filter is a performance hit, especially for"},{"line_number":92,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":93,"context_line":"        # all filters with aggregate DB call things."},{"line_number":94,"context_line":"        aggregate_vals \u003d utils.aggregate_values_from_key("},{"line_number":95,"context_line":"            host_state,"},{"line_number":96,"context_line":"            \u0027cpu_allocation_ratio\u0027)"},{"line_number":97,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f9e1c39b","line":94,"updated":"2015-03-13 10:56:29.000000000","message":"aggregate_vals is now unused.\n\nDo you want to rename it to cast_vals?","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"e5072b8954de904f18fba1e4341827976e852abe","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        # TODO(uni): DB query in filter is a performance hit, especially for"},{"line_number":92,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":93,"context_line":"        # all filters with aggregate DB call things."},{"line_number":94,"context_line":"        aggregate_vals \u003d utils.aggregate_values_from_key("},{"line_number":95,"context_line":"            host_state,"},{"line_number":96,"context_line":"            \u0027cpu_allocation_ratio\u0027)"},{"line_number":97,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_dee03c28","line":94,"in_reply_to":"9a80dd14_f9e1c39b","updated":"2015-03-14 02:53:18.000000000","message":"Done","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"197452ef34eb2726c117052d0c208d13d9b2737d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            \u0027cpu_allocation_ratio\u0027)"},{"line_number":97,"context_line":"        try:"},{"line_number":98,"context_line":"            ratio \u003d utils.validate_num_values("},{"line_number":99,"context_line":"                cast_vals, CONF.cpu_allocation_ratio, cast_to\u003dfloat)"},{"line_number":100,"context_line":"        except ValueError as e:"},{"line_number":101,"context_line":"            LOG.warning(_LW(\"Could not decode cpu_allocation_ratio: \u0027%s\u0027\"), e)"},{"line_number":102,"context_line":"            ratio \u003d CONF.cpu_allocation_ratio"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_79ceb32e","line":99,"updated":"2015-03-13 10:56:29.000000000","message":"what is cast_vals? It is not defined any where?","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"e5072b8954de904f18fba1e4341827976e852abe","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            \u0027cpu_allocation_ratio\u0027)"},{"line_number":97,"context_line":"        try:"},{"line_number":98,"context_line":"            ratio \u003d utils.validate_num_values("},{"line_number":99,"context_line":"                cast_vals, CONF.cpu_allocation_ratio, cast_to\u003dfloat)"},{"line_number":100,"context_line":"        except ValueError as e:"},{"line_number":101,"context_line":"            LOG.warning(_LW(\"Could not decode cpu_allocation_ratio: \u0027%s\u0027\"), e)"},{"line_number":102,"context_line":"            ratio \u003d CONF.cpu_allocation_ratio"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_bee54839","line":99,"in_reply_to":"9a80dd14_79ceb32e","updated":"2015-03-14 02:53:18.000000000","message":"sorry, I forget to modify there","commit_id":"574ffaa71b02b39d1bd0e30051764efbbc29366c"}],"nova/scheduler/filters/utils.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"12bd418f7eff0ee366a40b807b29a1998a0b4d5e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \"of which the minimum value will be used.\"),"},{"line_number":67,"context_line":"                 {\u0027num_values\u0027: num_values})"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    return based_on([cast_to(val) for val in vals])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def instance_uuids_overlap(host_state, uuids):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6ced46_e35b252c","line":69,"updated":"2015-03-24 11:30:10.000000000","message":"Makes sense, first you cast every value then return based_on. instead of assuming all value are int, compare and cast.","commit_id":"e3d3f7435cf60fbb469cdd547a3624a2f0a23a55"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"876229eed70c8c83dfd864de77370cca81f7d741","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \"of which the minimum value will be used.\"),"},{"line_number":67,"context_line":"                 {\u0027num_values\u0027: num_values})"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    return based_on([cast_to(val) for val in vals])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def instance_uuids_overlap(host_state, uuids):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6ced46_c1752099","line":69,"in_reply_to":"1a6ced46_23f53dcb","updated":"2015-03-25 02:23:51.000000000","message":"it is more pythonic to use based_on(map(cast_to, vals))","commit_id":"e3d3f7435cf60fbb469cdd547a3624a2f0a23a55"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"8f2330a0680657dd62e3101bd9cee2853987cb98","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \"of which the minimum value will be used.\"),"},{"line_number":67,"context_line":"                 {\u0027num_values\u0027: num_values})"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    return based_on([cast_to(val) for val in vals])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def instance_uuids_overlap(host_state, uuids):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6ced46_5de47fe0","line":69,"in_reply_to":"1a6ced46_26d50bb9","updated":"2015-03-26 00:53:45.000000000","message":"agree, thanks for your review!","commit_id":"e3d3f7435cf60fbb469cdd547a3624a2f0a23a55"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"8f2330a0680657dd62e3101bd9cee2853987cb98","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \"of which the minimum value will be used.\"),"},{"line_number":67,"context_line":"                 {\u0027num_values\u0027: num_values})"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    return based_on([cast_to(val) for val in vals])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def instance_uuids_overlap(host_state, uuids):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6ced46_1dbf67ab","line":69,"in_reply_to":"1a6ced46_c1752099","updated":"2015-03-26 00:53:45.000000000","message":"Done","commit_id":"e3d3f7435cf60fbb469cdd547a3624a2f0a23a55"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"1056b11a9dd203b44722b42f5ec5230f440dadbc","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \"of which the minimum value will be used.\"),"},{"line_number":67,"context_line":"                 {\u0027num_values\u0027: num_values})"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    return based_on([cast_to(val) for val in vals])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def instance_uuids_overlap(host_state, uuids):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6ced46_26d50bb9","line":69,"in_reply_to":"1a6ced46_c1752099","updated":"2015-03-25 16:19:36.000000000","message":"actually it\u0027s probably more pythonic to just lose the list comprehension and make it a generator expression but that is really not that important here.","commit_id":"e3d3f7435cf60fbb469cdd547a3624a2f0a23a55"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"e2111154790e1dd4bcfafc603dcad3a87df59589","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                     \"of which the minimum value will be used.\"),"},{"line_number":67,"context_line":"                 {\u0027num_values\u0027: num_values})"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    return based_on([cast_to(val) for val in vals])"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def instance_uuids_overlap(host_state, uuids):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6ced46_23f53dcb","line":69,"in_reply_to":"1a6ced46_e35b252c","updated":"2015-03-24 11:35:24.000000000","message":"hi sahid, thanks for your review!","commit_id":"e3d3f7435cf60fbb469cdd547a3624a2f0a23a55"}]}
