)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"6cbbdc47270cfbcf348e1e22e47210d2de0773ca","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: verify cpu bw policy capability for host"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In some circumstances mostly related to latency, Linux"},{"line_number":10,"context_line":"kernel can have been build with cgroung configuration"},{"line_number":11,"context_line":"CONFIG_CGROUP_SCHED not defined which makes not possible"},{"line_number":12,"context_line":"to boot virtual machines."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba8a016a_422b1483","line":10,"updated":"2015-11-16 14:23:38.000000000","message":"sorry, what is cgroung?","commit_id":"e010e1b5ee0d143c4412d8c3c121090eeb777ef1"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"6cbbdc47270cfbcf348e1e22e47210d2de0773ca","unresolved":false,"context_lines":[{"line_number":11,"context_line":"CONFIG_CGROUP_SCHED not defined which makes not possible"},{"line_number":12,"context_line":"to boot virtual machines."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"We should to verify if that cgroup is well mounted on host"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ia0af28d1f251ec5aac761b6b34b7db46de479dcc"},{"line_number":17,"context_line":"Closes-Bug: #1496854"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba8a016a_020e6c34","line":14,"updated":"2015-11-16 14:23:38.000000000","message":"We should verify whether  cgroup is well mounted on host,\n?\n\nI\u0027m a non-native English speaker.","commit_id":"e010e1b5ee0d143c4412d8c3c121090eeb777ef1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"28c3966a1bb2f719fc668e4ebdf41d996f7e3b05","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: verify cpu bw policy capability for host"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In some circumstances mostly related to latency, Linux"},{"line_number":10,"context_line":"kernel can have been build with cgroung configuration"},{"line_number":11,"context_line":"CONFIG_CGROUP_SCHED not defined which makes not possible"},{"line_number":12,"context_line":"to boot virtual machines."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7a740942_549d40ba","line":10,"range":{"start_line":10,"start_character":32,"end_line":10,"end_character":39},"updated":"2015-12-14 15:44:23.000000000","message":"s/cgroung/cgroup","commit_id":"294c6e061f5ec2061f0672bc55961b010ceceb22"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"28c3966a1bb2f719fc668e4ebdf41d996f7e3b05","unresolved":false,"context_lines":[{"line_number":11,"context_line":"CONFIG_CGROUP_SCHED not defined which makes not possible"},{"line_number":12,"context_line":"to boot virtual machines."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"We should to verify if that cgroup is well mounted on host"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ia0af28d1f251ec5aac761b6b34b7db46de479dcc"},{"line_number":17,"context_line":"Closes-Bug: #1496854"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7a740942_346f54c5","line":14,"range":{"start_line":14,"start_character":10,"end_line":14,"end_character":12},"updated":"2015-12-14 15:44:23.000000000","message":"s/to//","commit_id":"294c6e061f5ec2061f0672bc55961b010ceceb22"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8c41795191b9004852b1487180fce062152ffee4","unresolved":false,"context_lines":[{"line_number":3519,"context_line":"        if wants_cputune and not is_able:"},{"line_number":3520,"context_line":"            raise exception.UnsupportedHostCPUControlPolicy()"},{"line_number":3521,"context_line":""},{"line_number":3522,"context_line":"        if is_able:"},{"line_number":3523,"context_line":"            if virt_type in (\u0027lxc\u0027, \u0027kvm\u0027, \u0027qemu\u0027):"},{"line_number":3524,"context_line":"                if guest.cputune is None:"},{"line_number":3525,"context_line":"                    guest.cputune \u003d vconfig.LibvirtConfigGuestCPUTune()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_8c567e5a","line":3522,"updated":"2015-09-17 13:24:34.000000000","message":"Hum I can probably just use one line...\n\n  if is_able and virt_type in (\u0027lxc\u0027, \u0027kvm\u0027, \u0027qemu\u0027):\n    ...","commit_id":"adbd91014c0e4af4f5eb51d232c00bcb392f3c6f"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fd01518ed55e856eca2366b1920930295e51d99c","unresolved":false,"context_lines":[{"line_number":3571,"context_line":"            raise exception.UnsupportedHostCPUControlPolicy()"},{"line_number":3572,"context_line":""},{"line_number":3573,"context_line":"        if is_able:"},{"line_number":3574,"context_line":"            if virt_type in (\u0027lxc\u0027, \u0027kvm\u0027, \u0027qemu\u0027):"},{"line_number":3575,"context_line":"                if guest.cputune is None:"},{"line_number":3576,"context_line":"                    guest.cputune \u003d vconfig.LibvirtConfigGuestCPUTune()"},{"line_number":3577,"context_line":"                # Setting the default cpu.shares value to be a value"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_d08268c8","line":3574,"updated":"2015-11-24 16:23:50.000000000","message":"Nitpick, I\u0027d say\n\n  if not is_able or virt_type not in ((\u0027xc\u0027, \u0027kvm\u0027, \u0027qemu\u0027):\n    return\n\nthen you can avoid having such deep indent for the rest of the method.","commit_id":"0ebcb956c9d75a23b80b2107fbf92118c86779b2"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b7bf33d5a8122003a1155bfecd9301fa1054bbac","unresolved":false,"context_lines":[{"line_number":991,"context_line":"        CONFIG_CGROUP_SCHED may be disabled in some kernel configs to"},{"line_number":992,"context_line":"        improve scheduler latency."},{"line_number":993,"context_line":"        \"\"\""},{"line_number":994,"context_line":"        return os.path.islink(\"/sys/fs/cgroup/cpu\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_b462c73c","line":994,"updated":"2015-10-08 13:11:50.000000000","message":"This location is not required to be a symlink - it can be a mount point too. Also non-systemd OS don\u0027t place cgroups at that location.\n\nReally we want to see if /proc/self/mounts contains an entry for \"cpu\" controller","commit_id":"dc23b66053035065ccca1ad577a9892701da7391"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fd01518ed55e856eca2366b1920930295e51d99c","unresolved":false,"context_lines":[{"line_number":992,"context_line":"        \"\"\""},{"line_number":993,"context_line":"        with open(\"/proc/self/mounts\", \"r\") as fd:"},{"line_number":994,"context_line":"            for line in fd.readlines():"},{"line_number":995,"context_line":"                for bit in line.split()[1].split(\",\"):"},{"line_number":996,"context_line":"                    if bit.endswith(\"cpu\"):"},{"line_number":997,"context_line":"                        return True"},{"line_number":998,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_f039ac42","line":995,"updated":"2015-11-24 16:23:50.000000000","message":"So we have a line\n\n  cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0\n\nand you\u0027re trying to extract \"sys/fs/cgroup/cpu,cpuacct\" and check for \u0027cpu\u0027. This is ok on systemd based distros, but I think it is more bulletproof if we check the mount options instead of directory name eg \"rw,nosuid,nodev,noexec,relatime,cpu,cpuacct\"","commit_id":"0ebcb956c9d75a23b80b2107fbf92118c86779b2"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"d13a2683f0d724ec19ff90189b89c6b4880596ed","unresolved":false,"context_lines":[{"line_number":996,"context_line":"        \"\"\"Compares the given CPU description with the host CPU.\"\"\""},{"line_number":997,"context_line":"        return self.get_connection().compareCPU(xmlDesc, flags)"},{"line_number":998,"context_line":""},{"line_number":999,"context_line":"    def is_cpu_control_policy_capable(self):"},{"line_number":1000,"context_line":"        \"\"\"Returns whether kernel configuration CGROUP_SCHED is enabled"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"        CONFIG_CGROUP_SCHED may be disabled in some kernel configs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa69d971_42290f9d","line":999,"range":{"start_line":999,"start_character":9,"end_line":999,"end_character":37},"updated":"2016-01-06 10:51:59.000000000","message":"This class is an awkward place to put this method. The hint is that self is not even used in the body of this method.","commit_id":"f6969afa4708d1702321dcd48062591bd400789e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"5d32714990f9c66e3fa44bfdc9907cf853c6d358","unresolved":false,"context_lines":[{"line_number":996,"context_line":"        \"\"\"Compares the given CPU description with the host CPU.\"\"\""},{"line_number":997,"context_line":"        return self.get_connection().compareCPU(xmlDesc, flags)"},{"line_number":998,"context_line":""},{"line_number":999,"context_line":"    def is_cpu_control_policy_capable(self):"},{"line_number":1000,"context_line":"        \"\"\"Returns whether kernel configuration CGROUP_SCHED is enabled"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"        CONFIG_CGROUP_SCHED may be disabled in some kernel configs to"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa69d971_b80b5e23","line":999,"in_reply_to":"fa69d971_42290f9d","updated":"2016-01-06 11:04:00.000000000","message":"I should have set this method as static but still think it\u0027s good place for it.","commit_id":"f6969afa4708d1702321dcd48062591bd400789e"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"440f2c7c4cba4d54dcc9ee0f08704341beb06658","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"        CONFIG_CGROUP_SCHED may be disabled in some kernel configs to"},{"line_number":1003,"context_line":"        improve scheduler latency."},{"line_number":1004,"context_line":"        \"\"\""},{"line_number":1005,"context_line":"        with open(\"/proc/self/mounts\", \"r\") as fd:"},{"line_number":1006,"context_line":"            for line in fd.readlines():"},{"line_number":1007,"context_line":"                # mount options and split options"},{"line_number":1008,"context_line":"                bits \u003d line.split()[3].split(\",\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa69d971_93f6945b","line":1005,"updated":"2016-01-11 16:33:19.000000000","message":"This results in 140+ unit test failures on my mac (which otherwise pass). I added a simple try/except IOError in the following patch. Good enough? Thoughts otherwise? Thanks!\n\nhttps://review.openstack.org/#/c/265485/","commit_id":"f6969afa4708d1702321dcd48062591bd400789e"}]}
