)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e39ad9e5e86718e9f0f6a86c13af90a5350e891c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This corrects the reporting of reserved_host_disk_mb to the placement"},{"line_number":16,"context_line":"API when updating the compute node inventory."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"TODO - raise bug."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I5573c82eb99cde13c407c8d6a06ecb04165ab9c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a461143_dcfb0e46","line":18,"updated":"2017-02-02 13:50:39.000000000","message":"Is https://bugs.launchpad.net/nova/+bug/1659266 the same thing?","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"204d8b680a90ac35eb53b593e83f50f7efbe11d2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This corrects the reporting of reserved_host_disk_mb to the placement"},{"line_number":16,"context_line":"API when updating the compute node inventory."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"TODO - raise bug."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I5573c82eb99cde13c407c8d6a06ecb04165ab9c5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a461143_68033510","line":18,"in_reply_to":"3a461143_dcfb0e46","updated":"2017-02-02 15:03:17.000000000","message":"This bug has now been raised: https://bugs.launchpad.net/nova/+bug/1661243\n\nThey are certainly related, but one bug is allocations, the other is inventory.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"}],"nova/scheduler/client/report.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6f4f0b4e693f854a3fa3836bfcc0a22f6f59d445","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        }"},{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_2125cdad","line":120,"range":{"start_line":120,"start_character":37,"end_line":120,"end_character":41},"updated":"2017-02-02 13:18:02.000000000","message":"nit: the config option has \u0027min\u003d0\u0027, so we could say\n\n  if CONF.reserved_host_disk_mb:","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"fe20979bb81fe73a34007db437881a5efcc0b638","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        }"},{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_bc22c2ff","line":120,"range":{"start_line":120,"start_character":37,"end_line":120,"end_character":41},"in_reply_to":"3a461143_2125cdad","updated":"2017-02-02 13:54:05.000000000","message":"True, but without having to refer to that file, this format makes things much more explicit.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"204d8b680a90ac35eb53b593e83f50f7efbe11d2","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        }"},{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_eb0d5f38","line":120,"range":{"start_line":120,"start_character":37,"end_line":120,"end_character":41},"in_reply_to":"3a461143_bc22c2ff","updated":"2017-02-02 15:03:17.000000000","message":"well, I should also check for None here, so I kinda like stephen\u0027s suggestion.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6f4f0b4e693f854a3fa3836bfcc0a22f6f59d445","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_663a8be9","line":121,"range":{"start_line":121,"start_character":42,"end_line":121,"end_character":63},"updated":"2017-02-02 13:18:02.000000000","message":"The only non-GB use of this is in unit tests. Perhaps you could add a TODO to deprecate this in favor of a \u0027reserved_host_disk_gb\u0027 config variable in Pike?\n\n\t$ ag reserved_host_disk_mb --ignore tests\n\tnova/compute/resource_tracker.py\n\t943:        cn.local_gb_used \u003d CONF.reserved_host_disk_mb / 1024\n\n\tnova/scheduler/client/report.py\n\t120:            \u0027reserved\u0027: CONF.reserved_host_disk_mb * 1024,\n\n\tnova/conf/compute.py\n\t368:    cfg.IntOpt(\u0027reserved_host_disk_mb\u0027,\n\n\tnova/virt/libvirt/driver.py\n\t5644:            (disk_available_gb * units.Ki) - CONF.reserved_host_disk_mb)","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"fe20979bb81fe73a34007db437881a5efcc0b638","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_dca94e26","line":121,"range":{"start_line":121,"start_character":31,"end_line":121,"end_character":36},"updated":"2017-02-02 13:54:05.000000000","message":"nit: if you\u0027re dividing by a float like 1024.0, you don\u0027t need to cast the other value to a float, too.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c57a0e5605d7c40425311bb92e5f8513037ce918","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_ff3b5236","line":121,"range":{"start_line":121,"start_character":31,"end_line":121,"end_character":36},"in_reply_to":"3a461143_6c034277","updated":"2017-02-02 17:34:35.000000000","message":"but...\n\nPython 2.7.12 (v2.7.12:d33e0cf91556, Jun 26 2016, 12:10:39)\n\u003e\u003e\u003e 1000 / 1024\n0\n\u003e\u003e\u003e 1000 / 1024.0\n0.9765625","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"204d8b680a90ac35eb53b593e83f50f7efbe11d2","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_eb247fb0","line":121,"range":{"start_line":121,"start_character":31,"end_line":121,"end_character":36},"in_reply_to":"3a461143_dca94e26","updated":"2017-02-02 15:03:17.000000000","message":"I thought I did need the float conversion for python3.5?\n\nYeah, we should totally change the config, if we want to keep this in gb.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9c65ff0239e5890f4a36594403f4c45571a07edb","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_ec949245","line":121,"range":{"start_line":121,"start_character":31,"end_line":121,"end_character":36},"in_reply_to":"3a461143_eb247fb0","updated":"2017-02-02 17:12:01.000000000","message":"You don\u0027t need either the 1024.0 nor the float() conversion:\n\n(py35) jaypipes@uberbox:~/src/git.openstack.org/openstack/nova$ python\nPython 3.5.2+ (default, Sep 22 2016, 12:18:14) \n[GCC 6.2.0 20160927] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n\u003e\u003e\u003e import math\n\u003e\u003e\u003e \n\u003e\u003e\u003e d \u003d 1000\n\u003e\u003e\u003e f \u003d d / 1024\n\u003e\u003e\u003e f\n0.9765625\n\u003e\u003e\u003e math.ceil(f)\n1","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3998a990fd059aa1c5cdb8bbc484eaf94aaa85cf","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    if compute_node.local_gb \u003e 0:"},{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_6c034277","line":121,"range":{"start_line":121,"start_character":31,"end_line":121,"end_character":36},"in_reply_to":"3a461143_ec949245","updated":"2017-02-02 17:15:39.000000000","message":"I just did that myself, +1","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6f4f0b4e693f854a3fa3836bfcc0a22f6f59d445","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"},{"line_number":125,"context_line":"            \u0027reserved\u0027: reserved_disk_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_219a2dc6","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":63},"updated":"2017-02-02 13:18:02.000000000","message":"Do we really need to round this? I note that in nova/compute/resource_tracker.py we use the unrounded version [1]\n\n[1] https://github.com/openstack/nova/blob/9ecf4cbb8fc3e717424482f0804dfed243f8c79f/nova/compute/resource_tracker.py#L943","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"fe20979bb81fe73a34007db437881a5efcc0b638","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"},{"line_number":125,"context_line":"            \u0027reserved\u0027: reserved_disk_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_dc05ce14","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":63},"in_reply_to":"3a461143_219a2dc6","updated":"2017-02-02 13:54:05.000000000","message":"Also: math.ceil will return an int, so no need for the additional cast to int.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3998a990fd059aa1c5cdb8bbc484eaf94aaa85cf","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"},{"line_number":125,"context_line":"            \u0027reserved\u0027: reserved_disk_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_cc399643","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":63},"in_reply_to":"3a461143_ac81aafd","updated":"2017-02-02 17:15:39.000000000","message":"agreed, but...\n\nPython 2.7.12 (v2.7.12:d33e0cf91556, Jun 26 2016, 12:10:39)\n\u003e\u003e\u003e import math\n\u003e\u003e\u003e math.ceil(10.5)\n11.0","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"527d2d07c2354b332c14fd1d6f7efe40f5d05e64","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"},{"line_number":125,"context_line":"            \u0027reserved\u0027: reserved_disk_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_4a957f3e","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":63},"in_reply_to":"3a461143_cc399643","updated":"2017-02-02 19:59:22.000000000","message":"mea culpa - John is right.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9c65ff0239e5890f4a36594403f4c45571a07edb","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"},{"line_number":125,"context_line":"            \u0027reserved\u0027: reserved_disk_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_ac81aafd","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":63},"in_reply_to":"3a461143_dc05ce14","updated":"2017-02-02 17:12:01.000000000","message":"Ed is correct. math.ceil() returns an int:\n\n(py35) jaypipes@uberbox:~/src/git.openstack.org/openstack/nova$ python\nPython 3.5.2+ (default, Sep 22 2016, 12:18:14) \n[GCC 6.2.0 20160927] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n\u003e\u003e\u003e import math\n\u003e\u003e\u003e \n\u003e\u003e\u003e d \u003d 1000\n\u003e\u003e\u003e f \u003d d / 1024\n\u003e\u003e\u003e f\n0.9765625\n\u003e\u003e\u003e math.ceil(f)\n1","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"204d8b680a90ac35eb53b593e83f50f7efbe11d2","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        reserved_disk_gb \u003d 0"},{"line_number":120,"context_line":"        if CONF.reserved_host_disk_mb \u003e 0:"},{"line_number":121,"context_line":"            reserved_disk_gb \u003d float(CONF.reserved_host_disk_mb) / 1024.0"},{"line_number":122,"context_line":"            reserved_disk_gb \u003d int(math.ceil(reserved_disk_gb))"},{"line_number":123,"context_line":"        result[DISK_GB] \u003d {"},{"line_number":124,"context_line":"            \u0027total\u0027: compute_node.local_gb,"},{"line_number":125,"context_line":"            \u0027reserved\u0027: reserved_disk_gb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_2b3e87b8","line":122,"range":{"start_line":122,"start_character":31,"end_line":122,"end_character":63},"in_reply_to":"3a461143_dc05ce14","updated":"2017-02-02 15:03:17.000000000","message":"It returned a float in my tests, which confused the hell out of me. I can double check that.\n\nI wanted to round up, else we start reserving 0 gb a lot of the times.\n\nThis is the more general bug issue that bauzas is looking at, we should probably do disk in MB here, not GB.","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d32c21247a53ab4135bea69bd45422769dea9c22","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    # NOTE(danms): Boot-from-volume instances consume no local disk"},{"line_number":141,"context_line":"    is_bfv \u003d compute_utils.is_volume_backed_instance(instance._context,"},{"line_number":142,"context_line":"                                                     instance)"},{"line_number":143,"context_line":"    disk \u003d ((0 if is_bfv else instance.flavor.root_gb) +"},{"line_number":144,"context_line":"            instance.flavor.swap +"},{"line_number":145,"context_line":"            instance.flavor.ephemeral_gb)"},{"line_number":146,"context_line":"    alloc_dict \u003d {"},{"line_number":147,"context_line":"        MEMORY_MB: instance.flavor.memory_mb,"},{"line_number":148,"context_line":"        VCPU: instance.flavor.vcpus,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_1c303607","line":145,"range":{"start_line":143,"start_character":4,"end_line":145,"end_character":41},"updated":"2017-02-02 13:52:47.000000000","message":"This bug report:\n\nhttps://bugs.launchpad.net/nova/+bug/1659266\n\nIs pointing out that the problem is in this part of the code, and compares it to how the DiskFilter does this:\n\nhttps://github.com/openstack/nova/blob/3cafa7f5bd0775b8ba49080226c03f8a91468d7d/nova/scheduler/filters/disk_filter.py#L36-L38","commit_id":"52f3f00209cb3451ac965e9e60f3183409cee7ff"}]}
