)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dbafcd75d7fb4f0e32ef9b8211a87eb9c3cbb32f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Phil Day \u003cphilip.day@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-06-19 21:44:00 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow filters to onlyu run once per request if their data is static"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently the filter_all() methond of each scheduler filter is run"},{"line_number":10,"context_line":"once for each instance in a request, but for many filters the data"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F2Mk%3D","line":7,"updated":"2013-06-19 21:42:59.000000000","message":"\"only\" misspelled.","commit_id":"e7d2ec320cd3248d2f05941b69a174ca804178c7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dbafcd75d7fb4f0e32ef9b8211a87eb9c3cbb32f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow filters to onlyu run once per request if their data is static"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently the filter_all() methond of each scheduler filter is run"},{"line_number":10,"context_line":"once for each instance in a request, but for many filters the data"},{"line_number":11,"context_line":"doesn\u0027t change during a request."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F2Mc%3D","line":9,"updated":"2013-06-19 21:42:59.000000000","message":"\"method\" misspelled.","commit_id":"e7d2ec320cd3248d2f05941b69a174ca804178c7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dbafcd75d7fb4f0e32ef9b8211a87eb9c3cbb32f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"once for each instance in a request, but for many filters the data"},{"line_number":11,"context_line":"doesn\u0027t change during a request."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"For example the data used by the AZ filter is pretty static, and not"},{"line_number":14,"context_line":"filter any more hosts on sucessive runs.  However it is fairly"},{"line_number":15,"context_line":"expensive to run on a large system."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F2MQ%3D","line":13,"updated":"2013-06-19 21:42:59.000000000","message":"s/not/does not/  ?","commit_id":"e7d2ec320cd3248d2f05941b69a174ca804178c7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dbafcd75d7fb4f0e32ef9b8211a87eb9c3cbb32f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"evaluated more than once per request."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Only filters that are based on data that may change within a"},{"line_number":22,"context_line":"request, for example resource consumption, need to be evaluated"},{"line_number":23,"context_line":"for each instance."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This blueprint introduces a new attribute that allows filters to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F2ME%3D","line":22,"updated":"2013-06-19 21:42:59.000000000","message":"s/need/needs/?","commit_id":"e7d2ec320cd3248d2f05941b69a174ca804178c7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dbafcd75d7fb4f0e32ef9b8211a87eb9c3cbb32f","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This blueprint introduces a new attribute that allows filters to"},{"line_number":26,"context_line":"declare that they only need to be run once per request. The default"},{"line_number":27,"context_line":"behaviour is left as  a filter beinging evaluated for each"},{"line_number":28,"context_line":"instance in a request."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"The following existing filters are changed to only evaluate once"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPn%2F%2F2Ls%3D","line":27,"updated":"2013-06-19 21:42:59.000000000","message":"beginning? if so, \"to be\" is probably needed as well.","commit_id":"e7d2ec320cd3248d2f05941b69a174ca804178c7"}],"nova/filters.py":[{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"a77fa567e2e40619cbfd1adaea7c34acf0831d98","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                                               filter_properties)"},{"line_number":77,"context_line":"                if objs is None:"},{"line_number":78,"context_line":"                    LOG.debug(\"Filter %(cls_name)s says to stop filtering\","},{"line_number":79,"context_line":"                          {\u0027cls_name\u0027: cls_name})"},{"line_number":80,"context_line":"                    return"},{"line_number":81,"context_line":"                list_objs \u003d list(objs)"},{"line_number":82,"context_line":"                LOG.debug(\"Filter %(cls_name)s returned %(obj_len)d host(s)\","}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FRH8%3D","line":79,"updated":"2013-07-05 16:31:23.000000000","message":"can you add internationalization (i18n) of the string?","commit_id":"5ba6a20af622535a288a539ad069b3066def2afd"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"c7cb3becab91779fcfb1a95b22afbed0f8646e28","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                                               filter_properties)"},{"line_number":77,"context_line":"                if objs is None:"},{"line_number":78,"context_line":"                    LOG.debug(\"Filter %(cls_name)s says to stop filtering\","},{"line_number":79,"context_line":"                          {\u0027cls_name\u0027: cls_name})"},{"line_number":80,"context_line":"                    return"},{"line_number":81,"context_line":"                list_objs \u003d list(objs)"},{"line_number":82,"context_line":"                LOG.debug(\"Filter %(cls_name)s returned %(obj_len)d host(s)\","}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FQ7U%3D","line":79,"in_reply_to":"AAAAPn%2F%2FQ90%3D","updated":"2013-07-05 17:42:30.000000000","message":"Done","commit_id":"5ba6a20af622535a288a539ad069b3066def2afd"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"4a577c9e60976a6740c51ea3a8fed1625a016840","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                                               filter_properties)"},{"line_number":77,"context_line":"                if objs is None:"},{"line_number":78,"context_line":"                    LOG.debug(\"Filter %(cls_name)s says to stop filtering\","},{"line_number":79,"context_line":"                          {\u0027cls_name\u0027: cls_name})"},{"line_number":80,"context_line":"                    return"},{"line_number":81,"context_line":"                list_objs \u003d list(objs)"},{"line_number":82,"context_line":"                LOG.debug(\"Filter %(cls_name)s returned %(obj_len)d host(s)\","}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FQ90%3D","line":79,"in_reply_to":"AAAAPn%2F%2FRH8%3D","updated":"2013-07-05 17:36:30.000000000","message":"These are debug messages - not error strings sent to a user.  I don\u0027t see anywhere else where these are internationalized.\n(and they are in the original code, not this change)","commit_id":"5ba6a20af622535a288a539ad069b3066def2afd"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"a77fa567e2e40619cbfd1adaea7c34acf0831d98","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    return"},{"line_number":81,"context_line":"                list_objs \u003d list(objs)"},{"line_number":82,"context_line":"                LOG.debug(\"Filter %(cls_name)s returned %(obj_len)d host(s)\","},{"line_number":83,"context_line":"                          {\u0027cls_name\u0027: cls_name, \u0027obj_len\u0027: len(list_objs)})"},{"line_number":84,"context_line":"                if len(list_objs) \u003d\u003d 0:"},{"line_number":85,"context_line":"                    break"},{"line_number":86,"context_line":"        return list_objs"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FRH0%3D","line":83,"updated":"2013-07-05 16:31:23.000000000","message":"same here","commit_id":"5ba6a20af622535a288a539ad069b3066def2afd"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"4a577c9e60976a6740c51ea3a8fed1625a016840","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    return"},{"line_number":81,"context_line":"                list_objs \u003d list(objs)"},{"line_number":82,"context_line":"                LOG.debug(\"Filter %(cls_name)s returned %(obj_len)d host(s)\","},{"line_number":83,"context_line":"                          {\u0027cls_name\u0027: cls_name, \u0027obj_len\u0027: len(list_objs)})"},{"line_number":84,"context_line":"                if len(list_objs) \u003d\u003d 0:"},{"line_number":85,"context_line":"                    break"},{"line_number":86,"context_line":"        return list_objs"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FQ9s%3D","line":83,"in_reply_to":"AAAAPn%2F%2FRH0%3D","updated":"2013-07-05 17:36:30.000000000","message":"As above","commit_id":"5ba6a20af622535a288a539ad069b3066def2afd"}],"nova/scheduler/filters/aggregate_multitenancy_isolation.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"958ef712e5e0e68e5fca7f3bdc8d59a2f99114ff","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class AggregateMultiTenancyIsolation(filters.BaseHostFilter):"},{"line_number":24,"context_line":"    \"\"\"Isolate tenants in specific aggregates.\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"   # Aggreagte data and tenant do not change within a request"},{"line_number":27,"context_line":"    run_filter_once_per_request \u003d True"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def host_passes(self, host_state, filter_properties):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAP3%2F%2F5uk%3D","line":26,"updated":"2013-07-09 14:44:13.000000000","message":"typo: aggreagte","commit_id":"4a03071db23196c4ac1ec0d8ea163c46887d3b08"}],"nova/scheduler/filters/all_hosts_filter.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"958ef712e5e0e68e5fca7f3bdc8d59a2f99114ff","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    \"\"\"NOOP host filter. Returns all hosts.\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    # list of hosts doesn\u0027t change within a request"},{"line_number":24,"context_line":"    run_filter_once_per_request \u003d True"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def host_passes(self, host_state, filter_properties):"},{"line_number":27,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAP3%2F%2F5uQ%3D","line":24,"updated":"2013-07-09 14:44:13.000000000","message":"haha technically true.","commit_id":"4a03071db23196c4ac1ec0d8ea163c46887d3b08"}],"nova/scheduler/filters/isolated_hosts_filter.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"fe4b138cd0f33d69f7de4a398bdd5f94bda0230f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"class IsolatedHostsFilter(filters.BaseHostFilter):"},{"line_number":33,"context_line":"    \"\"\"Keep specified images to selected hosts.\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"   # The configurtaion values do not change within a request"},{"line_number":36,"context_line":"    run_filter_once_per_request \u003d True"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def host_passes(self, host_state, filter_properties):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAP3%2F%2Fm4A%3D","line":35,"updated":"2013-07-15 21:55:03.000000000","message":"s/configurtaion/configuration/ (femtonit)","commit_id":"4a03071db23196c4ac1ec0d8ea163c46887d3b08"}],"nova/tests/scheduler/test_filters.py":[{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"a55e9903fcb7840ffb3aa38f230b1700350c7830","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        \"\"\""},{"line_number":135,"context_line":"        filter_objs_initial \u003d [\u0027initial\u0027, \u0027filter1\u0027, \u0027objects1\u0027]"},{"line_number":136,"context_line":"        filter_objs_second \u003d [\u0027second\u0027, \u0027filter2\u0027, \u0027objects2\u0027]"},{"line_number":137,"context_line":"        filter_objs_last \u003d [\u0027last\u0027, \u0027filter3\u0027, \u0027objects3\u0027]"},{"line_number":138,"context_line":"        filter_properties \u003d \u0027fake_filter_properties\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        def _fake_base_loader_init(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2F%2BfA%3D","line":137,"updated":"2013-07-08 08:35:20.000000000","message":"\u0027filter_objs_last\u0027 list is not used in this method, is that correct?","commit_id":"e1d99538d5f2cacd44ddd1583b15bcc647916402"}]}
