)]}'
{"nova/virt/hardware.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"8173d6817350597f55a5ac306d474c3a8864c628","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    return cpuset_ids"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def format_cpu_spec(cpuset, allowRanges\u003dTrue):"},{"line_number":107,"context_line":"    \"\"\"Format a libvirt CPU range specification."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    :param cpuset: set (or list) of CPU indexes"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_78e1e1fd","line":106,"updated":"2014-07-08 10:42:08.000000000","message":"allowRanges should really be allow_ranges. Camel case is avoided in Python for anything except class names.","commit_id":"ae6c67aa9070232e152a0a7171ca06db681627d5"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"8173d6817350597f55a5ac306d474c3a8864c628","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    if allowRanges:"},{"line_number":123,"context_line":"        ranges \u003d []"},{"line_number":124,"context_line":"        previndex \u003d None"},{"line_number":125,"context_line":"        for cpuindex in sorted(cpuset):"},{"line_number":126,"context_line":"            if previndex is None or previndex !\u003d (cpuindex - 1):"},{"line_number":127,"context_line":"                ranges.append([])"},{"line_number":128,"context_line":"            ranges[len(ranges) - 1].append(cpuindex)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_18e8e515","line":125,"updated":"2014-07-08 10:42:08.000000000","message":"Yep sorting it here is better.","commit_id":"ae6c67aa9070232e152a0a7171ca06db681627d5"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"8173d6817350597f55a5ac306d474c3a8864c628","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        for cpuindex in sorted(cpuset):"},{"line_number":126,"context_line":"            if previndex is None or previndex !\u003d (cpuindex - 1):"},{"line_number":127,"context_line":"                ranges.append([])"},{"line_number":128,"context_line":"            ranges[len(ranges) - 1].append(cpuindex)"},{"line_number":129,"context_line":"            previndex \u003d cpuindex"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        parts \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_58c97dab","line":128,"updated":"2014-07-08 10:42:08.000000000","message":"Can be just ranges[-1] if you respin","commit_id":"ae6c67aa9070232e152a0a7171ca06db681627d5"}],"nova/virt/xenapi/vm_utils.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6fc0656e973eb832eab85beb0c74be7e736aad15","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    cpu_mask_list \u003d hardware.get_vcpu_pin_set()"},{"line_number":244,"context_line":"    if cpu_mask_list:"},{"line_number":245,"context_line":"        cpu_mask \u003d hardware.format_cpu_spec(cpu_mask_list,"},{"line_number":246,"context_line":"                                            allowRanges\u003dFalse)"},{"line_number":247,"context_line":"        vcpu_params[\"mask\"] \u003d cpu_mask"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    viridian \u003d \u0027true\u0027 if instance[\u0027os_type\u0027] \u003d\u003d \u0027windows\u0027 else \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_fe723910","line":246,"updated":"2014-07-08 11:41:45.000000000","message":"This is probably gonna fail since we pass it by keyword - but jenkins will confirm :)","commit_id":"e9b775312958a8ece9c542d05ad26f618deca18d"}]}
