)]}'
{"nova/tests/unit/virt/libvirt/storage/test_rbd.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"84c0555e7c04b495a53096de183b6c50de0f716f","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    def test_connect_to_rados_default(self):"},{"line_number":280,"context_line":"        ret \u003d self.driver._connect_to_rados()"},{"line_number":281,"context_line":"        self.mock_rados.Rados.connect.assert_called_once_with("},{"line_number":282,"context_line":"                timeout\u003dself.rbd_connect_timeout)"},{"line_number":283,"context_line":"        self.assertTrue(self.mock_rados.Rados.open_ioctx.called)"},{"line_number":284,"context_line":"        self.assertIsInstance(ret[0], self.mock_rados.Rados)"},{"line_number":285,"context_line":"        self.assertEqual(self.mock_rados.Rados.ioctx, ret[1])"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_812aee7b","line":282,"updated":"2019-07-02 18:47:56.000000000","message":"✔ thanks","commit_id":"03f7dc29b75d1099ef44a034ed7e23d2a4444ac6"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d9e22cbda9f1b46d4d38e8c0e1b0d3a235a91fc5","unresolved":false,"context_lines":[{"line_number":1263,"context_line":"                pool\u003dCONF.libvirt.images_rbd_pool,"},{"line_number":1264,"context_line":"                ceph_conf\u003dCONF.libvirt.images_rbd_ceph_conf,"},{"line_number":1265,"context_line":"                rbd_user\u003dCONF.libvirt.rbd_user,"},{"line_number":1266,"context_line":"                rbd_connect_timeout\u003dCONF.libvirt.rbd_connect_timeout)"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"    def _cleanup_rbd(self, instance):"},{"line_number":1269,"context_line":"        # NOTE(nic): On revert_resize, the cleanup steps for the root"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_61ea6c74","line":1266,"updated":"2019-07-01 22:13:04.000000000","message":"I see you\u0027re just following the existing pattern, but I really don\u0027t like the fact that these CONF values are accessed out here and then passed into the driver constructor.\n\nIMO the constructor should take no arguments and should pull the CONF values directly.","commit_id":"98fe39a94c15acd9f44bfc2d3f99e57afeb8f001"}],"nova/virt/libvirt/imagebackend.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d9e22cbda9f1b46d4d38e8c0e1b0d3a235a91fc5","unresolved":false,"context_lines":[{"line_number":839,"context_line":""},{"line_number":840,"context_line":"        self.pool \u003d CONF.libvirt.images_rbd_pool"},{"line_number":841,"context_line":"        self.rbd_user \u003d CONF.libvirt.rbd_user"},{"line_number":842,"context_line":"        self.rbd_connect_timeout \u003d CONF.libvirt.rbd_connect_timeout"},{"line_number":843,"context_line":"        self.ceph_conf \u003d CONF.libvirt.images_rbd_ceph_conf"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"        path \u003d \u0027rbd:%s/%s\u0027 % (self.pool, self.rbd_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_a1c2a4e7","line":842,"updated":"2019-07-01 22:13:04.000000000","message":"Likewise here, these instance attrs aren\u0027t used anywhere other than to pass into the RBDDriver constructor. If they\u0027re going to exist at all, they should at the very least be private; but I don\u0027t see why they need to exist. (If, e.g. for test purposes, you need to get at Rbd.pool etc, you could do it via Rbd.driver.pool etc.)","commit_id":"98fe39a94c15acd9f44bfc2d3f99e57afeb8f001"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"75659e1b3346106cf932f3d06b999835feef8c79","unresolved":false,"context_lines":[{"line_number":839,"context_line":""},{"line_number":840,"context_line":"        self.pool \u003d CONF.libvirt.images_rbd_pool"},{"line_number":841,"context_line":"        self.rbd_user \u003d CONF.libvirt.rbd_user"},{"line_number":842,"context_line":"        self.rbd_connect_timeout \u003d CONF.libvirt.rbd_connect_timeout"},{"line_number":843,"context_line":"        self.ceph_conf \u003d CONF.libvirt.images_rbd_ceph_conf"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"        path \u003d \u0027rbd:%s/%s\u0027 % (self.pool, self.rbd_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_3ca257fd","line":842,"in_reply_to":"9fb8cfa7_a1c2a4e7","updated":"2019-07-01 22:14:50.000000000","message":"Sorry, correction, a couple of them are used, but\n\n \u003e get at Rbd.pool etc, you could do it via Rbd.driver.pool etc.)","commit_id":"98fe39a94c15acd9f44bfc2d3f99e57afeb8f001"}],"nova/virt/libvirt/storage/rbd_utils.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d9e22cbda9f1b46d4d38e8c0e1b0d3a235a91fc5","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        # https://github.com/ceph/ceph/pull/1787"},{"line_number":125,"context_line":"        self.ceph_conf \u003d ceph_conf or \u0027\u0027"},{"line_number":126,"context_line":"        self.rbd_user \u003d rbd_user or None"},{"line_number":127,"context_line":"        self.rbd_connect_timeout \u003d rbd_connect_timeout or 5"},{"line_number":128,"context_line":"        if rbd is None:"},{"line_number":129,"context_line":"            raise RuntimeError(_(\u0027rbd python libraries not found\u0027))"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_21aeb42d","line":127,"range":{"start_line":127,"start_character":54,"end_line":127,"end_character":59},"updated":"2019-07-01 22:13:04.000000000","message":"-1 is here. There should be no need to default this since it always comes from the CONF.","commit_id":"98fe39a94c15acd9f44bfc2d3f99e57afeb8f001"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d5aa60ace78f9906cc57e0ad8bbd7e4726f7dcb3","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        # https://github.com/ceph/ceph/pull/1787"},{"line_number":125,"context_line":"        self.ceph_conf \u003d ceph_conf or \u0027\u0027"},{"line_number":126,"context_line":"        self.rbd_user \u003d rbd_user or None"},{"line_number":127,"context_line":"        self.rbd_connect_timeout \u003d rbd_connect_timeout or 5"},{"line_number":128,"context_line":"        if rbd is None:"},{"line_number":129,"context_line":"            raise RuntimeError(_(\u0027rbd python libraries not found\u0027))"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_cd5c9d4e","line":127,"range":{"start_line":127,"start_character":54,"end_line":127,"end_character":59},"in_reply_to":"9fb8cfa7_21aeb42d","updated":"2019-07-02 16:08:40.000000000","message":"ACK thanks, I\u0027ll remove this now.","commit_id":"98fe39a94c15acd9f44bfc2d3f99e57afeb8f001"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6086d2a6a1e5474dc21dce0ea91ef1486b2a1b0","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def __init__(self, pool, ceph_conf, rbd_user, rbd_connect_timeout):"},{"line_number":122,"context_line":"        self.pool \u003d pool"},{"line_number":123,"context_line":"        # NOTE(angdraug): rados.Rados fails to connect if ceph_conf is None:"},{"line_number":124,"context_line":"        # https://github.com/ceph/ceph/pull/1787"},{"line_number":125,"context_line":"        self.ceph_conf \u003d ceph_conf or \u0027\u0027"},{"line_number":126,"context_line":"        self.rbd_user \u003d rbd_user or None"},{"line_number":127,"context_line":"        self.rbd_connect_timeout \u003d rbd_connect_timeout"},{"line_number":128,"context_line":"        if rbd is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_77bbefe4","line":125,"range":{"start_line":123,"start_character":0,"end_line":125,"end_character":40},"updated":"2019-07-04 09:48:32.000000000","message":"Looks like this has been resolved since 2014. Easy followup here if you were interested","commit_id":"03f7dc29b75d1099ef44a034ed7e23d2a4444ac6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"50b11c893802a489624425c2e1e18b4a73db6a28","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        client \u003d rados.Rados(rados_id\u003dself.rbd_user,"},{"line_number":133,"context_line":"                                  conffile\u003dself.ceph_conf)"},{"line_number":134,"context_line":"        try:"},{"line_number":135,"context_line":"            client.connect(timeout\u003dself.rbd_connect_timeout)"},{"line_number":136,"context_line":"            pool_to_open \u003d pool or self.pool"},{"line_number":137,"context_line":"            # NOTE(luogangyi): open_ioctx \u003e\u003d 10.1.0 could handle unicode"},{"line_number":138,"context_line":"            # arguments perfectly as part of Python 3 support."}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_b27cee20","line":135,"range":{"start_line":135,"start_character":27,"end_line":135,"end_character":34},"updated":"2019-07-24 15:25:01.000000000","message":"Any idea when this was added? It\u0027s in the docs but not sure when it was added:\n\nhttp://docs.ceph.com/docs/master/rados/api/python/#rados.Rados.connect\n\nI guess at least according to when those docs were written it\u0027s been around a long long time:\n\nhttps://github.com/ceph/ceph/commit/8cb3dad5488874b2af3234ac3bf2c627ba19a5ae","commit_id":"03f7dc29b75d1099ef44a034ed7e23d2a4444ac6"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"4edd12fede46dc278006881329c9f73cb03c9e50","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        client \u003d rados.Rados(rados_id\u003dself.rbd_user,"},{"line_number":133,"context_line":"                                  conffile\u003dself.ceph_conf)"},{"line_number":134,"context_line":"        try:"},{"line_number":135,"context_line":"            client.connect(timeout\u003dself.rbd_connect_timeout)"},{"line_number":136,"context_line":"            pool_to_open \u003d pool or self.pool"},{"line_number":137,"context_line":"            # NOTE(luogangyi): open_ioctx \u003e\u003d 10.1.0 could handle unicode"},{"line_number":138,"context_line":"            # arguments perfectly as part of Python 3 support."}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_6ddae217","line":135,"range":{"start_line":135,"start_character":27,"end_line":135,"end_character":34},"in_reply_to":"7faddb67_b27cee20","updated":"2019-07-29 08:02:05.000000000","message":"Yeah a while, I listed the version specific docs for luminous, mimic and nautilus in the commit message.","commit_id":"03f7dc29b75d1099ef44a034ed7e23d2a4444ac6"}]}
