)]}'
{"ceilometer/compute/libvirt.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                rx, _, _, _, tx, _, _, _ \u003d domain.interfaceStats(vnic)"},{"line_number":168,"context_line":"                self.LOG.info(self.NET_USAGE_MESSAGE, instance.name,"},{"line_number":169,"context_line":"                              vnic, rx, tx)"},{"line_number":170,"context_line":"            yield make_counter_from_instance(instance,"},{"line_number":171,"context_line":"                                             name\u003d\u0027net_in_int\u0027,"},{"line_number":172,"context_line":"                                             type\u003d\u0027cumulative\u0027,"},{"line_number":173,"context_line":"                                             volume\u003drx"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAKn%2F%2F%2Fqo%3D","line":170,"updated":"2012-07-25 14:49:18.000000000","message":"These yield statements should probably be indented inside the loop so that 2 meters are emitted for each NIC (with the appropriate resource id and metadata attached).","commit_id":"cfe4d97f5d6629c8cfc07795af6fa6a760815abf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":183,"context_line":"                              vnic, rx, tx)"},{"line_number":184,"context_line":"                nic_metadata\u003d{\u0027NetworkInterface\u0027: vnic}"},{"line_number":185,"context_line":"                yield make_counter_from_instance(instance,"},{"line_number":186,"context_line":"                                                 name\u003d\u0027net_in_int\u0027,"},{"line_number":187,"context_line":"                                                 type\u003d\u0027cumulative\u0027,"},{"line_number":188,"context_line":"                                                 volume\u003drx,"},{"line_number":189,"context_line":"                                                 resource_metadata\u003dnic_metadata"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2F3CU%3D","line":186,"updated":"2012-08-07 10:07:57.000000000","message":"Not sure about the name of this counter. It\u0027s not only \"int\" I think.","commit_id":"7f3bc4da9912c3ce53f8807b0c545496ec6c8b39"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":189,"context_line":"                                                 resource_metadata\u003dnic_metadata"},{"line_number":190,"context_line":"                                                )"},{"line_number":191,"context_line":"                yield make_counter_from_instance(instance,"},{"line_number":192,"context_line":"                                                 name\u003d\u0027net_out_int\u0027,"},{"line_number":193,"context_line":"                                                 type\u003d\u0027cumulative\u0027,"},{"line_number":194,"context_line":"                                                 volume\u003dtx,"},{"line_number":195,"context_line":"                                                 resource_metadata\u003dnic_metadata"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2F3CQ%3D","line":192,"updated":"2012-08-07 10:07:57.000000000","message":"Same here.","commit_id":"7f3bc4da9912c3ce53f8807b0c545496ec6c8b39"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def make_counter_from_instance(instance, name, type, volume,"},{"line_number":49,"context_line":"                               resource_metadata):"},{"line_number":50,"context_line":"    if not resource_metadata:"},{"line_number":51,"context_line":"        resource_metadata \u003d compute_instance.get_metadata_from_dbobject("},{"line_number":52,"context_line":"                                                                      instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2F7z0%3D","line":49,"updated":"2012-07-31 19:44:31.000000000","message":"This new argument is going to need a default value in order to make the calls in the other pollsters work correctly, isn\u0027t it?","commit_id":"21d94f9f0f52b4170ddb3951d646eb0625e9c665"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                               resource_metadata):"},{"line_number":50,"context_line":"    if not resource_metadata:"},{"line_number":51,"context_line":"        resource_metadata \u003d compute_instance.get_metadata_from_dbobject("},{"line_number":52,"context_line":"                                                                      instance)"},{"line_number":53,"context_line":"    return counter.Counter("},{"line_number":54,"context_line":"        source\u003d\u0027?\u0027,"},{"line_number":55,"context_line":"        name\u003dname,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2F7z8%3D","line":52,"updated":"2012-07-31 19:44:31.000000000","message":"Is this line mixing tabs and spaces or is it indented like this to pass the pep8 line-length check?","commit_id":"21d94f9f0f52b4170ddb3951d646eb0625e9c665"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def get_counters(self, manager, context):"},{"line_number":171,"context_line":"        conn \u003d get_libvirt_connection()"},{"line_number":172,"context_line":"        for instance in manager.db.instance_get_all_by_host(context,"},{"line_number":173,"context_line":"                                                            manager.host):"},{"line_number":174,"context_line":"            self.LOG.info(\u0027checking instance %s\u0027, instance.uuid)"},{"line_number":175,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2F7zw%3D","line":172,"updated":"2012-07-31 19:44:31.000000000","message":"My pollster API change landed today, so you will want to change this function to remove the loop and to change the argument \"context\" to \"instance\".","commit_id":"21d94f9f0f52b4170ddb3951d646eb0625e9c665"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def make_vnic_counter(instance, name, type, volume, vnic_data):"},{"line_number":65,"context_line":"    resource_metadata \u003d {"},{"line_number":66,"context_line":"                         \u0027instance_id\u0027: instance.id,"},{"line_number":67,"context_line":"                         \u0027address\u0027: vnic_data[\u0027mac\u0027],"},{"line_number":68,"context_line":"                         \u0027alias\u0027: vnic_data[\u0027alias\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FmKU%3D","line":65,"updated":"2012-08-28 19:43:02.000000000","message":"Is there anything in vnic_data that we don\u0027t want to save as metadata?","commit_id":"6421a216182d9441416052ed76908043cdf96bb7"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def make_vnic_counter(instance, name, type, volume, vnic_data):"},{"line_number":65,"context_line":"    resource_metadata \u003d {"},{"line_number":66,"context_line":"                         \u0027instance_id\u0027: instance.id,"},{"line_number":67,"context_line":"                         \u0027address\u0027: vnic_data[\u0027mac\u0027],"},{"line_number":68,"context_line":"                         \u0027alias\u0027: vnic_data[\u0027alias\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FlPE%3D","line":65,"in_reply_to":"AAAALH%2F%2FmI0%3D","updated":"2012-08-29 18:46:50.000000000","message":"I wasn\u0027t clear. You\u0027re copying just some values. Why not just copy the entire dictionary, then add the instance_id?","commit_id":"6421a216182d9441416052ed76908043cdf96bb7"},{"author":{"_account_id":4277,"name":"John Tran","email":"jhtran@att.com","username":"jtran"},"change_message_id":"026bc028bd3bc302afa540965620a2ea9c151894","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def make_vnic_counter(instance, name, type, volume, vnic_data):"},{"line_number":65,"context_line":"    resource_metadata \u003d {"},{"line_number":66,"context_line":"                         \u0027instance_id\u0027: instance.id,"},{"line_number":67,"context_line":"                         \u0027address\u0027: vnic_data[\u0027mac\u0027],"},{"line_number":68,"context_line":"                         \u0027alias\u0027: vnic_data[\u0027alias\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FmI0%3D","line":65,"in_reply_to":"AAAALH%2F%2FmKU%3D","updated":"2012-08-29 17:58:46.000000000","message":"I don\u0027t have a preference, those all look potentially valuable to me but if they\u0027re redundant or not useful I can remove.","commit_id":"6421a216182d9441416052ed76908043cdf96bb7"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        volume\u003dvolume,"},{"line_number":80,"context_line":"        user_id\u003dinstance.user_id,"},{"line_number":81,"context_line":"        project_id\u003dinstance.project_id,"},{"line_number":82,"context_line":"        resource_id\u003dvnic_data[\u0027fref\u0027],"},{"line_number":83,"context_line":"        timestamp\u003dtimeutils.isotime(),"},{"line_number":84,"context_line":"        duration\u003dNone,"},{"line_number":85,"context_line":"        resource_metadata\u003dresource_metadata"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FmKM%3D","line":82,"updated":"2012-08-28 19:43:02.000000000","message":"Will we be able to map the filterref back to an id in quantum or nova-networking later?","commit_id":"6421a216182d9441416052ed76908043cdf96bb7"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"unresolved":false,"context_lines":[{"line_number":79,"context_line":"        volume\u003dvolume,"},{"line_number":80,"context_line":"        user_id\u003dinstance.user_id,"},{"line_number":81,"context_line":"        project_id\u003dinstance.project_id,"},{"line_number":82,"context_line":"        resource_id\u003dvnic_data[\u0027fref\u0027],"},{"line_number":83,"context_line":"        timestamp\u003dtimeutils.isotime(),"},{"line_number":84,"context_line":"        duration\u003dNone,"},{"line_number":85,"context_line":"        resource_metadata\u003dresource_metadata"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FlO8%3D","line":82,"in_reply_to":"AAAALH%2F%2FmIw%3D","updated":"2012-08-29 18:46:50.000000000","message":"OK, as long as this ID is unique and maps back to the real object somehow.","commit_id":"6421a216182d9441416052ed76908043cdf96bb7"},{"author":{"_account_id":4277,"name":"John Tran","email":"jhtran@att.com","username":"jtran"},"change_message_id":"026bc028bd3bc302afa540965620a2ea9c151894","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        volume\u003dvolume,"},{"line_number":80,"context_line":"        user_id\u003dinstance.user_id,"},{"line_number":81,"context_line":"        project_id\u003dinstance.project_id,"},{"line_number":82,"context_line":"        resource_id\u003dvnic_data[\u0027fref\u0027],"},{"line_number":83,"context_line":"        timestamp\u003dtimeutils.isotime(),"},{"line_number":84,"context_line":"        duration\u003dNone,"},{"line_number":85,"context_line":"        resource_metadata\u003dresource_metadata"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FmIw%3D","line":82,"in_reply_to":"AAAALH%2F%2FmKM%3D","updated":"2012-08-29 17:58:46.000000000","message":"Not completely straightforward but an fref value looks something like \u0027nova-instance-instance-00000001-fa163e71ec6e\u0027, you\u0027d be able to parse the instance from that.  Otherwise, you\u0027d use the vnic metadata \u0027mac\u0027 address to lookup the virtual_interfaces table.","commit_id":"6421a216182d9441416052ed76908043cdf96bb7"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"def make_vnic_counter(instance, name, type, volume, vnic_data):"},{"line_number":65,"context_line":"    vnic_data[\u0027instance_id\u0027] \u003d instance.id"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    return counter.Counter("},{"line_number":68,"context_line":"        source\u003d\u0027?\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAALH%2F%2FlNY%3D","line":65,"updated":"2012-08-29 19:07:06.000000000","message":"This is safe as long as vnic_data isn\u0027t being used anywhere else. Is that always true? Should you do a copy.copy() first?","commit_id":"ecb00ce0382d04947bc9ab97c2e5249f26945e8a"}],"setup.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":31,"context_line":"    packages\u003dsetuptools.find_packages(exclude\u003d[\u0027bin\u0027]),"},{"line_number":32,"context_line":"    include_package_data\u003dTrue,"},{"line_number":33,"context_line":"    test_suite\u003d\u0027nose.collector\u0027,"},{"line_number":34,"context_line":"    setup_requires\u003d[\u0027setuptools-git\u003e\u003d0.4\u0027],"},{"line_number":35,"context_line":"    scripts\u003d[\u0027bin/ceilometer-agent-compute\u0027,"},{"line_number":36,"context_line":"             \u0027bin/ceilometer-agent-central\u0027,"},{"line_number":37,"context_line":"             \u0027bin/ceilometer-collector\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAALH%2F%2FkoU%3D","side":"PARENT","line":34,"updated":"2012-08-30 08:26:15.000000000","message":"Why? This seems unrelated to the goal of this patchset :(","commit_id":"5b153d5a8caec87a09e6ba01a0806d339c43254b"}],"tests/compute/test_libvirt.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"unresolved":false,"context_lines":[{"line_number":109,"context_line":"        instance.projectid \u003d \u00271\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        self.mox.StubOutWithMock(self.manager.db, \u0027instance_get_all_by_host\u0027)"},{"line_number":112,"context_line":"        self.manager.db.instance_get_all_by_host(self.context, "},{"line_number":113,"context_line":"                                                 self.manager.host,"},{"line_number":114,"context_line":"                                                 ).AndReturn([instance])"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2F3CI%3D","line":112,"updated":"2012-08-07 10:07:57.000000000","message":"Trailing whitespace","commit_id":"7f3bc4da9912c3ce53f8807b0c545496ec6c8b39"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        instance.projectid \u003d \u00271\u0027"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        self.mox.StubOutWithMock(self.manager.db, \u0027instance_get_all_by_host\u0027)"},{"line_number":112,"context_line":"        self.manager.db.instance_get_all_by_host(self.context, "},{"line_number":113,"context_line":"                                                 self.manager.host,"},{"line_number":114,"context_line":"                                                 ).AndReturn([instance])"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2F7zo%3D","line":112,"updated":"2012-07-31 19:44:31.000000000","message":"Trailing whitespace is going to break on the pep8 checker.","commit_id":"21d94f9f0f52b4170ddb3951d646eb0625e9c665"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"d85a8d031f3df6433beb4008b14dd791745f5fdd","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        for x in results:"},{"line_number":132,"context_line":"            self.assertTrue(hasattr(x, \u0027name\u0027))"},{"line_number":133,"context_line":"            self.assertTrue(x.name in rnames)"},{"line_number":134,"context_line":"            self.assertTrue(re.match(\u0027vnet\u0027,"},{"line_number":135,"context_line":"                                     x.resource_metadata[\u0027NetworkInterface\u0027]))"},{"line_number":136,"context_line":"            if x.name \u003d\u003d \u0027net_out_int\u0027:"},{"line_number":137,"context_line":"                self.assertTrue(x.volume \u003d\u003d 15830L)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2F7zk%3D","line":134,"updated":"2012-07-31 19:44:31.000000000","message":"For a simple static string test like this it is more clear, and faster, to say \u0027vnet\u0027 in x.resource_metadata[\u0027NetworkInterface\u0027]","commit_id":"21d94f9f0f52b4170ddb3951d646eb0625e9c665"}]}
