)]}'
{"nova/conf/libvirt.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1999dabbdcaec93b74a31b19ddf1f97bd1662bb4","unresolved":false,"context_lines":[{"line_number":454,"context_line":"* Possible values:"},{"line_number":455,"context_line":"    A string list."},{"line_number":456,"context_line":"    For example:"},{"line_number":457,"context_line":"    ``enabled_perf_events \u003d cmt, mbml, mbmt, cpu_cycles, instructions``"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    The supported events list can be found in"},{"line_number":460,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_000a0079","line":457,"range":{"start_line":457,"start_character":45,"end_line":457,"end_character":68},"updated":"2016-09-07 13:27:47.000000000","message":"How this change is related to this patch?","commit_id":"3374d2d21e6b0509fd6b9f2a51d477c8c9be6388"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"350b416761654d3d3dedf8928777068667a7cc05","unresolved":false,"context_lines":[{"line_number":454,"context_line":"* Possible values:"},{"line_number":455,"context_line":"    A string list."},{"line_number":456,"context_line":"    For example:"},{"line_number":457,"context_line":"    ``enabled_perf_events \u003d cmt, mbml, mbmt, cpu_cycles, instructions``"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    The supported events list can be found in"},{"line_number":460,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_d011a505","line":457,"range":{"start_line":457,"start_character":45,"end_line":457,"end_character":68},"in_reply_to":"9a89bdaa_000a0079","updated":"2016-09-08 00:43:17.000000000","message":"not related, just put more information for the supported event since 2.0.0","commit_id":"3374d2d21e6b0509fd6b9f2a51d477c8c9be6388"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"b225816904ceea5b229b4c26d77b0dd4b8543380","unresolved":false,"context_lines":[{"line_number":454,"context_line":"* Possible values:"},{"line_number":455,"context_line":"    A string list."},{"line_number":456,"context_line":"    For example:"},{"line_number":457,"context_line":"    ``enabled_perf_events \u003d cmt, mbml, mbmt, cpu_cycles, instructions``"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    The supported events list can be found in"},{"line_number":460,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_0d7ccbea","line":457,"range":{"start_line":457,"start_character":43,"end_line":457,"end_character":69},"updated":"2016-09-08 08:14:42.000000000","message":"So this should be done in a separate patch. Adding unrelated stuff is a maintenance issue.","commit_id":"ffb8531234f9d1f0c34887d0988741c5bc3bbbef"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"bce535038a0416beec0c83cba70c2821764e4879","unresolved":false,"context_lines":[{"line_number":454,"context_line":"* Possible values:"},{"line_number":455,"context_line":"    A string list."},{"line_number":456,"context_line":"    For example:"},{"line_number":457,"context_line":"    ``enabled_perf_events \u003d cmt, mbml, mbmt, cpu_cycles, instructions``"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    The supported events list can be found in"},{"line_number":460,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_31856159","line":457,"range":{"start_line":457,"start_character":43,"end_line":457,"end_character":69},"in_reply_to":"9a89bdaa_0d7ccbea","updated":"2016-09-08 10:41:45.000000000","message":"Done","commit_id":"ffb8531234f9d1f0c34887d0988741c5bc3bbbef"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1999dabbdcaec93b74a31b19ddf1f97bd1662bb4","unresolved":false,"context_lines":[{"line_number":5662,"context_line":"        feature2.policy \u003d cpumodel.POLICY_REQUIRE"},{"line_number":5663,"context_line":"        feature3 \u003d vconfig.LibvirtConfigGuestCPUFeature()"},{"line_number":5664,"context_line":"        feature3.name \u003d \u0027mbm_total\u0027"},{"line_number":5665,"context_line":"        feature3.policy \u003d cpumodel.POLICY_REQUIRE"},{"line_number":5666,"context_line":"        caps.host.cpu.features \u003d set([feature1, feature2, feature3])"},{"line_number":5667,"context_line":""},{"line_number":5668,"context_line":"        self._test_get_guest_with_perf(caps, [\u0027cmt\u0027, \u0027mbml\u0027, \u0027mbmt\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_543209f3","line":5665,"updated":"2016-09-07 13:27:47.000000000","message":"Can you cleanup this a bit and just create a list of features instead of using three different variables? E.g.:\n\nperf_events \u003d [\u0027cmt\u0027, \u0027mbm_local\u0027, \u0027mbm_total\u0027]\nfor perf_event in perf_events:\n list.append(feature)\n\nor even a set() as sets in Python are mutable","commit_id":"3374d2d21e6b0509fd6b9f2a51d477c8c9be6388"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"350b416761654d3d3dedf8928777068667a7cc05","unresolved":false,"context_lines":[{"line_number":5662,"context_line":"        feature2.policy \u003d cpumodel.POLICY_REQUIRE"},{"line_number":5663,"context_line":"        feature3 \u003d vconfig.LibvirtConfigGuestCPUFeature()"},{"line_number":5664,"context_line":"        feature3.name \u003d \u0027mbm_total\u0027"},{"line_number":5665,"context_line":"        feature3.policy \u003d cpumodel.POLICY_REQUIRE"},{"line_number":5666,"context_line":"        caps.host.cpu.features \u003d set([feature1, feature2, feature3])"},{"line_number":5667,"context_line":""},{"line_number":5668,"context_line":"        self._test_get_guest_with_perf(caps, [\u0027cmt\u0027, \u0027mbml\u0027, \u0027mbmt\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_3003b1b9","line":5665,"in_reply_to":"9a89bdaa_543209f3","updated":"2016-09-08 00:43:17.000000000","message":"Sure, will try","commit_id":"3374d2d21e6b0509fd6b9f2a51d477c8c9be6388"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a030ec9dcff12c503f68c0eb25039e96b60199eb","unresolved":false,"context_lines":[{"line_number":313,"context_line":"MIN_LIBVIRT_PERF_VERSION \u003d (1, 3, 3)"},{"line_number":314,"context_line":"LIBVIRT_PERF_EVENT_PREFIX \u003d \u0027VIR_PERF_PARAM_\u0027"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"PERF_EVENTS_CPU_FLAG_MAPPING \u003d {\u0027cmt\u0027: \u0027cmt\u0027,"},{"line_number":317,"context_line":"                                \u0027mbml\u0027: \u0027mbm_local\u0027,"},{"line_number":318,"context_line":"                                \u0027mbmt\u0027: \u0027mbm_total\u0027,"},{"line_number":319,"context_line":"                               }"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_24c9f826","line":316,"updated":"2016-09-07 01:59:33.000000000","message":"So, do we need two mappings, one for libvirt\u003c2.0 and libvirt\u003e\u003d2.0?","commit_id":"19278955d048ce6b24abebf33d15b2707b2d3d1b"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"4eb9497669111a51bf07f0fa5dbbc10d7be4acd0","unresolved":false,"context_lines":[{"line_number":313,"context_line":"MIN_LIBVIRT_PERF_VERSION \u003d (1, 3, 3)"},{"line_number":314,"context_line":"LIBVIRT_PERF_EVENT_PREFIX \u003d \u0027VIR_PERF_PARAM_\u0027"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"PERF_EVENTS_CPU_FLAG_MAPPING \u003d {\u0027cmt\u0027: \u0027cmt\u0027,"},{"line_number":317,"context_line":"                                \u0027mbml\u0027: \u0027mbm_local\u0027,"},{"line_number":318,"context_line":"                                \u0027mbmt\u0027: \u0027mbm_total\u0027,"},{"line_number":319,"context_line":"                               }"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_d8882cc8","line":316,"in_reply_to":"9a89bdaa_24c9f826","updated":"2016-09-07 02:48:55.000000000","message":"No, before 2.0.0, libvirt won\u0027t expose that feature.\n\nI realized that I need to bump the min version of libvirt of supporting perf event.","commit_id":"19278955d048ce6b24abebf33d15b2707b2d3d1b"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1999dabbdcaec93b74a31b19ddf1f97bd1662bb4","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"PERF_EVENTS_CPU_FLAG_MAPPING \u003d {\u0027cmt\u0027: \u0027cmt\u0027,"},{"line_number":317,"context_line":"                                \u0027mbml\u0027: \u0027mbm_local\u0027,"},{"line_number":318,"context_line":"                                \u0027mbmt\u0027: \u0027mbm_total\u0027,"},{"line_number":319,"context_line":"                               }"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_a0bf94a8","line":318,"updated":"2016-09-07 13:27:47.000000000","message":"That\u0027s correct. Those flags were introduced in this commit that is part of Libvirt 2.0.0 release http://libvirt.org/git/?p\u003dlibvirt.git;a\u003dcommit;h\u003df294b83ee632a6330f3a3045fbb5bcb9d9951c03","commit_id":"3374d2d21e6b0509fd6b9f2a51d477c8c9be6388"}]}
