)]}'
{"nova/scheduler/conf.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"ae87c0ceddc3644d4f478ba64562625f4ab691d0","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            try:"},{"line_number":70,"context_line":"                return set([CONF[key]])"},{"line_number":71,"context_line":"            except Exception as ex:"},{"line_number":72,"context_line":"                LOG.info(_(\"key: %s doesn\u0027t exists in CONF\"), key)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        return aggregate_vals"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FKpA%3D","line":72,"updated":"2014-01-16 19:54:20.000000000","message":"s/exists/exist/","commit_id":"cc3fb4ab147009bf8f2fe623ce1be68c6c9ab96b"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"8b741d49387eb110176f7dc670073b9185e23b6d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            try:"},{"line_number":70,"context_line":"                return set([CONF[key]])"},{"line_number":71,"context_line":"            except Exception as ex:"},{"line_number":72,"context_line":"                LOG.info(_(\"key: %s doesn\u0027t exists in CONF\"), key)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        return aggregate_vals"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2B%2BFM%3D","line":72,"in_reply_to":"AAAAUH%2F%2FKpA%3D","updated":"2014-01-20 09:12:35.000000000","message":"Done","commit_id":"cc3fb4ab147009bf8f2fe623ce1be68c6c9ab96b"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            filter_properties \u003d {}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        conf \u003d filter_properties.get(\u0027conf_overrides\u0027, CONF)"},{"line_number":48,"context_line":"        return conf.get(key, CONF[key])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class AggregateOverrideConf(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BwEY%3D","line":48,"updated":"2014-01-22 17:11:04.000000000","message":"If key is not in CONF \u003d\u003d\u003e Raise Exception !","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            filter_properties \u003d {}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        conf \u003d filter_properties.get(\u0027conf_overrides\u0027, CONF)"},{"line_number":48,"context_line":"        return conf.get(key, CONF[key])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class AggregateOverrideConf(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcM4%3D","line":48,"in_reply_to":"AAAAUH%2F%2BwEY%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"e677de0ad73bf3d40080c750857258e45e259cc6","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            return conf.get(key, CONF[key])"},{"line_number":50,"context_line":"        except Exception as ex:"},{"line_number":51,"context_line":"            LOG.info(_(\"key: %s doesn\u0027t exist in CONF\"), key)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class AggregateOverrideConf(object):"},{"line_number":55,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2BYvU%3D","line":52,"updated":"2014-01-27 13:49:32.000000000","message":"Has to return something, e.g. empty list like AggregateOverrideConf","commit_id":"4abc83238939e3f2fa50a6d92a64a9e159b52b4c"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4b160e6b15a446c336edeaef4727c7a0850a6883","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from nova import db"},{"line_number":21,"context_line":"from nova.openstack.common.gettextutils import _"},{"line_number":22,"context_line":"from nova.openstack.common import log as logging"},{"line_number":23,"context_line":"from oslo.config import cfg"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9nQA%3D","line":23,"updated":"2014-02-05 17:05:07.000000000","message":"oslo is 3rd party lib\n\nfrom oslo.config import cfg\n\nfrom nova import db\nfrom nova.openstack.common.gettextutils import _\nfrom nova.openstack.common import log as logging","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"29c54ca49ff0f2c109148552a4f37bad1ee11e9e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from nova import db"},{"line_number":21,"context_line":"from nova.openstack.common.gettextutils import _"},{"line_number":22,"context_line":"from nova.openstack.common import log as logging"},{"line_number":23,"context_line":"from oslo.config import cfg"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2Fx0Q%3D","line":23,"in_reply_to":"AAAAUH%2F9nQA%3D","updated":"2014-02-10 21:25:38.000000000","message":"Done","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4b160e6b15a446c336edeaef4727c7a0850a6883","unresolved":false,"context_lines":[{"line_number":29,"context_line":"class BaseConf(object):"},{"line_number":30,"context_line":"    \"\"\"Retrieve config options from the global CONF.\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_config(self, key, filter_properties\u003dNone, host\u003dNone):"},{"line_number":33,"context_line":"        return CONF[key]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9nOM%3D","line":32,"updated":"2014-02-05 17:05:07.000000000","message":"What is the use of filter_properties and host?","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"29c54ca49ff0f2c109148552a4f37bad1ee11e9e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"class BaseConf(object):"},{"line_number":30,"context_line":"    \"\"\"Retrieve config options from the global CONF.\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_config(self, key, filter_properties\u003dNone, host\u003dNone):"},{"line_number":33,"context_line":"        return CONF[key]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2Fx0I%3D","line":32,"in_reply_to":"AAAAUH%2F9nOM%3D","updated":"2014-02-10 21:25:38.000000000","message":"Done","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4b160e6b15a446c336edeaef4727c7a0850a6883","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    set in filter_properties."},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def get_config(self, key, filter_properties, host\u003dNone):"},{"line_number":44,"context_line":"        if not filter_properties:"},{"line_number":45,"context_line":"            filter_properties \u003d {}"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9nOc%3D","line":43,"updated":"2014-02-05 17:05:07.000000000","message":"filter_properties was not updated in this function, so what about using keyword as filter_properties\u003d{}","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"29c54ca49ff0f2c109148552a4f37bad1ee11e9e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    set in filter_properties."},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def get_config(self, key, filter_properties, host\u003dNone):"},{"line_number":44,"context_line":"        if not filter_properties:"},{"line_number":45,"context_line":"            filter_properties \u003d {}"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2Fx0A%3D","line":43,"in_reply_to":"AAAAUH%2F9nOc%3D","updated":"2014-02-10 21:25:38.000000000","message":"Done","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4b160e6b15a446c336edeaef4727c7a0850a6883","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def get_config(self, key, filter_properties, host):"},{"line_number":59,"context_line":"        context \u003d filter_properties[\u0027context\u0027].elevated()"},{"line_number":60,"context_line":"        # TODO(uni): DB query in filter is a performance hit, especially for"},{"line_number":61,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":62,"context_line":"        # all filters with aggregate DB call things."},{"line_number":63,"context_line":"        metadata \u003d db.aggregate_metadata_get_by_host("}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9nPo%3D","line":60,"updated":"2014-02-05 17:05:07.000000000","message":"nit: TODO(Your id)","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"29c54ca49ff0f2c109148552a4f37bad1ee11e9e","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def get_config(self, key, filter_properties, host):"},{"line_number":59,"context_line":"        context \u003d filter_properties[\u0027context\u0027].elevated()"},{"line_number":60,"context_line":"        # TODO(uni): DB query in filter is a performance hit, especially for"},{"line_number":61,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":62,"context_line":"        # all filters with aggregate DB call things."},{"line_number":63,"context_line":"        metadata \u003d db.aggregate_metadata_get_by_host("}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUX%2F%2Fxw0%3D","line":60,"in_reply_to":"AAAAUH%2F9nPo%3D","updated":"2014-02-10 21:25:38.000000000","message":"This code was copied from core_filter \u0026 ram_filter\nin https://review.openstack.org/#/c/61821/ the code is removed from core_filter \u0026 ram_filter and stay only in conf.py","commit_id":"32a2d42231efd48112e08cb5d81f28d1e825195d"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"3e100bf0e29f2433fcd43026d75fbfea1d41b250","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    set in filter_properties."},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def get_config(self, key, filter_properties\u003d{}):"},{"line_number":45,"context_line":"        conf \u003d filter_properties.get(\u0027conf_overrides\u0027, CONF)"},{"line_number":46,"context_line":"        return conf.get(key, CONF[key])"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2FwlI%3D","line":44,"updated":"2014-02-11 00:11:46.000000000","message":"I know Jay just asked you to change this, but mutable default arguments are a common bug point, and I think it was better before.","commit_id":"9f5cb2e511d392b720d9f2687aa6da4631cad2f5"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"e32fc8c64cb91a39310881d9f49bbc8449d56c8c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    set in filter_properties."},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def get_config(self, key, filter_properties\u003d{}):"},{"line_number":45,"context_line":"        conf \u003d filter_properties.get(\u0027conf_overrides\u0027, CONF)"},{"line_number":46,"context_line":"        return conf.get(key, CONF[key])"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2Fsik%3D","line":44,"in_reply_to":"AAAAUX%2F%2FwlI%3D","updated":"2014-02-11 12:35:30.000000000","message":"Done","commit_id":"9f5cb2e511d392b720d9f2687aa6da4631cad2f5"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"996de99d6818431910c274f8e75b5047db49e6bd","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":63,"context_line":"        # all filters with aggregate DB call things."},{"line_number":64,"context_line":"        metadata \u003d db.aggregate_metadata_get_by_host("},{"line_number":65,"context_line":"                     context, host, key\u003dkey)"},{"line_number":66,"context_line":"        aggregate_vals \u003d metadata.get(key, set())"},{"line_number":67,"context_line":"        num_values \u003d len(aggregate_vals)"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FiBY%3D","line":65,"updated":"2014-02-12 15:20:36.000000000","message":"This can be merged to one line","commit_id":"890bea4ea4a5e1a9a8a80f18e6d2c8debb525b71"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"e25753c3d40535ec5e0757153cde8c28ea0e7480","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":63,"context_line":"        # all filters with aggregate DB call things."},{"line_number":64,"context_line":"        metadata \u003d db.aggregate_metadata_get_by_host("},{"line_number":65,"context_line":"                     context, host, key\u003dkey)"},{"line_number":66,"context_line":"        aggregate_vals \u003d metadata.get(key, set())"},{"line_number":67,"context_line":"        num_values \u003d len(aggregate_vals)"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2Ffvw%3D","line":65,"in_reply_to":"AAAAUX%2F%2FiBY%3D","updated":"2014-02-12 20:18:38.000000000","message":"Done","commit_id":"890bea4ea4a5e1a9a8a80f18e6d2c8debb525b71"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"996de99d6818431910c274f8e75b5047db49e6bd","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            try:"},{"line_number":71,"context_line":"                return set([CONF[key]])"},{"line_number":72,"context_line":"            except Exception as ex:"},{"line_number":73,"context_line":"                LOG.info(_(\"key: %s doesn\u0027t exist in CONF\"), key)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        return aggregate_vals"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FiAc%3D","line":73,"updated":"2014-02-12 15:20:36.000000000","message":"what about use warn here?","commit_id":"890bea4ea4a5e1a9a8a80f18e6d2c8debb525b71"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"e25753c3d40535ec5e0757153cde8c28ea0e7480","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            try:"},{"line_number":71,"context_line":"                return set([CONF[key]])"},{"line_number":72,"context_line":"            except Exception as ex:"},{"line_number":73,"context_line":"                LOG.info(_(\"key: %s doesn\u0027t exist in CONF\"), key)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        return aggregate_vals"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2Ffvo%3D","line":73,"in_reply_to":"AAAAUX%2F%2FiAc%3D","updated":"2014-02-12 20:18:38.000000000","message":"Done","commit_id":"890bea4ea4a5e1a9a8a80f18e6d2c8debb525b71"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"158273647ac88d0dab5b724a05f5f57a0bee9f4e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \"\"\"Retrieve config options from the global CONF.\"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def get_config(self, key):"},{"line_number":34,"context_line":"        return CONF[key]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class FilterPropOverrideConf(object):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUX%2F%2FeAE%3D","line":34,"updated":"2014-02-13 00:05:22.000000000","message":"See below.","commit_id":"37188c30ebfbdb612ee0b01c4341aca8b884436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"158273647ac88d0dab5b724a05f5f57a0bee9f4e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            filter_properties \u003d {}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        conf \u003d filter_properties.get(\u0027conf_overrides\u0027, CONF)"},{"line_number":49,"context_line":"        return conf.get(key, CONF[key])"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class AggregateOverrideConf(object):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUX%2F%2Fd%2F8%3D","line":49,"updated":"2014-02-13 00:05:22.000000000","message":"This operation of fetching configuration seems to cause a massive performance hit when I have profiled the filters and weights. For more information see:\nhttps://review.openstack.org/#/c/69603/\n\nI worry about adding this kind of behaviour into the code path by default.","commit_id":"37188c30ebfbdb612ee0b01c4341aca8b884436d"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"55b90635011985d5f59c1ffeacbd69db847bb6d3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            filter_properties \u003d {}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        conf \u003d filter_properties.get(\u0027conf_overrides\u0027, CONF)"},{"line_number":49,"context_line":"        return conf.get(key, CONF[key])"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class AggregateOverrideConf(object):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUX%2F%2FIrg%3D","line":49,"in_reply_to":"AAAAUX%2F%2Fd%2F8%3D","updated":"2014-02-16 14:12:13.000000000","message":"Please note that this patch doesn\u0027t solve performance issues addressed by https://review.openstack.org/#/c/69603/. This patch offers an option to override oslo.conf properties. It doesn\u0027t cause performance issue more than it was without it. \nIn the case overrides are specified, the override value will be used (no issues, no call to oslo.conf.__getattr). In case no override specified, the CONF value will be used, same as it is used currently.","commit_id":"37188c30ebfbdb612ee0b01c4341aca8b884436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"158273647ac88d0dab5b724a05f5f57a0bee9f4e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        # TODO(uni): DB query in filter is a performance hit, especially for"},{"line_number":62,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":63,"context_line":"        # all filters with aggregate DB call things."},{"line_number":64,"context_line":"        metadata \u003d db.aggregate_metadata_get_by_host(context, host, key\u003dkey)"},{"line_number":65,"context_line":"        aggregate_vals \u003d metadata.get(key, set())"},{"line_number":66,"context_line":"        num_values \u003d len(aggregate_vals)"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUX%2F%2FeAU%3D","line":64,"updated":"2014-02-13 00:05:22.000000000","message":"I would like to see changes to the host manager to optionally fetch this information when getting the fill list of hosts.","commit_id":"37188c30ebfbdb612ee0b01c4341aca8b884436d"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"55b90635011985d5f59c1ffeacbd69db847bb6d3","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        # TODO(uni): DB query in filter is a performance hit, especially for"},{"line_number":62,"context_line":"        # system with lots of hosts. Will need a general solution here to fix"},{"line_number":63,"context_line":"        # all filters with aggregate DB call things."},{"line_number":64,"context_line":"        metadata \u003d db.aggregate_metadata_get_by_host(context, host, key\u003dkey)"},{"line_number":65,"context_line":"        aggregate_vals \u003d metadata.get(key, set())"},{"line_number":66,"context_line":"        num_values \u003d len(aggregate_vals)"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUX%2F%2FIrI%3D","line":64,"in_reply_to":"AAAAUX%2F%2FeAU%3D","updated":"2014-02-16 14:12:13.000000000","message":"I\u0027m not sure i understand. Can you elaborate on this?","commit_id":"37188c30ebfbdb612ee0b01c4341aca8b884436d"}],"nova/tests/scheduler/test_scheduler_utils.py":[{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        self._test_populate_filter_props(force_nodes\u003d[\u0027force-node\u0027])"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"class GetConfigTestCase(test.TestCase):"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def setUp(self):"},{"line_number":206,"context_line":"        super(GetConfigTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Bvxs%3D","line":203,"updated":"2014-01-22 17:11:04.000000000","message":"why not create a separated file?","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def test_with_conf_overrides(self):"},{"line_number":223,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated(),"},{"line_number":224,"context_line":"                                \u0027conf_overrides\u0027: {\u0027FakeStrOpt\u0027: \u0027ConfStrOpt\u0027}}"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        self.assertEqual(\u0027ConfStrOpt\u0027, scheduler_conf.FilterPropOverrideConf()."},{"line_number":227,"context_line":"                        get_config(\u0027FakeStrOpt\u0027, filter_properties))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Bvw8%3D","line":224,"updated":"2014-01-22 17:11:04.000000000","message":"align arguments","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def test_with_conf_overrides(self):"},{"line_number":223,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated(),"},{"line_number":224,"context_line":"                                \u0027conf_overrides\u0027: {\u0027FakeStrOpt\u0027: \u0027ConfStrOpt\u0027}}"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        self.assertEqual(\u0027ConfStrOpt\u0027, scheduler_conf.FilterPropOverrideConf()."},{"line_number":227,"context_line":"                        get_config(\u0027FakeStrOpt\u0027, filter_properties))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcNQ%3D","line":224,"in_reply_to":"AAAAUH%2F%2Bvw8%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                                \u0027conf_overrides\u0027: {\u0027FakeStrOpt\u0027: \u0027ConfStrOpt\u0027}}"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        self.assertEqual(\u0027ConfStrOpt\u0027, scheduler_conf.FilterPropOverrideConf()."},{"line_number":227,"context_line":"                        get_config(\u0027FakeStrOpt\u0027, filter_properties))"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def test_without_aggregate_overrides(self):"},{"line_number":230,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BvtM%3D","line":227,"updated":"2014-01-22 17:11:04.000000000","message":"align arguments","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                                \u0027conf_overrides\u0027: {\u0027FakeStrOpt\u0027: \u0027ConfStrOpt\u0027}}"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        self.assertEqual(\u0027ConfStrOpt\u0027, scheduler_conf.FilterPropOverrideConf()."},{"line_number":227,"context_line":"                        get_config(\u0027FakeStrOpt\u0027, filter_properties))"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def test_without_aggregate_overrides(self):"},{"line_number":230,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcNM%3D","line":227,"in_reply_to":"AAAAUH%2F%2BvtM%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        self.assertEqual(\u0027ConfStrOpt\u0027, scheduler_conf.FilterPropOverrideConf()."},{"line_number":227,"context_line":"                        get_config(\u0027FakeStrOpt\u0027, filter_properties))"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def test_without_aggregate_overrides(self):"},{"line_number":230,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":231,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Bvs0%3D","line":228,"updated":"2014-01-22 17:11:04.000000000","message":"test FilterPropOverrideConf w/o conf_overrides? See comment in conf.py","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        self._create_aggregate(\u0027agg1\u0027,"},{"line_number":233,"context_line":"                                {},"},{"line_number":234,"context_line":"                                [\u0027host1\u0027])"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        self.assertEqual(set([\u0027DefStrOpt\u0027]), scheduler_conf."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Bvwg%3D","line":233,"updated":"2014-01-22 17:11:04.000000000","message":"align arguments","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        self._create_aggregate(\u0027agg1\u0027,"},{"line_number":233,"context_line":"                                {},"},{"line_number":234,"context_line":"                                [\u0027host1\u0027])"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        self.assertEqual(set([\u0027DefStrOpt\u0027]), scheduler_conf."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcNI%3D","line":233,"in_reply_to":"AAAAUH%2F%2Bvwg%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        self._create_aggregate(\u0027agg1\u0027,"},{"line_number":244,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg1StrOpt\u0027},"},{"line_number":245,"context_line":"                                [\u0027host1\u0027])"},{"line_number":246,"context_line":"        self._create_aggregate(\u0027agg2\u0027,"},{"line_number":247,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg2StrOpt\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Bvqc%3D","line":244,"updated":"2014-01-22 17:11:04.000000000","message":"align arguments to \u0027 in \u0027agg1\u0027","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        self._create_aggregate(\u0027agg1\u0027,"},{"line_number":244,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg1StrOpt\u0027},"},{"line_number":245,"context_line":"                                [\u0027host1\u0027])"},{"line_number":246,"context_line":"        self._create_aggregate(\u0027agg2\u0027,"},{"line_number":247,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg2StrOpt\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcNE%3D","line":244,"in_reply_to":"AAAAUH%2F%2Bvqc%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg1StrOpt\u0027},"},{"line_number":245,"context_line":"                                [\u0027host1\u0027])"},{"line_number":246,"context_line":"        self._create_aggregate(\u0027agg2\u0027,"},{"line_number":247,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg2StrOpt\u0027},"},{"line_number":248,"context_line":"                                [\u0027host1\u0027])"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self.assertEqual(set([\u0027Agg1StrOpt\u0027, \u0027Agg2StrOpt\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BvqY%3D","line":247,"updated":"2014-01-22 17:11:04.000000000","message":"align arguments to \u0027 in \u0027agg2\u0027","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg1StrOpt\u0027},"},{"line_number":245,"context_line":"                                [\u0027host1\u0027])"},{"line_number":246,"context_line":"        self._create_aggregate(\u0027agg2\u0027,"},{"line_number":247,"context_line":"                                {\u0027FakeStrOpt\u0027: \u0027Agg2StrOpt\u0027},"},{"line_number":248,"context_line":"                                [\u0027host1\u0027])"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self.assertEqual(set([\u0027Agg1StrOpt\u0027, \u0027Agg2StrOpt\u0027]),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcNA%3D","line":247,"in_reply_to":"AAAAUH%2F%2BvqY%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":8690,"name":"Khanh-Toan TRAN","email":"khtoantran@gmail.com","username":"toan-tran"},"change_message_id":"bb72f4641ee0475394fde3683b47fc8bbf395ee4","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                                [\u0027host1\u0027])"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self.assertEqual(set([\u0027Agg1StrOpt\u0027, \u0027Agg2StrOpt\u0027]),"},{"line_number":251,"context_line":"                        scheduler_conf.AggregateOverrideConf().get_config("},{"line_number":252,"context_line":"                        \u0027FakeStrOpt\u0027, filter_properties, \u0027host1\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BvoU%3D","line":251,"updated":"2014-01-22 17:11:04.000000000","message":"align arguments","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"2029bb732c2115779d8d5e3a58683823931eb9ad","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                                [\u0027host1\u0027])"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self.assertEqual(set([\u0027Agg1StrOpt\u0027, \u0027Agg2StrOpt\u0027]),"},{"line_number":251,"context_line":"                        scheduler_conf.AggregateOverrideConf().get_config("},{"line_number":252,"context_line":"                        \u0027FakeStrOpt\u0027, filter_properties, \u0027host1\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BcM8%3D","line":251,"in_reply_to":"AAAAUH%2F%2BvoU%3D","updated":"2014-01-26 12:46:51.000000000","message":"Done","commit_id":"89d47aad6cf1d9bc3995226da7c013f0a382cfc6"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"3e100bf0e29f2433fcd43026d75fbfea1d41b250","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        return result"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def test_without_conf_overrides(self):"},{"line_number":246,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        self.assertEqual(\u0027DefStrOpt\u0027,"},{"line_number":249,"context_line":"                         scheduler_conf.BaseConf()."}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2Fwls%3D","line":246,"updated":"2014-02-11 00:11:46.000000000","message":"This is unused now.","commit_id":"9f5cb2e511d392b720d9f2687aa6da4631cad2f5"},{"author":{"_account_id":7238,"name":"Inbar Shapira","email":"inbar_shapira@il.ibm.com","username":"Inbar"},"change_message_id":"e32fc8c64cb91a39310881d9f49bbc8449d56c8c","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        return result"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def test_without_conf_overrides(self):"},{"line_number":246,"context_line":"        filter_properties \u003d {\u0027context\u0027: self.context.elevated()}"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        self.assertEqual(\u0027DefStrOpt\u0027,"},{"line_number":249,"context_line":"                         scheduler_conf.BaseConf()."}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2Fsig%3D","line":246,"in_reply_to":"AAAAUX%2F%2Fwls%3D","updated":"2014-02-11 12:35:30.000000000","message":"Done","commit_id":"9f5cb2e511d392b720d9f2687aa6da4631cad2f5"}]}
