)]}'
{"cinder/volume/drivers/violin/v6000_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1d3296d31b6cbe773bc3218a0d74e0fb0ab89faf","unresolved":false,"context_lines":[{"line_number":43,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"vmemclient \u003d importutils.try_import(\"vmemclient\")"},{"line_number":46,"context_line":"if vmemclient:"},{"line_number":47,"context_line":"    LOG.info(_LI(\"Running with vmemclient version: %s.\"),"},{"line_number":48,"context_line":"             vmemclient.__version__)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_58e25230","line":46,"updated":"2015-03-17 04:41:00.000000000","message":"What happens if vmemclient is not imported/found? No change in bahavior here, just wondering if that\u0027s handled cleanly.","commit_id":"da3d27b23b1801f917fcf8e3656ea55a9f83863e"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e122413356a10e11dde57def2bd98c6b212bc8ea","unresolved":false,"context_lines":[{"line_number":43,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"vmemclient \u003d importutils.try_import(\"vmemclient\")"},{"line_number":46,"context_line":"if vmemclient:"},{"line_number":47,"context_line":"    LOG.info(_LI(\"Running with vmemclient version: %s.\"),"},{"line_number":48,"context_line":"             vmemclient.__version__)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_14b11501","line":46,"in_reply_to":"9a80dd14_146bd5b9","updated":"2015-03-19 04:30:41.000000000","message":"vmemclient won\u0027t be installed on the VM running Jenkins. So you can\u0027t raise importerror and exit. Driver should still be initialized.  Otherwise you can\u0027t pass Jenkins. Doing a try-catch in check_setup_for_errors() sounds good to me too. Just don\u0027t assume the library is installed when running unit tests.","commit_id":"da3d27b23b1801f917fcf8e3656ea55a9f83863e"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"33f0e0254a1c087d4e5727164ed5ecda6f70a8de","unresolved":false,"context_lines":[{"line_number":43,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"vmemclient \u003d importutils.try_import(\"vmemclient\")"},{"line_number":46,"context_line":"if vmemclient:"},{"line_number":47,"context_line":"    LOG.info(_LI(\"Running with vmemclient version: %s.\"),"},{"line_number":48,"context_line":"             vmemclient.__version__)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_146bd5b9","line":46,"in_reply_to":"9a80dd14_275d48ed","updated":"2015-03-19 03:46:44.000000000","message":"There is no hard rule. 3Par does the same thing here.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/san/hp/hp_3par_common.py#L47\n\nDRBD and RBD try catch and check_setup_for_errors():\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/drbdmanagedrv.py#L39\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/rbd.py#L36","commit_id":"da3d27b23b1801f917fcf8e3656ea55a9f83863e"},{"author":{"_account_id":7860,"name":"Ryan Lucio","email":"ryan.lucio@fireeye.com","username":"rlucio"},"change_message_id":"34a2a1cec6d4889d61e4d7521dd15532924cf0e9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"vmemclient \u003d importutils.try_import(\"vmemclient\")"},{"line_number":46,"context_line":"if vmemclient:"},{"line_number":47,"context_line":"    LOG.info(_LI(\"Running with vmemclient version: %s.\"),"},{"line_number":48,"context_line":"             vmemclient.__version__)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_9b62d63b","line":46,"in_reply_to":"9a80dd14_58e25230","updated":"2015-03-17 21:48:40.000000000","message":"Well, this could certainly be done better I think.  If the client isn\u0027t installed the driver will still initialize but will throw an exception when it tries to call vmemclient.open().  What would be a better way?  Should it raise an importerror and exit, or should it continue but have driver initialization fail?","commit_id":"da3d27b23b1801f917fcf8e3656ea55a9f83863e"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6320475bfd2df2a58465a6dd8259ccc055d1705c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"vmemclient \u003d importutils.try_import(\"vmemclient\")"},{"line_number":46,"context_line":"if vmemclient:"},{"line_number":47,"context_line":"    LOG.info(_LI(\"Running with vmemclient version: %s.\"),"},{"line_number":48,"context_line":"             vmemclient.__version__)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_275d48ed","line":46,"in_reply_to":"9a80dd14_9b62d63b","updated":"2015-03-18 02:15:55.000000000","message":"Good question. I don\u0027t know if there is a hard rule about where best to handle this type of situation. I think adding a check in check_for_setup_error would probably be the best place, IMO.\n\nUp to you if you want to address it. I just noticed it and thought I would point it out. That is existing behavior and not part of this patch, so I would knock this patch because of it.","commit_id":"da3d27b23b1801f917fcf8e3656ea55a9f83863e"}]}
