)]}'
{"nova/compute/utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8d38be4c0c5bb6ae7b4965ca262505533642b8f7","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    /dev/vdc is specified but the backend uses /dev/xvdc), the device"},{"line_number":137,"context_line":"    name will be converted to the appropriate format."},{"line_number":138,"context_line":"    \"\"\""},{"line_number":139,"context_line":"    is_xenapi \u003d driver.is_xenapi()"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    req_prefix \u003d None"},{"line_number":142,"context_line":"    req_letter \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_e1f71089","line":139,"range":{"start_line":139,"start_character":4,"end_line":139,"end_character":34},"updated":"2016-03-09 13:54:44.000000000","message":"nit: unless the lookup is expensive, just use \u0027driver.is_xenapi()\u0027 everywhere?","commit_id":"6dd3d786ff5efb658a822089f628e07d7ee99c22"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"2e07524da57a91beef9c8221b3e902127ccbc762","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    /dev/vdc is specified but the backend uses /dev/xvdc), the device"},{"line_number":137,"context_line":"    name will be converted to the appropriate format."},{"line_number":138,"context_line":"    \"\"\""},{"line_number":139,"context_line":"    is_xenapi \u003d driver.is_xenapi()"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    req_prefix \u003d None"},{"line_number":142,"context_line":"    req_letter \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5aef4532_ce0af478","line":139,"range":{"start_line":139,"start_character":4,"end_line":139,"end_character":34},"in_reply_to":"5aef4532_e1f71089","updated":"2016-03-09 16:21:55.000000000","message":"Done","commit_id":"6dd3d786ff5efb658a822089f628e07d7ee99c22"}],"nova/tests/unit/virt/test_driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed9ca9d3a5cc2d7cb0e1ec869c4911fa95404f57","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    def test_is_xen_false(self):"},{"line_number":75,"context_line":"        driver_names \u003d (\u0027libvirt.LibvirtDriver\u0027, \u0027fake.FakeDriver\u0027,"},{"line_number":76,"context_line":"                        \u0027ironic.IronicDriver\u0027, \u0027vmwareapi.VMwareVCDriver\u0027,"},{"line_number":77,"context_line":"                        \u0027hyperv.HyperVDriver\u0027)"},{"line_number":78,"context_line":"        for driver_name in driver_names:"},{"line_number":79,"context_line":"            self.CONF.set_override(\u0027compute_driver\u0027, driver_name,"},{"line_number":80,"context_line":"                                   enforce_type\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_8f65f746","line":77,"updated":"2016-03-07 22:16:53.000000000","message":"You might want to add None to this list since there was a comment about that being a concern.","commit_id":"8ab20b2d4b03a0b08454eb0fe06e5acfc87e8a2e"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"cb25bea261c15208b49a59d5c4f3443d680a4357","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    def test_is_xen_false(self):"},{"line_number":75,"context_line":"        driver_names \u003d (\u0027libvirt.LibvirtDriver\u0027, \u0027fake.FakeDriver\u0027,"},{"line_number":76,"context_line":"                        \u0027ironic.IronicDriver\u0027, \u0027vmwareapi.VMwareVCDriver\u0027,"},{"line_number":77,"context_line":"                        \u0027hyperv.HyperVDriver\u0027)"},{"line_number":78,"context_line":"        for driver_name in driver_names:"},{"line_number":79,"context_line":"            self.CONF.set_override(\u0027compute_driver\u0027, driver_name,"},{"line_number":80,"context_line":"                                   enforce_type\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_694ce370","line":77,"in_reply_to":"5aef4532_8f65f746","updated":"2016-03-08 01:02:49.000000000","message":"Done","commit_id":"8ab20b2d4b03a0b08454eb0fe06e5acfc87e8a2e"}],"nova/virt/driver.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6d660dd204bf8e47549d24b75e8ba867881accb2","unresolved":false,"context_lines":[{"line_number":1636,"context_line":""},{"line_number":1637,"context_line":""},{"line_number":1638,"context_line":"def is_xen():"},{"line_number":1639,"context_line":"    return CONF.compute_driver \u003d\u003d \u0027xenapi.XenAPIDriver\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_627247af","line":1639,"updated":"2016-03-06 18:52:35.000000000","message":"Is there a test covering this?","commit_id":"028aa73b07c54d7f912f893d494555832b7b95b2"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"7c74ad9505188f8dedb2c5ce303e34067780baed","unresolved":false,"context_lines":[{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":""},{"line_number":1629,"context_line":"def is_xen():"},{"line_number":1630,"context_line":"    return CONF.compute_driver \u003d\u003d \u0027xenapi.XenAPIDriver\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_0ee9091b","line":1630,"range":{"start_line":1630,"start_character":4,"end_line":1630,"end_character":55},"updated":"2016-03-07 12:59:06.000000000","message":"I it possible to not have the compute_driver in configuration? Previously there was a check for CONF.compute_driver existence.","commit_id":"8ab20b2d4b03a0b08454eb0fe06e5acfc87e8a2e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed9ca9d3a5cc2d7cb0e1ec869c4911fa95404f57","unresolved":false,"context_lines":[{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":""},{"line_number":1629,"context_line":"def is_xen():"},{"line_number":1630,"context_line":"    return CONF.compute_driver \u003d\u003d \u0027xenapi.XenAPIDriver\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_cf11bfae","line":1630,"range":{"start_line":1630,"start_character":4,"end_line":1630,"end_character":55},"in_reply_to":"5aef4532_0ee9091b","updated":"2016-03-07 22:16:53.000000000","message":"If defaults to None if not specified, which equates to False here. The check was there before because if not set you\u0027d get a NoneType exception on the None.endswith call.","commit_id":"8ab20b2d4b03a0b08454eb0fe06e5acfc87e8a2e"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"cb25bea261c15208b49a59d5c4f3443d680a4357","unresolved":false,"context_lines":[{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":""},{"line_number":1629,"context_line":"def is_xen():"},{"line_number":1630,"context_line":"    return CONF.compute_driver \u003d\u003d \u0027xenapi.XenAPIDriver\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_691ea364","line":1630,"range":{"start_line":1630,"start_character":4,"end_line":1630,"end_character":55},"in_reply_to":"5aef4532_cf11bfae","updated":"2016-03-08 01:02:49.000000000","message":"compute_driver config option was registered by Nova, So it always existed, otherwise a NoSuchOptError will be raised by oslo_config.\n\n\u003e\u003e\u003e s \u003d None and None.endswith(\u0027tests\u0027)\n\u003e\u003e\u003e s is None\nTrue\n\nWe\u0027d better return Boolean value here.\nYes , will add None in tests.","commit_id":"8ab20b2d4b03a0b08454eb0fe06e5acfc87e8a2e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"31c6bc495e854df465e7e6cb5b91dacc39c6a206","unresolved":false,"context_lines":[{"line_number":1626,"context_line":"        sys.exit(1)"},{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":""},{"line_number":1629,"context_line":"def is_xen():"},{"line_number":1630,"context_line":"    return CONF.compute_driver \u003d\u003d \u0027xenapi.XenAPIDriver\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_6c197579","line":1629,"updated":"2016-03-08 14:24:54.000000000","message":"I think \"is_xenapi\" would be better, as xen can be confusing between XenAPI and libvirt+xen.","commit_id":"12d8d16f68645b13c4547c3c8ae2c62266a26118"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1e43a51481885029b189ba971f8d32bb4a919d68","unresolved":false,"context_lines":[{"line_number":1626,"context_line":"        sys.exit(1)"},{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":""},{"line_number":1629,"context_line":"def is_xen():"},{"line_number":1630,"context_line":"    return CONF.compute_driver \u003d\u003d \u0027xenapi.XenAPIDriver\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_47ed5824","line":1629,"in_reply_to":"5aef4532_6c197579","updated":"2016-03-09 00:51:40.000000000","message":"Done","commit_id":"12d8d16f68645b13c4547c3c8ae2c62266a26118"}]}
