)]}'
{"cinder/tests/unit/test_fujitsu.py":[{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"e993d0a542f068124e6009cfd7234e22ac4854cc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from cinder import test"},{"line_number":24,"context_line":"from cinder.volume.drivers.fujitsu.eternus_dx_common import FJDXCommon"},{"line_number":25,"context_line":"from cinder.volume.drivers.fujitsu.eternus_dx_iscsi import FJDXISCSIDriver"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONFIG_FILE_NAME \u003d \u0027cinder_fujitsu_eternus_dx.xml\u0027"},{"line_number":29,"context_line":"STORAGE_SYSTEM \u003d \u0027172.16.0.2\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_04f722f6","line":26,"updated":"2015-10-06 19:11:34.000000000","message":"Unit tests should not perform logging\nhttps://github.com/openstack/cinder/blob/master/HACKING.rst","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"f2f9fd7ca1425fac33ade8030a67742bfb8469af","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        global MAP_STAT, VOL_STAT"},{"line_number":131,"context_line":"        if MethodName \u003d\u003d \u0027CreateOrModifyElementFromStoragePool\u0027:"},{"line_number":132,"context_line":"            VOL_STAT \u003d \u00271\u0027"},{"line_number":133,"context_line":"            rc \u003d 0L"},{"line_number":134,"context_line":"            vol \u003d self._enum_volumes()"},{"line_number":135,"context_line":"            job \u003d {\u0027TheElement\u0027: vol[0].path}"},{"line_number":136,"context_line":"        elif MethodName \u003d\u003d \u0027ReturnToStoragePool\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a2ca52d_a893d6a2","line":133,"updated":"2015-10-13 13:59:56.000000000","message":"There is no \"long int\" in Python3.\nsame comment for other places","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":44,"context_line":"               \u0027provider_location\u0027: None,"},{"line_number":45,"context_line":"               \u0027volume_metadata\u0027: [],"},{"line_number":46,"context_line":"               \u0027size\u0027: 1}"},{"line_number":47,"context_line":"# result : {volume_name : FJosv_0qJ4rpOHgFE8ipcJOMfBmg\u003d\u003d}"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"TEST_SNAP \u003d {\u0027id\u0027: \u0027f47a8da3-d9e2-46aa-831f-0ef04158d5a1\u0027,"},{"line_number":50,"context_line":"             \u0027volume_name\u0027: \u0027volume-3d6eeb5d-109b-4435-b891-d01415178490\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_844fc791","line":47,"updated":"2015-10-19 15:04:21.000000000","message":"Is this comment needed?","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":638,"context_line":"        self.configuration.cinder_eternus_config_file \u003d self.config_file"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"        #  replace some configuration function with fake"},{"line_number":641,"context_line":"        # self.stubs.Set(self.driver.configuration, \u0027safe_get\u0027,"},{"line_number":642,"context_line":"        #                self.fake_configuration_safe_get)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"        self.stubs.Set(FJDXCommon, \u0027_get_eternus_connection\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_4a145943","line":641,"updated":"2015-10-19 15:04:21.000000000","message":"Please remove commented out code.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":674,"context_line":"                    \u0027target_lun\u0027: 0}"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"    def test_get_volume_stats(self):"},{"line_number":677,"context_line":"        self.driver.get_volume_stats(True)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"    def test_create_and_delete_volume(self):"},{"line_number":680,"context_line":"        self.driver.create_volume(TEST_VOLUME)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_6a3fd5b4","line":677,"updated":"2015-10-19 15:04:21.000000000","message":"I\u0027d like to see some assertions on the results in these unit tests. Also some failure path coverage.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"               \u0027display_name\u0027: \u0027volume1\u0027,"},{"line_number":48,"context_line":"               \u0027provider_location\u0027: None,"},{"line_number":49,"context_line":"               \u0027volume_metadata\u0027: [],"},{"line_number":50,"context_line":"               \u0027size\u0027: 1}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"TEST_SNAP \u003d {\u0027id\u0027: \u0027f47a8da3-d9e2-46aa-831f-0ef04158d5a1\u0027,"},{"line_number":53,"context_line":"             \u0027volume_name\u0027: \u0027volume-3d6eeb5d-109b-4435-b891-d01415178490\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d632e75e","line":50,"updated":"2015-10-21 12:13:00.000000000","message":"https://www.python.org/dev/peps/pep-0008/#indentation The closing brace/bracket/parenthesis on multi-line constructs may either line up under the first non-whitespace character of the last line of dict or it may be lined up under the first character of the line that starts the multi-line construct. Lets write as Guido suggests.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"ee110cecbb6589e3966813ef3368bb0df2bfdd22","unresolved":false,"context_lines":[{"line_number":47,"context_line":"               \u0027display_name\u0027: \u0027volume1\u0027,"},{"line_number":48,"context_line":"               \u0027provider_location\u0027: None,"},{"line_number":49,"context_line":"               \u0027volume_metadata\u0027: [],"},{"line_number":50,"context_line":"               \u0027size\u0027: 1}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"TEST_SNAP \u003d {\u0027id\u0027: \u0027f47a8da3-d9e2-46aa-831f-0ef04158d5a1\u0027,"},{"line_number":53,"context_line":"             \u0027volume_name\u0027: \u0027volume-3d6eeb5d-109b-4435-b891-d01415178490\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_ba2342bc","line":50,"in_reply_to":"3a29b11f_38eaef74","updated":"2015-10-22 23:00:58.000000000","message":"@ankit, nikesh: sorry, I only read \u0027yes\u0027 part in web site you suggested, and I didn\u0027t read following section.\n\nI update using \u0027line up under the first non-whitespace character of the last line of dict\u0027\n\n-----------------------------------\n The closing brace/bracket/parenthesis on multi-line constructs may either line up under the first non-whitespace character of the last line of list, as in:\n\nmy_list \u003d [\n    1, 2, 3,\n    4, 5, 6,\n    ]\nresult \u003d some_function_that_takes_arguments(\n    \u0027a\u0027, \u0027b\u0027, \u0027c\u0027,\n    \u0027d\u0027, \u0027e\u0027, \u0027f\u0027,\n    )\n\nor it may be lined up under the first character of the line that starts the multi-line construct, as in:\n\nmy_list \u003d [\n    1, 2, 3,\n    4, 5, 6,\n]\nresult \u003d some_function_that_takes_arguments(\n    \u0027a\u0027, \u0027b\u0027, \u0027c\u0027,\n    \u0027d\u0027, \u0027e\u0027, \u0027f\u0027,\n)","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"664472e3c4705099a6db1c9cfea793bcf33e7e6d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"               \u0027display_name\u0027: \u0027volume1\u0027,"},{"line_number":48,"context_line":"               \u0027provider_location\u0027: None,"},{"line_number":49,"context_line":"               \u0027volume_metadata\u0027: [],"},{"line_number":50,"context_line":"               \u0027size\u0027: 1}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"TEST_SNAP \u003d {\u0027id\u0027: \u0027f47a8da3-d9e2-46aa-831f-0ef04158d5a1\u0027,"},{"line_number":53,"context_line":"             \u0027volume_name\u0027: \u0027volume-3d6eeb5d-109b-4435-b891-d01415178490\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_38eaef74","line":50,"in_reply_to":"3a29b11f_d632e75e","updated":"2015-10-22 15:56:37.000000000","message":"TEST_VOLUME \u003d {\u0027id\u0027: \u00273d6eeb5d-109b-4435-b891-d01415178490\u0027,\n               \u0027name\u0027: \u0027volume1\u0027,\n               \u0027display_name\u0027: \u0027volume1\u0027,\n               \u0027provider_location\u0027: None,\n               \u0027volume_metadata\u0027: [],\n               \u0027size\u0027: 1,\n}\n             or\nTEST_VOLUME \u003d {\u0027id\u0027: \u00273d6eeb5d-109b-4435-b891-d01415178490\u0027,\n               \u0027name\u0027: \u0027volume1\u0027,\n               \u0027display_name\u0027: \u0027volume1\u0027,\n               \u0027provider_location\u0027: None,\n               \u0027volume_metadata\u0027: [],\n               \u0027size\u0027: 1,\n               }\n\n@ankit: is this what you suggest?\nAlso, i think comma in the end of the dictionary would be good.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"             \u0027name\u0027: \u0027snap1\u0027,"},{"line_number":55,"context_line":"             \u0027display_name\u0027: \u0027test_snapshot\u0027,"},{"line_number":56,"context_line":"             \u0027volume\u0027: TEST_VOLUME,"},{"line_number":57,"context_line":"             \u0027volume_id\u0027: \u00273d6eeb5d-109b-4435-b891-d01415178490\u0027}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"TEST_CLONE \u003d {\u0027name\u0027: \u0027clone1\u0027,"},{"line_number":60,"context_line":"              \u0027size\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7633d362","line":57,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"              \u0027project_id\u0027: \u0027project\u0027,"},{"line_number":64,"context_line":"              \u0027display_name\u0027: \u0027clone1\u0027,"},{"line_number":65,"context_line":"              \u0027display_description\u0027: \u0027volume created from snapshot\u0027,"},{"line_number":66,"context_line":"              \u0027volume_metadata\u0027: []}"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"ISCSI_INITIATOR \u003d \u0027iqn.1993-08.org.debian:01:8261afe17e4c\u0027"},{"line_number":69,"context_line":"ISCSI_TARGET_IP \u003d \u002710.0.0.3\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_36423baf","line":66,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"FC_TARGET_WWN \u003d [\u0027500000E0DA000001\u0027, \u0027500000E0DA000002\u0027]"},{"line_number":72,"context_line":"TEST_WWPN \u003d [\u00270123456789111111\u0027, \u00270123456789222222\u0027]"},{"line_number":73,"context_line":"TEST_CONNECTOR \u003d {\u0027initiator\u0027: ISCSI_INITIATOR,"},{"line_number":74,"context_line":"                  \u0027wwpns\u0027: TEST_WWPN}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"STOR_CONF_SVC \u003d \u0027FUJITSU_StorageConfigurationService\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f647e3b9","line":74,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"STORAGE_TYPE \u003d \u0027abcd1234_TPP\u0027"},{"line_number":90,"context_line":"LUNMASKCTRL_IDS \u003d [\u0027AFG0010_CM00CA00P00\u0027, \u0027AFG0011_CM01CA00P00\u0027]"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"STORAGE_SYSTEM \u003d \u0027172.16.0.2\u0027"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"MAP_STAT \u003d \u00270\u0027"},{"line_number":95,"context_line":"VOL_STAT \u003d \u00270\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f6fa8342","line":92,"updated":"2015-10-21 12:13:00.000000000","message":"Duplicate variable assignment to line #32.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":679,"context_line":"    def setUp(self):"},{"line_number":680,"context_line":"        super(FJISCSIDriverTestCase, self).setUp()"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"        # make fake xml-configuration file"},{"line_number":683,"context_line":"        self.config_file \u003d tempfile.NamedTemporaryFile(\"w+\", suffix\u003d\u0027.xml\u0027)"},{"line_number":684,"context_line":"        self.addCleanup(self.config_file.close)"},{"line_number":685,"context_line":"        self.config_file.write(CONF)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_b633ab13","line":682,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"}],"cinder/volume/drivers/fujitsu/eternus_dx_common.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"967bd507b4f00975460ce9ea93bc3dcfe794d4ef","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                self._get_drvcfg(\u0027EternusISCSIIP\u0027)"},{"line_number":159,"context_line":"        # end of if"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        return"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_e0a7924d","line":161,"updated":"2015-10-06 08:30:19.000000000","message":"Many methods below get a new self.conn. It isn\u0027t clear why we get a conn here and get a new one later, nor is it clear exactly where the conn is used.","commit_id":"51997315d74913f4d77649af8cf34a062ba287f9"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"967bd507b4f00975460ce9ea93bc3dcfe794d4ef","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                       \u0027Replication Service not found\u0027))"},{"line_number":392,"context_line":"            LOG.error(msg)"},{"line_number":393,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":394,"context_line":"        # end of if"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        # Invoke method for create cloned volume from volume"},{"line_number":397,"context_line":"        rc, errordesc, job \u003d self._exec_eternus_service("}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_00264ece","line":394,"updated":"2015-10-06 08:30:19.000000000","message":"Please remove these \u0027end of if\u0027 and \u0027end of for\u0027 comments, they are not needed, the indent level already provides that information","commit_id":"51997315d74913f4d77649af8cf34a062ba287f9"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":39,"context_line":"try:"},{"line_number":40,"context_line":"    import pywbem"},{"line_number":41,"context_line":"except Exception:"},{"line_number":42,"context_line":"    msg \u003d (_LE(\u0027import pywbem failed!!\u0027"},{"line_number":43,"context_line":"               \u0027pywbem is necessary for this volume driver.\u0027))"},{"line_number":44,"context_line":"    LOG.error(msg)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_6d1ef964","line":42,"updated":"2015-10-06 20:48:48.000000000","message":"a space is needed after failed!!\n(_LE(\u0027import pywbem failed!! \u0027","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        if prtcl \u003d\u003d \u0027iSCSI\u0027:"},{"line_number":156,"context_line":"            # get iSCSI ipaddress from driver configuration file"},{"line_number":157,"context_line":"            self.configuration.iscsi_ip_address \u003d\\"},{"line_number":158,"context_line":"                self._get_drvcfg(\u0027EternusISCSIIP\u0027)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_6dbfd9fb","line":157,"updated":"2015-10-06 20:48:48.000000000","message":"donot use \u0027\\\u0027 for line continuaton","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        return"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def create_volume(self, volume):"},{"line_number":163,"context_line":"        \"\"\"Create volume on ETERNUS\"\"\""},{"line_number":164,"context_line":"        LOG.debug(\u0027create_volume,Enter method\u0027)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self.conn \u003d self._get_eternus_connection()"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_0d450516","line":163,"updated":"2015-10-06 20:48:48.000000000","message":"dot is missing at end of message","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                       \u0027Error!! Storage Configuration Service is None.\u0027)"},{"line_number":191,"context_line":"                   % {\u0027volume\u0027: volume,"},{"line_number":192,"context_line":"                      \u0027volumename\u0027: volumename,"},{"line_number":193,"context_line":"                      \u0027eternus_pool\u0027: eternus_pool})"},{"line_number":194,"context_line":"            LOG.error(msg)"},{"line_number":195,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_8dffd5a9","line":193,"updated":"2015-10-06 20:48:48.000000000","message":"_() must be used because the message is going to appear in an exception that may be presented to the user. http://docs.openstack.org/developer/oslo.i18n/guidelines.html\n\nalias 1","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                  \u0027InPool:%(eternus_pool)s,\u0027"},{"line_number":201,"context_line":"                  \u0027ElementType:%(pooltype)u,\u0027"},{"line_number":202,"context_line":"                  \u0027Size:%(volumesize)u\u0027"},{"line_number":203,"context_line":"                  % {\u0027service\u0027: configservice,"},{"line_number":204,"context_line":"                     \u0027volumename\u0027: volumename,"},{"line_number":205,"context_line":"                     \u0027eternus_pool\u0027: eternus_pool,"},{"line_number":206,"context_line":"                     \u0027pooltype\u0027: pooltype,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_38b7e1d9","line":203,"updated":"2015-10-06 20:48:48.000000000","message":"% need to be replaced with comma\n \nalias 2","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                       \u0027volumename:%(volumename)s,\u0027"},{"line_number":221,"context_line":"                       \u0027Return code:%(rc)lu,\u0027"},{"line_number":222,"context_line":"                       \u0027Error:%(errordesc)s\u0027)"},{"line_number":223,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":224,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":225,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":226,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_d8c6ed48","line":223,"updated":"2015-10-06 20:48:48.000000000","message":"same 2","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":233,"context_line":"                       \u0027Error:%(errordesc)s\u0027)"},{"line_number":234,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":235,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":236,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":237,"context_line":"            LOG.error(msg)"},{"line_number":238,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":239,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_f883a9ca","line":236,"updated":"2015-10-06 20:48:48.000000000","message":"same 1","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                       \u0027volume:%(volume)s,\u0027"},{"line_number":251,"context_line":"                       \u0027EnumerateInstances,\u0027"},{"line_number":252,"context_line":"                       \u0027cannot connect to ETERNUS.\u0027)"},{"line_number":253,"context_line":"                   % {\u0027volume\u0027: volume})"},{"line_number":254,"context_line":"            LOG.error(msg)"},{"line_number":255,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":256,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_58641d48","line":253,"updated":"2015-10-06 20:48:48.000000000","message":"same 1","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                  \u0027Pool Name:%(eternus_pool)s,\u0027"},{"line_number":263,"context_line":"                  \u0027Pool Type:%(pooltype)s,\u0027"},{"line_number":264,"context_line":"                  \u0027Exit method\u0027"},{"line_number":265,"context_line":"                  % {\u0027volumename\u0027: volumename,"},{"line_number":266,"context_line":"                     \u0027rc\u0027: rc,"},{"line_number":267,"context_line":"                     \u0027errordesc\u0027: errordesc,"},{"line_number":268,"context_line":"                     \u0027backend\u0027: systemnamelist[0][\u0027IdentifyingNumber\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_d8502d61","line":265,"updated":"2015-10-06 20:48:48.000000000","message":"same 2\n\nplease check at other places too","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        element_path \u003d {}"},{"line_number":273,"context_line":"        # create return value"},{"line_number":274,"context_line":"        element_path[\u0027classname\u0027] \u003d element.classname"},{"line_number":275,"context_line":"        element_path[\u0027keybindings\u0027] \u003d\\"},{"line_number":276,"context_line":"            {\u0027CreationClassName\u0027: element[\u0027CreationClassName\u0027],"},{"line_number":277,"context_line":"             \u0027SystemName\u0027: element[\u0027SystemName\u0027],"},{"line_number":278,"context_line":"             \u0027DeviceID\u0027: element[\u0027DeviceID\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_78fd5939","line":275,"updated":"2015-10-06 20:48:48.000000000","message":"donot use \u0027\\\u0027 for line continuaton\n\nplease check at other places too","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        return (element_path, metadata)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def create_volume_from_snapshot(self, volume, snapshot):"},{"line_number":292,"context_line":"        \"\"\"Creates a volume from a snapshot\"\"\""},{"line_number":293,"context_line":"        LOG.debug(\u0027create_volume_from_snapshot,Enter method\u0027)"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        self.conn \u003d self._get_eternus_connection()"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_f89f2901","line":292,"updated":"2015-10-06 20:48:48.000000000","message":"dot at end of message","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def create_volume_from_snapshot(self, volume, snapshot):"},{"line_number":292,"context_line":"        \"\"\"Creates a volume from a snapshot\"\"\""},{"line_number":293,"context_line":"        LOG.debug(\u0027create_volume_from_snapshot,Enter method\u0027)"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":296,"context_line":"        source_volume_instance \u003d self._find_lun(snapshot)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_b88a11be","line":293,"updated":"2015-10-06 20:48:48.000000000","message":"same","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        # Existence check the source volume"},{"line_number":299,"context_line":"        if source_volume_instance is None:"},{"line_number":300,"context_line":"            msg \u003d (_LE(\u0027create_volume_from_snapshot,\u0027"},{"line_number":301,"context_line":"                       \u0027Source Volume is not exist in ETERNUS.\u0027))"},{"line_number":302,"context_line":"            LOG.error(msg)"},{"line_number":303,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":304,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_18ba256f","line":301,"updated":"2015-10-06 20:48:48.000000000","message":"same 1","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            msg \u003d (_LE(\u0027create_volume_from_snapshot,\u0027"},{"line_number":315,"context_line":"                       \u0027target volume instancename:%(volume_instancename)s,\u0027"},{"line_number":316,"context_line":"                       \u0027Get Instance, Failed\u0027)"},{"line_number":317,"context_line":"                   % {\u0027volume_instancename\u0027: target_volume_instancename})"},{"line_number":318,"context_line":"            LOG.error(msg)"},{"line_number":319,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":320,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_b8b1b191","line":317,"updated":"2015-10-06 20:48:48.000000000","message":"same 1","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        self._create_local_cloned_volume(target_volume_instance,"},{"line_number":322,"context_line":"                                         source_volume_instance)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        LOG.debug(\u0027create_volume_from_snapshot,Exit method\u0027)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        return (element_path, metadata)"},{"line_number":327,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_78ab191e","line":324,"updated":"2015-10-06 20:48:48.000000000","message":"dot\nplease check at other places too","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        if source_volume_instance is None:"},{"line_number":336,"context_line":"            msg \u003d (_LE(\u0027create_cloned_volume,\u0027"},{"line_number":337,"context_line":"                       \u0027Source Volume is not exist in ETERNUS.\u0027))"},{"line_number":338,"context_line":"            LOG.error(msg)"},{"line_number":339,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_f86de904","line":337,"updated":"2015-10-06 20:48:48.000000000","message":"same 1\nplease check at other places too","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                       \u0027volumename:%(volumename)s,\u0027"},{"line_number":221,"context_line":"                       \u0027Return code:%(rc)lu,\u0027"},{"line_number":222,"context_line":"                       \u0027Error:%(errordesc)s\u0027)"},{"line_number":223,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":224,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":225,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":226,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_ea652545","line":223,"updated":"2015-10-19 15:04:21.000000000","message":"Please pass in formatting dict to the log call itself. Something like:\n\n    LOG.warning(msg, {\u0027volumename\u0027: volumename, ...})","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":235,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":236,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":237,"context_line":"            LOG.error(msg)"},{"line_number":238,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":239,"context_line":"        else:"},{"line_number":240,"context_line":"            element \u003d job[\u0027TheElement\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_6a527569","line":237,"updated":"2015-10-19 15:04:21.000000000","message":"Same.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"b6f9182e13999114b8194b8ea828bc26bd7c9782","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":235,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":236,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":237,"context_line":"            LOG.error(msg)"},{"line_number":238,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":239,"context_line":"        else:"},{"line_number":240,"context_line":"            element \u003d job[\u0027TheElement\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_e908a193","line":237,"in_reply_to":"3a29b11f_46c6629b","updated":"2015-10-20 12:36:35.000000000","message":"Thanks for your reply. Then, I\u0027ll fix only the \u0027msg\u0027 which is used for only log message, thanks. (Maybe, I\u0027ve done in patch-set 9)","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"60ca688a582aade551f2a7f832e3cb65ada614fa","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":235,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":236,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":237,"context_line":"            LOG.error(msg)"},{"line_number":238,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":239,"context_line":"        else:"},{"line_number":240,"context_line":"            element \u003d job[\u0027TheElement\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_91912455","line":237,"in_reply_to":"3a29b11f_6a527569","updated":"2015-10-20 04:10:15.000000000","message":"The \u0027msg\u0027 is used in both LOG.error and raise exception.\nIf this log call is not big problem, I\u0027d like to keep this style not to create bug resource in the future enhancement.Tell me what you think about it. Thanks.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d61bb7d537daa821e21471084fed99c937532ac6","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":235,"context_line":"                      \u0027rc\u0027: rc,"},{"line_number":236,"context_line":"                      \u0027errordesc\u0027: errordesc})"},{"line_number":237,"context_line":"            LOG.error(msg)"},{"line_number":238,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":239,"context_line":"        else:"},{"line_number":240,"context_line":"            element \u003d job[\u0027TheElement\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_46c6629b","line":237,"in_reply_to":"3a29b11f_91912455","updated":"2015-10-20 12:05:14.000000000","message":"Oh, sorry, you are correct. In this case you do need to do the string formatting ahead of time since it is passed in to the exception. Only those cases where it is only used for the log message should be updated to not do the formatting ahead of time.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                     \u0027volume:%(volume)s,\u0027"},{"line_number":251,"context_line":"                     \u0027EnumerateInstances,\u0027"},{"line_number":252,"context_line":"                     \u0027cannot connect to ETERNUS.\u0027)"},{"line_number":253,"context_line":"                   % {\u0027volume\u0027: volume})"},{"line_number":254,"context_line":"            LOG.error(msg)"},{"line_number":255,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":256,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_2a4c7dc6","line":253,"updated":"2015-10-19 15:04:21.000000000","message":"Same.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        LOG.debug(\u0027create_volume,\u0027"},{"line_number":258,"context_line":"                  \u0027volumename:%(volumename)s,\u0027"},{"line_number":259,"context_line":"                  \u0027Return code:%(rc)lu,\u0027"},{"line_number":260,"context_line":"                  \u0027Error:%(errordesc)s,\u0027"},{"line_number":261,"context_line":"                  \u0027Backend:%(backend)s,\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_2ae31da5","line":258,"updated":"2015-10-19 15:04:21.000000000","message":"All of these, you may want to put a space on the end of each line after the comma to make the resulting output a little easier to read.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            msg \u003d (_(\u0027create_volume_from_snapshot,\u0027"},{"line_number":315,"context_line":"                     \u0027target volume instancename:%(volume_instancename)s,\u0027"},{"line_number":316,"context_line":"                     \u0027Get Instance, Failed\u0027)"},{"line_number":317,"context_line":"                   % {\u0027volume_instancename\u0027: target_volume_instancename})"},{"line_number":318,"context_line":"            LOG.error(msg)"},{"line_number":319,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":320,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_ca95c9e4","line":317,"updated":"2015-10-19 15:04:21.000000000","message":"Pass args to logger.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            msg \u003d (_(\u0027create_cloned_volume,\u0027"},{"line_number":350,"context_line":"                     \u0027target volume instancename:%(volume_instancename)s,\u0027"},{"line_number":351,"context_line":"                     \u0027Get Instance, Failed\u0027)"},{"line_number":352,"context_line":"                   % {\u0027volume_instancename\u0027: target_volume_instancename})"},{"line_number":353,"context_line":"            LOG.error(msg)"},{"line_number":354,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":355,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_0a9421e0","line":352,"updated":"2015-10-19 15:04:21.000000000","message":"Same.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":400,"context_line":"                     \u0027target volume instance:%(target_volume_instance)s,\u0027"},{"line_number":401,"context_line":"                     \u0027Return code:%(rc)lu,\u0027"},{"line_number":402,"context_line":"                     \u0027Error:%(errordesc)s\u0027)"},{"line_number":403,"context_line":"                   % {\u0027volumename\u0027: t_volumename,"},{"line_number":404,"context_line":"                      \u0027sourcevolumename\u0027: s_volumename,"},{"line_number":405,"context_line":"                      \u0027source_volume_instance\u0027: str(src_vol_instance.path),"},{"line_number":406,"context_line":"                      \u0027target_volume_instance\u0027: str(tgt_vol_instance.path),"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_ca638919","line":403,"updated":"2015-10-19 15:04:21.000000000","message":"Same. Several more instances throughout.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":524,"context_line":"                  {\u0027volumename\u0027: volumename,"},{"line_number":525,"context_line":"                   \u0027rc\u0027: rc,"},{"line_number":526,"context_line":"                   \u0027errordesc\u0027: errordesc})"},{"line_number":527,"context_line":"        return"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-vol\u0027, \u0027cinder-\u0027, True)"},{"line_number":530,"context_line":"    def create_snapshot(self, snapshot):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_8a127161","line":527,"updated":"2015-10-19 15:04:21.000000000","message":"Remove unnecessary return statements.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                  \u0027Invoke CreateElementReplica\u0027,"},{"line_number":584,"context_line":"                  {\u0027snapshotname\u0027: snapshotname,"},{"line_number":585,"context_line":"                   \u0027volumename\u0027: volumename,"},{"line_number":586,"context_line":"                   \u0027vol_instance\u0027: str(vol_instance.path),"},{"line_number":587,"context_line":"                   \u0027d_volumename\u0027: d_volumename,"},{"line_number":588,"context_line":"                   \u0027pool\u0027: pool})"},{"line_number":589,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_6d112f52","line":586,"updated":"2015-10-19 15:04:21.000000000","message":"Remove call to str() for all of these.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"        m \u003d hashlib.md5()"},{"line_number":1132,"context_line":"        m.update(id_code)"},{"line_number":1133,"context_line":"        ret \u003d VOL_PREFIX + str(base64.urlsafe_b64encode(m.digest()))"},{"line_number":1134,"context_line":""},{"line_number":1135,"context_line":"        LOG.debug(\u0027_create_volume_name,\u0027"},{"line_number":1136,"context_line":"                  \u0027ret:%s,Exit method.\u0027, ret)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_cd82c352","line":1133,"updated":"2015-10-19 15:04:21.000000000","message":"This line causes a new pylint error. Please refactor to prevent that.\n\nstr() should not be necessary and I think may cause py3 compatibility issues.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    import pywbem"},{"line_number":41,"context_line":"except Exception:"},{"line_number":42,"context_line":"    msg \u003d (_(\u0027import pywbem failed!! \u0027"},{"line_number":43,"context_line":"             \u0027pywbem is necessary for this volume driver.\u0027))"},{"line_number":44,"context_line":"    LOG.error(msg)"},{"line_number":45,"context_line":"    raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_45db864f","line":43,"updated":"2015-10-21 12:13:00.000000000","message":"Outer parenthesis is redundant.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"UNDEF_MSG \u003d \u0027Undefined Error!!\u0027"},{"line_number":64,"context_line":"JOB_RETRIES \u003d 60"},{"line_number":65,"context_line":"JOB_INTERVAL_SEC \u003d 10"},{"line_number":66,"context_line":"# error code keyword"},{"line_number":67,"context_line":"VOLUMENAME_IN_USE \u003d 32788"},{"line_number":68,"context_line":"COPYSESSION_NOT_EXIST \u003d 32793"},{"line_number":69,"context_line":"LUNAME_IN_USE \u003d 4102"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_65856205","line":66,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"VOLUMENAME_IN_USE \u003d 32788"},{"line_number":68,"context_line":"COPYSESSION_NOT_EXIST \u003d 32793"},{"line_number":69,"context_line":"LUNAME_IN_USE \u003d 4102"},{"line_number":70,"context_line":"LUNAME_NOT_EXIST \u003d 4097  # only for InvokeMethod(HidePaths)"},{"line_number":71,"context_line":"EC_REC \u003d 3"},{"line_number":72,"context_line":"FJ_ETERNUS_DX_OPT_opts \u003d [cfg.StrOpt(\u0027cinder_eternus_config_file\u0027,"},{"line_number":73,"context_line":"                                     default\u003d\u0027/etc/cinder/cinder_fujitsu_\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_85919e49","line":70,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                                     default\u003d\u0027/etc/cinder/cinder_fujitsu_\u0027"},{"line_number":74,"context_line":"                                             \u0027eternus_dx.xml\u0027,"},{"line_number":75,"context_line":"                                     help\u003d\u0027config file for cinder fujitsu\u0027"},{"line_number":76,"context_line":"                                          \u0027_eternus_dx volume driver\u0027)]"},{"line_number":77,"context_line":"POOL_TYPE_dic \u003d {RAIDGROUP: \u0027RAID_GROUP\u0027,"},{"line_number":78,"context_line":"                 TPPOOL: \u0027Thinporvisioning_POOL\u0027"},{"line_number":79,"context_line":"                 }"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_e56732b5","line":76,"updated":"2015-10-21 12:13:00.000000000","message":"https://www.python.org/dev/peps/pep-0008/#indentation The closing brace/bracket/parenthesis on multi-line constructs may either line up under the first non-whitespace character of the last line of list or it may be lined up under the first character of the line that starts the multi-line construct. Lets write as Guido suggests.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                                          \u0027_eternus_dx volume driver\u0027)]"},{"line_number":77,"context_line":"POOL_TYPE_dic \u003d {RAIDGROUP: \u0027RAID_GROUP\u0027,"},{"line_number":78,"context_line":"                 TPPOOL: \u0027Thinporvisioning_POOL\u0027"},{"line_number":79,"context_line":"                 }"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"OPERATION_dic \u003d {SNAPOPC: RETURN_TO_RESOURCEPOOL,"},{"line_number":82,"context_line":"                 OPC: DETACH,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_25e76a12","line":79,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"OPERATION_dic \u003d {SNAPOPC: RETURN_TO_RESOURCEPOOL,"},{"line_number":82,"context_line":"                 OPC: DETACH,"},{"line_number":83,"context_line":"                 EC_REC: DETACH}"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"RETCODE_dic \u003d {\u00270\u0027: \u0027Success\u0027,"},{"line_number":86,"context_line":"               \u00271\u0027: \u0027Method Not Supported\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_85bc3edd","line":83,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":91,"context_line":"               \u00274101\u0027: \u0027Target/initiator combination already exposed\u0027,"},{"line_number":92,"context_line":"               \u00274102\u0027: \u0027Requested logical unit number in use\u0027,"},{"line_number":93,"context_line":"               \u002732769\u0027: \u0027Maximum number of Logical Volume in\u0027"},{"line_number":94,"context_line":"                        \u0027 a RAID group has been reached\u0027,"},{"line_number":95,"context_line":"               \u002732770\u0027: \u0027Maximum number of Logical Volume in\u0027"},{"line_number":96,"context_line":"                        \u0027 the storage device has been reached\u0027,"},{"line_number":97,"context_line":"               \u002732771\u0027: \u0027Maximum number of registered Host WWN\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_c5fa3643","line":94,"updated":"2015-10-21 12:13:00.000000000","message":"For multi-line strings it is recommended to add the space at the end of a line and not at the beginning.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"               \u002732769\u0027: \u0027Maximum number of Logical Volume in\u0027"},{"line_number":94,"context_line":"                        \u0027 a RAID group has been reached\u0027,"},{"line_number":95,"context_line":"               \u002732770\u0027: \u0027Maximum number of Logical Volume in\u0027"},{"line_number":96,"context_line":"                        \u0027 the storage device has been reached\u0027,"},{"line_number":97,"context_line":"               \u002732771\u0027: \u0027Maximum number of registered Host WWN\u0027"},{"line_number":98,"context_line":"                        \u0027 has been reached\u0027,"},{"line_number":99,"context_line":"               \u002732772\u0027: \u0027Maximum number of affinity group has been reached\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_e58e52cf","line":96,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":95,"context_line":"               \u002732770\u0027: \u0027Maximum number of Logical Volume in\u0027"},{"line_number":96,"context_line":"                        \u0027 the storage device has been reached\u0027,"},{"line_number":97,"context_line":"               \u002732771\u0027: \u0027Maximum number of registered Host WWN\u0027"},{"line_number":98,"context_line":"                        \u0027 has been reached\u0027,"},{"line_number":99,"context_line":"               \u002732772\u0027: \u0027Maximum number of affinity group has been reached\u0027,"},{"line_number":100,"context_line":"               \u002732773\u0027: \u0027Maximum number of host affinity has been reached\u0027,"},{"line_number":101,"context_line":"               \u002732785\u0027: \u0027The RAID group is in busy state\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_65b9e278","line":98,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"               \u002732808\u0027: \u0027No Thin Provisioning License\u0027,"},{"line_number":113,"context_line":"               \u002732809\u0027: \u0027The Logical Element is ODX volume\u0027,"},{"line_number":114,"context_line":"               \u002732811\u0027: \u0027This operation cannot be performed to the NAS\u0027"},{"line_number":115,"context_line":"                        \u0027 resources\u0027,"},{"line_number":116,"context_line":"               \u002732812\u0027: \u0027This operation cannot be performed to the Storage\u0027"},{"line_number":117,"context_line":"                        \u0027 Cluster resources\u0027,"},{"line_number":118,"context_line":"               \u002732816\u0027: \u0027Fatal error generic\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_c5a8f622","line":115,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"               \u002732811\u0027: \u0027This operation cannot be performed to the NAS\u0027"},{"line_number":115,"context_line":"                        \u0027 resources\u0027,"},{"line_number":116,"context_line":"               \u002732812\u0027: \u0027This operation cannot be performed to the Storage\u0027"},{"line_number":117,"context_line":"                        \u0027 Cluster resources\u0027,"},{"line_number":118,"context_line":"               \u002732816\u0027: \u0027Fatal error generic\u0027,"},{"line_number":119,"context_line":"               \u002735302\u0027: \u0027Invalid LogicalElement\u0027,"},{"line_number":120,"context_line":"               \u002735304\u0027: \u0027LogicalElement state error\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_657002dd","line":117,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":126,"context_line":"               \u002735333\u0027: \u0027Maximum number of session has been reached(per\u0027"},{"line_number":127,"context_line":"                        \u0027 SourceElement)\u0027,"},{"line_number":128,"context_line":"               \u002735334\u0027: \u0027Maximum number of session has been reached(per\u0027"},{"line_number":129,"context_line":"                        \u0027 TargetElement)\u0027,"},{"line_number":130,"context_line":"               \u002735335\u0027: \u0027Maximum number of Snapshot generation has been\u0027"},{"line_number":131,"context_line":"                        \u0027 reached (per SourceElement)\u0027,"},{"line_number":132,"context_line":"               \u002735346\u0027: \u0027Copy table size is not setup\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_25776ad4","line":129,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":128,"context_line":"               \u002735334\u0027: \u0027Maximum number of session has been reached(per\u0027"},{"line_number":129,"context_line":"                        \u0027 TargetElement)\u0027,"},{"line_number":130,"context_line":"               \u002735335\u0027: \u0027Maximum number of Snapshot generation has been\u0027"},{"line_number":131,"context_line":"                        \u0027 reached (per SourceElement)\u0027,"},{"line_number":132,"context_line":"               \u002735346\u0027: \u0027Copy table size is not setup\u0027,"},{"line_number":133,"context_line":"               \u002735347\u0027: \u0027Copy table size is not enough\u0027}"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_e57c12b7","line":131,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":130,"context_line":"               \u002735335\u0027: \u0027Maximum number of Snapshot generation has been\u0027"},{"line_number":131,"context_line":"                        \u0027 reached (per SourceElement)\u0027,"},{"line_number":132,"context_line":"               \u002735346\u0027: \u0027Copy table size is not setup\u0027,"},{"line_number":133,"context_line":"               \u002735347\u0027: \u0027Copy table size is not enough\u0027}"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"CONF.register_opts(FJ_ETERNUS_DX_OPT_opts)"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_c5c23634","line":133,"updated":"2015-10-21 12:13:00.000000000","message":"https://www.python.org/dev/peps/pep-0008/#indentation The closing brace/bracket/parenthesis on multi-line constructs may either line up under the first non-whitespace character of the last line of dict or it may be lined up under the first character of the line that starts the multi-line construct. Lets write as Guido suggests.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":146,"context_line":"             \u0027total_capacity_gb\u0027: 0,"},{"line_number":147,"context_line":"             \u0027vendor_name\u0027: \u0027FUJITSU\u0027,"},{"line_number":148,"context_line":"             \u0027QoS_support\u0027: False,"},{"line_number":149,"context_line":"             \u0027volume_backend_name\u0027: None}"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def __init__(self, prtcl, configuration\u003dNone):"},{"line_number":152,"context_line":"        self.protocol \u003d prtcl"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_a5385af0","line":149,"updated":"2015-10-21 12:13:00.000000000","message":"Same as above.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        self.configuration.append_config_values(FJ_ETERNUS_DX_OPT_opts)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        if prtcl \u003d\u003d \u0027iSCSI\u0027:"},{"line_number":157,"context_line":"            # get iSCSI ipaddress from driver configuration file"},{"line_number":158,"context_line":"            self.configuration.iscsi_ip_address \u003d ("},{"line_number":159,"context_line":"                self._get_drvcfg(\u0027EternusISCSIIP\u0027))"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_25252ac0","line":157,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        volumename \u003d self._create_volume_name(volume[\u0027id\u0027])"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        LOG.debug(\u0027create_volume, volumename:%(volumename)s, \u0027"},{"line_number":172,"context_line":"                  \u0027volumesize:%(volumesize)u.\u0027,"},{"line_number":173,"context_line":"                  {\u0027volumename\u0027: volumename,"},{"line_number":174,"context_line":"                   \u0027volumesize\u0027: volumesize})"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_306806b9","line":172,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after volumename: and volumesize: for better readability in debug logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                  {\u0027volumename\u0027: volumename,"},{"line_number":174,"context_line":"                   \u0027volumesize\u0027: volumesize})"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        # get poolname from driver configuration file"},{"line_number":177,"context_line":"        eternus_pool \u003d self._get_drvcfg(\u0027EternusPool\u0027)"},{"line_number":178,"context_line":"        # Existence check the pool"},{"line_number":179,"context_line":"        pool \u003d self._find_pool(eternus_pool)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_70a8bedb","line":176,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        if configservice is None:"},{"line_number":188,"context_line":"            msg \u003d (_(\u0027create_volume, volume:%(volume)s, \u0027"},{"line_number":189,"context_line":"                     \u0027volumename:%(volumename)s, \u0027"},{"line_number":190,"context_line":"                     \u0027eternus_pool:%(eternus_pool)s, \u0027"},{"line_number":191,"context_line":"                     \u0027Error!! Storage Configuration Service is None.\u0027)"},{"line_number":192,"context_line":"                   % {\u0027volume\u0027: volume,"},{"line_number":193,"context_line":"                      \u0027volumename\u0027: volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_90079ac9","line":190,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after volume:, volumename: and eternus_pool: for better readability in logs.\n\nYou may also remove redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"0dcd4bd9058f804fb199537ba58b08ff3435b88f","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        if configservice is None:"},{"line_number":188,"context_line":"            msg \u003d (_(\u0027create_volume, volume:%(volume)s, \u0027"},{"line_number":189,"context_line":"                     \u0027volumename:%(volumename)s, \u0027"},{"line_number":190,"context_line":"                     \u0027eternus_pool:%(eternus_pool)s, \u0027"},{"line_number":191,"context_line":"                     \u0027Error!! Storage Configuration Service is None.\u0027)"},{"line_number":192,"context_line":"                   % {\u0027volume\u0027: volume,"},{"line_number":193,"context_line":"                      \u0027volumename\u0027: volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_778bc6c3","line":190,"in_reply_to":"3a29b11f_90079ac9","updated":"2015-10-21 14:45:03.000000000","message":"Outer parenthesis is needed\nbecause it closes string + each parameters.\nsame for following other points which have parameter.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                  \u0027ElementName:%(volumename)s, \u0027"},{"line_number":202,"context_line":"                  \u0027InPool:%(eternus_pool)s, \u0027"},{"line_number":203,"context_line":"                  \u0027ElementType:%(pooltype)u, \u0027"},{"line_number":204,"context_line":"                  \u0027Size:%(volumesize)u.\u0027,"},{"line_number":205,"context_line":"                  {\u0027service\u0027: configservice,"},{"line_number":206,"context_line":"                   \u0027volumename\u0027: volumename,"},{"line_number":207,"context_line":"                   \u0027eternus_pool\u0027: eternus_pool,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_90d55a1d","line":204,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after volume after \":\" for better readability in debug logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        if rc \u003d\u003d VOLUMENAME_IN_USE:  # Element Name is in use"},{"line_number":221,"context_line":"            LOG.warning(_LW(\u0027create_volume, \u0027"},{"line_number":222,"context_line":"                            \u0027volumename:%(volumename)s, \u0027"},{"line_number":223,"context_line":"                            \u0027Element Name is in use.\u0027),"},{"line_number":224,"context_line":"                        {\u0027volumename\u0027: volumename})"},{"line_number":225,"context_line":"            vol_instance \u003d self._find_lun(volume)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d0ef52e7","line":222,"updated":"2015-10-21 12:13:00.000000000","message":"Same as above.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            msg \u003d (_(\u0027create_volume, \u0027"},{"line_number":229,"context_line":"                     \u0027volumename:%(volumename)s, \u0027"},{"line_number":230,"context_line":"                     \u0027poolname: %(eternus_pool)s, \u0027"},{"line_number":231,"context_line":"                     \u0027Return code:%(rc)lu, \u0027"},{"line_number":232,"context_line":"                     \u0027Error:%(errordesc)s.\u0027)"},{"line_number":233,"context_line":"                   % {\u0027volumename\u0027: volumename,"},{"line_number":234,"context_line":"                      \u0027eternus_pool\u0027: eternus_pool,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_b0a8968e","line":231,"updated":"2015-10-21 12:13:00.000000000","message":"Same as above.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":247,"context_line":"                self._enum_eternus_instances(\u0027FUJITSU_StorageProduct\u0027))"},{"line_number":248,"context_line":"        except Exception:"},{"line_number":249,"context_line":"            msg \u003d (_(\u0027create_volume, \u0027"},{"line_number":250,"context_line":"                     \u0027volume:%(volume)s, \u0027"},{"line_number":251,"context_line":"                     \u0027EnumerateInstances, \u0027"},{"line_number":252,"context_line":"                     \u0027cannot connect to ETERNUS.\u0027)"},{"line_number":253,"context_line":"                   % {\u0027volume\u0027: volume})"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_b0e416e1","line":250,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        LOG.debug(\u0027create_volume, \u0027"},{"line_number":258,"context_line":"                  \u0027volumename:%(volumename)s, \u0027"},{"line_number":259,"context_line":"                  \u0027Return code:%(rc)lu, \u0027"},{"line_number":260,"context_line":"                  \u0027Error:%(errordesc)s, \u0027"},{"line_number":261,"context_line":"                  \u0027Backend:%(backend)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d0d99223","line":258,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                   \u0027pooltype\u0027: POOL_TYPE_dic[pooltype]})"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        element_path \u003d {}"},{"line_number":272,"context_line":"        # create return value"},{"line_number":273,"context_line":"        element_path[\u0027classname\u0027] \u003d element.classname"},{"line_number":274,"context_line":"        element_path[\u0027keybindings\u0027] \u003d ("},{"line_number":275,"context_line":"            {\u0027CreationClassName\u0027: element[\u0027CreationClassName\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_50fca271","line":272,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":275,"context_line":"            {\u0027CreationClassName\u0027: element[\u0027CreationClassName\u0027],"},{"line_number":276,"context_line":"             \u0027SystemName\u0027: element[\u0027SystemName\u0027],"},{"line_number":277,"context_line":"             \u0027DeviceID\u0027: element[\u0027DeviceID\u0027],"},{"line_number":278,"context_line":"             \u0027SystemCreationClassName\u0027: element[\u0027SystemCreationClassName\u0027]})"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"        volume_no \u003d \"0x\" + element[\u0027DeviceID\u0027][24:28]"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f0012e07","line":278,"updated":"2015-10-21 12:13:00.000000000","message":"Please use dictionary literal for dictionary creation.\n\nAbove code can be rewritten as:\n\nelement_path \u003d {\n\t\u0027classname\u0027: element.classname,\n\t\u0027keybindings\u0027: ({\n\t\t\u0027CreationClassName\u0027: element[\u0027CreationClassName\u0027],\n\t\t\u0027SystemName\u0027: element[\u0027SystemName\u0027],\n\t\t\u0027DeviceID\u0027: element[\u0027DeviceID\u0027],\n\t\t\u0027SystemCreationClassName\u0027: element[\u0027SystemCreationClassName\u0027]\n\t})\n}","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":295,"context_line":"        source_volume_instance \u003d self._find_lun(snapshot)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        # Existence check the source volume"},{"line_number":298,"context_line":"        if source_volume_instance is None:"},{"line_number":299,"context_line":"            msg \u003d (_(\u0027create_volume_from_snapshot, \u0027"},{"line_number":300,"context_line":"                     \u0027Source Volume is not exist in ETERNUS.\u0027))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_4b3f1787","line":297,"updated":"2015-10-21 12:13:00.000000000","message":"Check existence of source volume. or Existence check for the source volume.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        # Existence check the source volume"},{"line_number":298,"context_line":"        if source_volume_instance is None:"},{"line_number":299,"context_line":"            msg \u003d (_(\u0027create_volume_from_snapshot, \u0027"},{"line_number":300,"context_line":"                     \u0027Source Volume is not exist in ETERNUS.\u0027))"},{"line_number":301,"context_line":"            LOG.error(msg)"},{"line_number":302,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_0b6b5fb8","line":300,"updated":"2015-10-21 12:13:00.000000000","message":"s/ \"is not exist\" / \"does not exist\"\n\nAlso consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":301,"context_line":"            LOG.error(msg)"},{"line_number":302,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        # create volume for destination of cloned volume"},{"line_number":305,"context_line":"        (element_path, metadata) \u003d self.create_volume(volume)"},{"line_number":306,"context_line":"        target_volume_instancename \u003d self._create_eternus_instance_name("},{"line_number":307,"context_line":"            element_path[\u0027classname\u0027], element_path[\u0027keybindings\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_2b72db7b","line":304,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                self._get_eternus_instance(target_volume_instancename))"},{"line_number":312,"context_line":"        except Exception:"},{"line_number":313,"context_line":"            msg \u003d (_(\u0027create_volume_from_snapshot, \u0027"},{"line_number":314,"context_line":"                     \u0027target volume instancename:%(volume_instancename)s, \u0027"},{"line_number":315,"context_line":"                     \u0027Get Instance Failed.\u0027)"},{"line_number":316,"context_line":"                   % {\u0027volume_instancename\u0027: target_volume_instancename})"},{"line_number":317,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_4bb4f780","line":314,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after instancename: for better readability. Also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        if source_volume_instance is None:"},{"line_number":335,"context_line":"            msg \u003d (_(\u0027create_cloned_volume, \u0027"},{"line_number":336,"context_line":"                     \u0027Source Volume is not exist in ETERNUS.\u0027))"},{"line_number":337,"context_line":"            LOG.error(msg)"},{"line_number":338,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":339,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_4b42b769","line":336,"updated":"2015-10-21 12:13:00.000000000","message":"s/ \"is not exist\" / \"does not exist\"\n\nAlso consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                self._get_eternus_instance(target_volume_instancename))"},{"line_number":347,"context_line":"        except Exception:"},{"line_number":348,"context_line":"            msg \u003d (_(\u0027create_cloned_volume, \u0027"},{"line_number":349,"context_line":"                     \u0027target volume instancename:%(volume_instancename)s, \u0027"},{"line_number":350,"context_line":"                     \u0027Get Instance Failed.\u0027)"},{"line_number":351,"context_line":"                   % {\u0027volume_instancename\u0027: target_volume_instancename})"},{"line_number":352,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_6b3e93db","line":349,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after instancename: for better readability. Also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        t_volumename \u003d tgt_vol_instance[\u0027ElementName\u0027]"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"        LOG.debug(\u0027_create_local_cloned_volume, \u0027"},{"line_number":370,"context_line":"                  \u0027volumename:%(volumename)s, \u0027"},{"line_number":371,"context_line":"                  \u0027sourcevolumename:%(sourcevolumename)s, \u0027"},{"line_number":372,"context_line":"                  \u0027source volume instance:%(src_vol_instance)s.\u0027,"},{"line_number":373,"context_line":"                  {\u0027volumename\u0027: t_volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_3d169e4c","line":370,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after \":\" for better readability in debug logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                   \u0027sourcevolumename\u0027: s_volumename,"},{"line_number":375,"context_line":"                   \u0027src_vol_instance\u0027: six.text_type(src_vol_instance.path)})"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        # get replicationservice for CreateElementReplica"},{"line_number":378,"context_line":"        repservice \u003d self._find_eternus_service(REPL)"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"        if repservice is None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_dd2d2a96","line":377,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":379,"context_line":""},{"line_number":380,"context_line":"        if repservice is None:"},{"line_number":381,"context_line":"            msg \u003d (_(\u0027_create_local_cloned_volume,\u0027"},{"line_number":382,"context_line":"                     \u0027Replication Service not found.\u0027))"},{"line_number":383,"context_line":"            LOG.error(msg)"},{"line_number":384,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":385,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_5d411a37","line":382,"updated":"2015-10-21 12:13:00.000000000","message":"Please remove redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        if rc !\u003d 0:"},{"line_number":395,"context_line":"            msg \u003d (_(\u0027_create_local_cloned_volume, \u0027"},{"line_number":396,"context_line":"                     \u0027volumename:%(volumename)s, \u0027"},{"line_number":397,"context_line":"                     \u0027sourcevolumename:%(sourcevolumename)s, \u0027"},{"line_number":398,"context_line":"                     \u0027source volume instance:%(source_volume)s, \u0027"},{"line_number":399,"context_line":"                     \u0027target volume instance:%(target_volume)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_9da812dd","line":396,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after \":\" for better readability in logs. Also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":419,"context_line":"        vol_exist \u003d self._delete_volume_setting(volume)"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        if vol_exist is False:"},{"line_number":422,"context_line":"            return"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Check volume exsistence on ETERNUS again"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_1d5162d8","line":421,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as\n\nif not vol_exist:\n    return","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        # because volume is deleted when SnapOPC copysession is deleted"},{"line_number":426,"context_line":"        vol_instance \u003d self._find_lun(volume)"},{"line_number":427,"context_line":"        if vol_instance is None:"},{"line_number":428,"context_line":"            return"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        self._delete_volume(vol_instance)"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_3d753e63","line":428,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as\n\nif not vol_instance:\n    return","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        \"\"\"Delete volume setting (HostAffinity, CopySession) on ETERNUS.\"\"\""},{"line_number":438,"context_line":"        LOG.debug(\u0027_delete_volume_setting, Enter method.\u0027)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        # Existence check the volume"},{"line_number":441,"context_line":"        volumename \u003d self._create_volume_name(volume[\u0027id\u0027])"},{"line_number":442,"context_line":"        vol_instance \u003d self._find_lun(volume)"},{"line_number":443,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_ddda0a4c","line":440,"updated":"2015-10-21 12:13:00.000000000","message":"Check volume existence. or Existence check for the volume.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        vol_instance \u003d self._find_lun(volume)"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"        if vol_instance is None:"},{"line_number":445,"context_line":"            LOG.info(_LI(\u0027_delete_volume_setting, volumename:%(volumename)s, \u0027"},{"line_number":446,"context_line":"                         \u0027volume not found on ETERNUS. \u0027"},{"line_number":447,"context_line":"                         \u0027delete only management data on cinder database.\u0027),"},{"line_number":448,"context_line":"                     {\u0027volumename\u0027: volumename})"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_dda8ca8f","line":445,"updated":"2015-10-21 12:13:00.000000000","message":"Add a whitespace after volumename: for better readability in logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":444,"context_line":"        if vol_instance is None:"},{"line_number":445,"context_line":"            LOG.info(_LI(\u0027_delete_volume_setting, volumename:%(volumename)s, \u0027"},{"line_number":446,"context_line":"                         \u0027volume not found on ETERNUS. \u0027"},{"line_number":447,"context_line":"                         \u0027delete only management data on cinder database.\u0027),"},{"line_number":448,"context_line":"                     {\u0027volumename\u0027: volumename})"},{"line_number":449,"context_line":"            return False"},{"line_number":450,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_5d959a3c","line":447,"updated":"2015-10-21 12:13:00.000000000","message":"s/on cinder database/from cinder database","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                     {\u0027volumename\u0027: volumename})"},{"line_number":449,"context_line":"            return False"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        # delete host-affinity setting remained by unexpected error"},{"line_number":452,"context_line":"        self._unmap_lun(volume, None, force\u003dTrue)"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        # check copy session relating to target volume"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_fd74a636","line":451,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":451,"context_line":"        # delete host-affinity setting remained by unexpected error"},{"line_number":452,"context_line":"        self._unmap_lun(volume, None, force\u003dTrue)"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        # check copy session relating to target volume"},{"line_number":455,"context_line":"        cpsessionlist \u003d self._find_copysession(vol_instance)"},{"line_number":456,"context_line":"        delete_copysession_list \u003d []"},{"line_number":457,"context_line":"        wait_copysession_list \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_bd914e49","line":454,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"        configservice \u003d self._find_eternus_service(STOR_CONF)"},{"line_number":490,"context_line":"        if configservice is None:"},{"line_number":491,"context_line":"            msg \u003d (_(\u0027delete_volume, volumename:%(volumename)s, \u0027"},{"line_number":492,"context_line":"                     \u0027Storage Configuration Service not found.\u0027)"},{"line_number":493,"context_line":"                   % {\u0027volumename\u0027: volumename})"},{"line_number":494,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7dae5682","line":491,"updated":"2015-10-21 12:13:00.000000000","message":"Add a whitespace after volumename: for better readability in logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":494,"context_line":"            LOG.error(msg)"},{"line_number":495,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"        LOG.debug(\u0027delete_volume, volumename:%(volumename)s, \u0027"},{"line_number":498,"context_line":"                  \u0027vol_instance:%(vol_instance)s, \u0027"},{"line_number":499,"context_line":"                  \u0027Method: ReturnToStoragePool.\u0027,"},{"line_number":500,"context_line":"                  {\u0027volumename\u0027: volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_5df83a7b","line":497,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            TheElement\u003dvol_instance.path)"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"        if rc !\u003d 0:"},{"line_number":510,"context_line":"            msg \u003d (_(\u0027delete_volume, volumename:%(volumename)s, \u0027"},{"line_number":511,"context_line":"                     \u0027Return code:%(rc)lu, \u0027"},{"line_number":512,"context_line":"                     \u0027Error:%(errordesc)s.\u0027)"},{"line_number":513,"context_line":"                   % {\u0027volumename\u0027: volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_1dee42b4","line":510,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":516,"context_line":"            LOG.error(msg)"},{"line_number":517,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        LOG.debug(\u0027delete_volume, volumename:%(volumename)s, \u0027"},{"line_number":520,"context_line":"                  \u0027Return code:%(rc)lu, \u0027"},{"line_number":521,"context_line":"                  \u0027Error:%(errordesc)s, Exit Method.\u0027,"},{"line_number":522,"context_line":"                  {\u0027volumename\u0027: volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_fd47c6b9","line":519,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":529,"context_line":"        LOG.debug(\u0027create_snapshot, Enter method.\u0027)"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"        element \u003d None"},{"line_number":532,"context_line":"        element_path \u003d {}"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":535,"context_line":"        snapshotname \u003d snapshot[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_80b2e904","line":532,"updated":"2015-10-21 12:13:00.000000000","message":"There is no need to define element_path at the beginning. Create element_path dictionary as a dictionary literal where you are assigning values to it at line #625.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":541,"context_line":"        vol_instance \u003d self._find_lun(volume)"},{"line_number":542,"context_line":"        repservice \u003d self._find_eternus_service(REPL)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"        # Existence check the volume"},{"line_number":545,"context_line":"        if vol_instance is None:"},{"line_number":546,"context_line":"            # source volume is not found on ETERNUS"},{"line_number":547,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_9deb3278","line":544,"updated":"2015-10-21 12:13:00.000000000","message":"Check volume existence. or Existence check for the volume.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"        # Existence check the volume"},{"line_number":545,"context_line":"        if vol_instance is None:"},{"line_number":546,"context_line":"            # source volume is not found on ETERNUS"},{"line_number":547,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":548,"context_line":"                     \u0027volumename on ETERNUS:%(s_volumename)s, \u0027"},{"line_number":549,"context_line":"                     \u0027source volume is not found on ETERNUS.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_bd970eeb","line":546,"updated":"2015-10-21 12:13:00.000000000","message":"Source volume not found on ETERNUS.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        if vol_instance is None:"},{"line_number":546,"context_line":"            # source volume is not found on ETERNUS"},{"line_number":547,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":548,"context_line":"                     \u0027volumename on ETERNUS:%(s_volumename)s, \u0027"},{"line_number":549,"context_line":"                     \u0027source volume is not found on ETERNUS.\u0027)"},{"line_number":550,"context_line":"                   % {\u0027s_volumename\u0027: s_volumename})"},{"line_number":551,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_fd7fc6a8","line":548,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whiltespace after \":\" and also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":546,"context_line":"            # source volume is not found on ETERNUS"},{"line_number":547,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":548,"context_line":"                     \u0027volumename on ETERNUS:%(s_volumename)s, \u0027"},{"line_number":549,"context_line":"                     \u0027source volume is not found on ETERNUS.\u0027)"},{"line_number":550,"context_line":"                   % {\u0027s_volumename\u0027: s_volumename})"},{"line_number":551,"context_line":"            LOG.error(msg)"},{"line_number":552,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_bdbe2e63","line":549,"updated":"2015-10-21 12:13:00.000000000","message":"s/ volume is not found / volume not found","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":553,"context_line":""},{"line_number":554,"context_line":"        if repservice is None:"},{"line_number":555,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":556,"context_line":"                     \u0027volumename:%(volumename)s, \u0027"},{"line_number":557,"context_line":"                     \u0027Replication Service not found.\u0027)"},{"line_number":558,"context_line":"                   % {\u0027volumename\u0027: volumename})"},{"line_number":559,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_bd4cee9e","line":556,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":559,"context_line":"            LOG.error(msg)"},{"line_number":560,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"        # get poolname from driver configuration file"},{"line_number":563,"context_line":"        eternus_pool \u003d self._get_drvcfg(\u0027EternusSnapPool\u0027)"},{"line_number":564,"context_line":"        # Existence check the pool"},{"line_number":565,"context_line":"        pool \u003d self._find_pool(eternus_pool)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_3d61be05","line":562,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        pool \u003d self._find_pool(eternus_pool)"},{"line_number":566,"context_line":"        if pool is None:"},{"line_number":567,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":568,"context_line":"                     \u0027eternus_pool:%(eternus_pool)s, \u0027"},{"line_number":569,"context_line":"                     \u0027pool not found.\u0027)"},{"line_number":570,"context_line":"                   % {\u0027eternus_pool\u0027: eternus_pool})"},{"line_number":571,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_1d2ba295","line":568,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whitespace after \":\".","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":572,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        LOG.debug(\u0027create_snapshot, \u0027"},{"line_number":575,"context_line":"                  \u0027snapshotname:%(snapshotname)s, \u0027"},{"line_number":576,"context_line":"                  \u0027source volume name:%(volumename)s, \u0027"},{"line_number":577,"context_line":"                  \u0027vol_instance.path:%(vol_instance)s, \u0027"},{"line_number":578,"context_line":"                  \u0027dest_volumename:%(d_volumename)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7d109659","line":575,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":593,"context_line":"            SyncType\u003dself._pywbem_uint(7, \u002716\u0027),"},{"line_number":594,"context_line":"            SourceElement\u003dvol_instance.path)"},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        if rc !\u003d 0:"},{"line_number":597,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":598,"context_line":"                     \u0027snapshotname:%(snapshotname)s, \u0027"},{"line_number":599,"context_line":"                     \u0027source volume name:%(volumename)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_406b71b7","line":596,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as\n\nif rc:\n    msg \u003d","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"0dcd4bd9058f804fb199537ba58b08ff3435b88f","unresolved":false,"context_lines":[{"line_number":593,"context_line":"            SyncType\u003dself._pywbem_uint(7, \u002716\u0027),"},{"line_number":594,"context_line":"            SourceElement\u003dvol_instance.path)"},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        if rc !\u003d 0:"},{"line_number":597,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":598,"context_line":"                     \u0027snapshotname:%(snapshotname)s, \u0027"},{"line_number":599,"context_line":"                     \u0027source volume name:%(volumename)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_e27e3669","line":596,"in_reply_to":"3a29b11f_406b71b7","updated":"2015-10-21 14:45:03.000000000","message":"I want to keep it considering readability.\nIt clears rc is int/long value as return_code.\nsame for other points.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        if rc !\u003d 0:"},{"line_number":597,"context_line":"            msg \u003d (_(\u0027create_snapshot, \u0027"},{"line_number":598,"context_line":"                     \u0027snapshotname:%(snapshotname)s, \u0027"},{"line_number":599,"context_line":"                     \u0027source volume name:%(volumename)s, \u0027"},{"line_number":600,"context_line":"                     \u0027vol_instance.path:%(vol_instance)s, \u0027"},{"line_number":601,"context_line":"                     \u0027dest volume name:%(d_volumename)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_6068edb9","line":598,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whiltespace after \":\" and also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":615,"context_line":"            element \u003d job[\u0027TargetElement\u0027]"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        LOG.debug(\u0027create_snapshot, volumename:%(volumename)s, \u0027"},{"line_number":618,"context_line":"                  \u0027Return code:%(rc)lu, \u0027"},{"line_number":619,"context_line":"                  \u0027Error:%(errordesc)s, Exit Method.\u0027,"},{"line_number":620,"context_line":"                  {\u0027volumename\u0027: volumename,"},{"line_number":621,"context_line":"                   \u0027rc\u0027: rc,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_00b81929","line":618,"updated":"2015-10-21 12:13:00.000000000","message":"Please add a whiltespace after \":\" for better readability in debug logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":621,"context_line":"                   \u0027rc\u0027: rc,"},{"line_number":622,"context_line":"                   \u0027errordesc\u0027: errordesc})"},{"line_number":623,"context_line":""},{"line_number":624,"context_line":"        # create return value"},{"line_number":625,"context_line":"        element_path[\u0027classname\u0027] \u003d element.classname"},{"line_number":626,"context_line":"        element_path[\u0027keybindings\u0027] \u003d ("},{"line_number":627,"context_line":"            {\u0027CreationClassName\u0027: element[\u0027CreationClassName\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_6096ad94","line":624,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":648,"context_line":"        vol_instance \u003d self._find_lun(volume)"},{"line_number":649,"context_line":"        # Existence check the volume"},{"line_number":650,"context_line":"        if vol_instance is None:"},{"line_number":651,"context_line":"            # volume does not found"},{"line_number":652,"context_line":"            msg \u003d (_(\u0027initialize_connection, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_e0963d3e","line":649,"updated":"2015-10-21 12:13:00.000000000","message":"Check volume existence. or Existence check for the volume.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":648,"context_line":"        vol_instance \u003d self._find_lun(volume)"},{"line_number":649,"context_line":"        # Existence check the volume"},{"line_number":650,"context_line":"        if vol_instance is None:"},{"line_number":651,"context_line":"            # volume does not found"},{"line_number":652,"context_line":"            msg \u003d (_(\u0027initialize_connection, \u0027"},{"line_number":653,"context_line":"                     \u0027volume:%(volume)s, \u0027"},{"line_number":654,"context_line":"                     \u0027Volume not found.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_60a30d9e","line":651,"updated":"2015-10-21 12:13:00.000000000","message":"Volume not found.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":650,"context_line":"        if vol_instance is None:"},{"line_number":651,"context_line":"            # volume does not found"},{"line_number":652,"context_line":"            msg \u003d (_(\u0027initialize_connection, \u0027"},{"line_number":653,"context_line":"                     \u0027volume:%(volume)s, \u0027"},{"line_number":654,"context_line":"                     \u0027Volume not found.\u0027)"},{"line_number":655,"context_line":"                   % {\u0027volume\u0027: volume[\u0027name\u0027]})"},{"line_number":656,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_c006a185","line":653,"updated":"2015-10-21 12:13:00.000000000","message":"Add a space after \":\" and also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":659,"context_line":"        target_portlist \u003d self._get_target_port()"},{"line_number":660,"context_line":"        mapdata \u003d self._get_mapdata(vol_instance, connector, target_portlist)"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"        if mapdata is not None:"},{"line_number":663,"context_line":"            # volume is already mapped"},{"line_number":664,"context_line":"            target_lun \u003d mapdata.get(\u0027target_lun\u0027, None)"},{"line_number":665,"context_line":"            target_luns \u003d mapdata.get(\u0027target_luns\u0027, None)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_204515b2","line":662,"updated":"2015-10-21 12:13:00.000000000","message":"Just use \n\nif metadata:","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":714,"context_line":"            target_wwn \u003d []"},{"line_number":715,"context_line":"            target_portlist \u003d self._get_target_port()"},{"line_number":716,"context_line":"            for target_port in target_portlist:"},{"line_number":717,"context_line":"                target_wwn.append(target_port[\u0027Name\u0027])"},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        init_tgt_map \u003d {}"},{"line_number":720,"context_line":"        for initiator in initiatorlist:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f31b7571","line":717,"updated":"2015-10-21 12:13:00.000000000","message":"if target_wwn is None:\n    target_wwn \u003d []\n    target_portlist \u003d self._get_target_port()\n    for target_port in target_portlist:\n        target_wwn.append(target_port[\u0027Name\u0027])\n\ncan be rewritten as:\n\ntarget_wwn \u003d target_wwn or [\n    target_port[\u0027Name\u0027] for target_port in self._get_target_port()]","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"0dcd4bd9058f804fb199537ba58b08ff3435b88f","unresolved":false,"context_lines":[{"line_number":714,"context_line":"            target_wwn \u003d []"},{"line_number":715,"context_line":"            target_portlist \u003d self._get_target_port()"},{"line_number":716,"context_line":"            for target_port in target_portlist:"},{"line_number":717,"context_line":"                target_wwn.append(target_port[\u0027Name\u0027])"},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        init_tgt_map \u003d {}"},{"line_number":720,"context_line":"        for initiator in initiatorlist:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_e2439611","line":717,"in_reply_to":"3a29b11f_f31b7571","updated":"2015-10-21 14:45:03.000000000","message":"I\u0027ll fix it as below:\n\nif not target_wwn:\n    target_wwn \u003d [\n        target_port[\u0027Name\u0027] for target_port in self._get_target_port()]","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"        init_tgt_map \u003d {}"},{"line_number":720,"context_line":"        for initiator in initiatorlist:"},{"line_number":721,"context_line":"            init_tgt_map[initiator] \u003d target_wwn"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"        LOG.debug(\u0027build_fc_init_tgt_map, Exit method.\u0027)"},{"line_number":724,"context_line":"        return init_tgt_map"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_b32e5d41","line":721,"updated":"2015-10-21 12:13:00.000000000","message":"init_tgt_map \u003d {}\nfor initiator in initiatorlist:\n    init_tgt_map[initiator] \u003d target_wwn\n\ncan be rewritten as:\n\ninit_tgt_map \u003d {init_tgt_map[initiator]: target_wwn for initiator in initiatorlist}","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":732,"context_line":"        volumesize \u003d new_size * units.Gi"},{"line_number":733,"context_line":"        volumename \u003d self._create_volume_name(volume[\u0027id\u0027])"},{"line_number":734,"context_line":""},{"line_number":735,"context_line":"        # get source volume instance"},{"line_number":736,"context_line":"        source_volume_instance \u003d self._find_lun(volume)"},{"line_number":737,"context_line":"        if source_volume_instance is None:"},{"line_number":738,"context_line":"            msg \u003d (_(\u0027extend_volume, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_131631f1","line":735,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":736,"context_line":"        source_volume_instance \u003d self._find_lun(volume)"},{"line_number":737,"context_line":"        if source_volume_instance is None:"},{"line_number":738,"context_line":"            msg \u003d (_(\u0027extend_volume, \u0027"},{"line_number":739,"context_line":"                     \u0027source_volume:%(volumename)s, \u0027"},{"line_number":740,"context_line":"                     \u0027not found.\u0027)"},{"line_number":741,"context_line":"                   % {\u0027volumename\u0027: volumename})"},{"line_number":742,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f3eff5e6","line":739,"updated":"2015-10-21 12:13:00.000000000","message":"Add a space after \":\" and also consider removing redundant outer parenthesis.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":742,"context_line":"            LOG.error(msg)"},{"line_number":743,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":744,"context_line":""},{"line_number":745,"context_line":"        LOG.debug(\u0027extend_volume, volumename:%(volumename)s, \u0027"},{"line_number":746,"context_line":"                  \u0027volumesize:%(volumesize)u, \u0027"},{"line_number":747,"context_line":"                  \u0027source volume instance:%(src_volume)s.\u0027,"},{"line_number":748,"context_line":"                  {\u0027volumename\u0027: volumename,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d3a8b98f","line":745,"updated":"2015-10-21 12:13:00.000000000","message":"Add a space after \":\" for better readability in debug logs.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":749,"context_line":"                   \u0027volumesize\u0027: volumesize,"},{"line_number":750,"context_line":"                   \u0027src_volume\u0027: six.text_type(source_volume_instance.path)})"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"        # get poolname from driver configuration file"},{"line_number":753,"context_line":"        eternus_pool \u003d self._get_drvcfg(\u0027EternusPool\u0027)"},{"line_number":754,"context_line":"        # Existence check the pool"},{"line_number":755,"context_line":"        pool \u003d self._find_pool(eternus_pool)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_73a9a58f","line":752,"updated":"2015-10-21 12:13:00.000000000","message":"For consistency purpose please consider starting comments with Capital letter and end with a period.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":804,"context_line":"            Size\u003dself._pywbem_uint(volumesize, \u002764\u0027),"},{"line_number":805,"context_line":"            TheElement\u003dsource_volume_instance.path)"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        if rc !\u003d 0:"},{"line_number":808,"context_line":"            msg \u003d (_(\u0027extend_volume, \u0027"},{"line_number":809,"context_line":"                     \u0027volumename:%(volumename)s, \u0027"},{"line_number":810,"context_line":"                     \u0027Return code:%(rc)lu, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_b3917d49","line":807,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as\nif rc:\n    msg \u003d","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":841,"context_line":"        pool \u003d self._find_pool(eternus_pool, True)"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"        # Existence check the pool"},{"line_number":844,"context_line":"        if pool is not None:"},{"line_number":845,"context_line":"            self.stats[\u0027total_capacity_gb\u0027] \u003d ("},{"line_number":846,"context_line":"                pool[\u0027TotalManagedSpace\u0027] / units.Gi)"},{"line_number":847,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_53ca694f","line":844,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as\n\nif pool:\n    .....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":877,"context_line":"        # find affinity group"},{"line_number":878,"context_line":"        # attach the connector and include the volume"},{"line_number":879,"context_line":"        aglist \u003d self._find_affinity_group(connector, vol_instance)"},{"line_number":880,"context_line":"        if len(aglist) \u003d\u003d 0:"},{"line_number":881,"context_line":"            LOG.debug(\u0027_get_mapdata, ag_list:%s.\u0027, aglist)"},{"line_number":882,"context_line":"        else:"},{"line_number":883,"context_line":"            if self.protocol \u003d\u003d \u0027fc\u0027:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d30bd98c","line":880,"updated":"2015-10-21 12:13:00.000000000","message":"Just use\n\nif not aglist:\n    .....\nelse:\n    .....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":1057,"context_line":"        elem \u003d tree.getroot()"},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"        ret \u003d None"},{"line_number":1060,"context_line":"        if multiple is False:"},{"line_number":1061,"context_line":"            ret \u003d elem.findtext(\".//\" + tagname)"},{"line_number":1062,"context_line":"        else:"},{"line_number":1063,"context_line":"            ret \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7358c58a","line":1060,"updated":"2015-10-21 12:13:00.000000000","message":"if not multiple:\n    ....\nelse:\n    ....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":1065,"context_line":"                if (e.text is not None) and (e.text not in ret):"},{"line_number":1066,"context_line":"                    ret.append(e.text)"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"        if ret is None or len(ret) \u003d\u003d 0:"},{"line_number":1069,"context_line":"            msg \u003d (_(\u0027_get_drvcfg, \u0027"},{"line_number":1070,"context_line":"                     \u0027filename:%(filename)s, \u0027"},{"line_number":1071,"context_line":"                     \u0027tagname:%(tagname)s, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f3a85522","line":1068,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as:\n\nif not ret:\n    ....\n\nWhich will check for both None value of ret and the blank ret list.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":1653,"context_line":"                   \u0027initiator\u0027: initiatorlist,"},{"line_number":1654,"context_line":"                   \u0027tgt\u0027: targetlist})"},{"line_number":1655,"context_line":""},{"line_number":1656,"context_line":"        if len(aglist) \u003d\u003d 0:"},{"line_number":1657,"context_line":"            # create new affinity group"},{"line_number":1658,"context_line":"            for target in targetlist:"},{"line_number":1659,"context_line":"                LOG.debug(\u0027_map_lun, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_532589be","line":1656,"updated":"2015-10-21 12:13:00.000000000","message":"Can be reformatted as\n\nif not aglist:\n    ....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":1742,"context_line":"        elif self.protocol \u003d\u003d \u0027iSCSI\u0027 and connector[\u0027initiator\u0027] is not None:"},{"line_number":1743,"context_line":"            initiatornamelist.append(connector[\u0027initiator\u0027])"},{"line_number":1744,"context_line":""},{"line_number":1745,"context_line":"        if len(initiatornamelist) \u003d\u003d 0:"},{"line_number":1746,"context_line":"            msg \u003d (_(\u0027_find_initiator_names, \u0027"},{"line_number":1747,"context_line":"                     \u0027connector:%(connector)s, \u0027"},{"line_number":1748,"context_line":"                     \u0027initiator not found.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7310c559","line":1745,"updated":"2015-10-21 12:13:00.000000000","message":"if not initiatornamelist:\n    ....\nelse:\n    ....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":1849,"context_line":""},{"line_number":1850,"context_line":"        volume_uid \u003d vol_instance[\u0027Name\u0027]"},{"line_number":1851,"context_line":""},{"line_number":1852,"context_line":"        if force is False:"},{"line_number":1853,"context_line":"            aglist \u003d self._find_affinity_group(connector, vol_instance)"},{"line_number":1854,"context_line":"            if len(aglist) \u003d\u003d 0:"},{"line_number":1855,"context_line":"                LOG.info(_LI(\u0027_unmap_lun, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_960c6f3c","line":1852,"updated":"2015-10-21 12:13:00.000000000","message":"if not force:\n    ....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":1851,"context_line":""},{"line_number":1852,"context_line":"        if force is False:"},{"line_number":1853,"context_line":"            aglist \u003d self._find_affinity_group(connector, vol_instance)"},{"line_number":1854,"context_line":"            if len(aglist) \u003d\u003d 0:"},{"line_number":1855,"context_line":"                LOG.info(_LI(\u0027_unmap_lun, \u0027"},{"line_number":1856,"context_line":"                             \u0027volumename:%(volumename)s, \u0027"},{"line_number":1857,"context_line":"                             \u0027volume is not mapped, Exit method.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_761e7360","line":1854,"updated":"2015-10-21 12:13:00.000000000","message":"if not aglist:\n    ....","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":2048,"context_line":"        \"\"\"Given the job wait for it to complete.\"\"\""},{"line_number":2049,"context_line":"        LOG.debug(\u0027_wait_for_job_complete, Enter method.\u0027)"},{"line_number":2050,"context_line":""},{"line_number":2051,"context_line":"        self.retries \u003d 0"},{"line_number":2052,"context_line":"        self.wait_for_job_called \u003d False"},{"line_number":2053,"context_line":""},{"line_number":2054,"context_line":"        def _wait_for_job_complete():"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d60c27ef","line":2051,"updated":"2015-10-21 12:13:00.000000000","message":"Please, use https://github.com/openstack/cinder/blob/master/cinder/utils.py#L731 for retries.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"5074fc62fa6deb651c5059849637efb90a294807","unresolved":false,"context_lines":[{"line_number":2048,"context_line":"        \"\"\"Given the job wait for it to complete.\"\"\""},{"line_number":2049,"context_line":"        LOG.debug(\u0027_wait_for_job_complete, Enter method.\u0027)"},{"line_number":2050,"context_line":""},{"line_number":2051,"context_line":"        self.retries \u003d 0"},{"line_number":2052,"context_line":"        self.wait_for_job_called \u003d False"},{"line_number":2053,"context_line":""},{"line_number":2054,"context_line":"        def _wait_for_job_complete():"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_3a38c0ee","line":2051,"in_reply_to":"3a29b11f_d60c27ef","updated":"2015-10-22 00:23:07.000000000","message":"Thanks for information. For refactoring, I want to add original exception. However, since this patch is very large, I wouldn\u0027t like to expand area in this patch. That\u0027s why I will do this refactor in other enhancement. Sorry and Thanks.","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    msg \u003d _(\u0027import pywbem failed!! \u0027"},{"line_number":43,"context_line":"            \u0027pywbem is necessary for this volume driver.\u0027)"},{"line_number":44,"context_line":"    LOG.error(msg)"},{"line_number":45,"context_line":"    raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"VOL_PREFIX \u003d \"FJosv_\""},{"line_number":48,"context_line":"RAIDGROUP \u003d 2"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_06c9ed25","line":45,"updated":"2015-10-22 03:47:46.000000000","message":"This should not throw an exception if pywbem is not installed.  See example in the VMAX driver:\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/emc/emc_vmax_utils.py#L35","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            self.configuration.iscsi_ip_address \u003d ("},{"line_number":159,"context_line":"                self._get_drvcfg(\u0027EternusISCSIIP\u0027))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        return"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def create_volume(self, volume):"},{"line_number":164,"context_line":"        \"\"\"Create volume on ETERNUS.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_e6eab173","line":161,"updated":"2015-10-22 03:47:46.000000000","message":"\"return\" can be removed.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def create_volume(self, volume):"},{"line_number":164,"context_line":"        \"\"\"Create volume on ETERNUS.\"\"\""},{"line_number":165,"context_line":"        LOG.debug(\u0027create_volume, Enter method.\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":168,"context_line":"        volumesize \u003d int(volume[\u0027size\u0027]) * units.Gi"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_66f78159","line":165,"updated":"2015-10-22 03:47:46.000000000","message":"We were asked to remove enter/exit debug messages like this.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"d666f802c8c17494f1ea09e90f1c842f0cdfa363","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def create_volume(self, volume):"},{"line_number":164,"context_line":"        \"\"\"Create volume on ETERNUS.\"\"\""},{"line_number":165,"context_line":"        LOG.debug(\u0027create_volume, Enter method.\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        self.conn \u003d self._get_eternus_connection()"},{"line_number":168,"context_line":"        volumesize \u003d int(volume[\u0027size\u0027]) * units.Gi"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_2cf88bc2","line":165,"in_reply_to":"3a29b11f_66f78159","updated":"2015-10-22 09:29:57.000000000","message":"I use it for trace with debugging mode when unexpected trouble happened in test during developping.\nSince it has helped my development, I would like to keep it if possible. Is it possible?","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # Get eternus model for metadata."},{"line_number":243,"context_line":"        # systemname \u003d systemnamelist[0][\u0027IdentifyingNumber\u0027]"},{"line_number":244,"context_line":"        # ex) ET092DC4511133A10"},{"line_number":245,"context_line":"        try:"},{"line_number":246,"context_line":"            systemnamelist \u003d ("},{"line_number":247,"context_line":"                self._enum_eternus_instances(\u0027FUJITSU_StorageProduct\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_a68839c6","line":244,"updated":"2015-10-22 03:47:46.000000000","message":"Do you still need the above comments?  Seems not needed any more.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":411,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        LOG.debug(\u0027_create_local_cloned_volume, Exit method.\u0027)"},{"line_number":414,"context_line":"        return"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"    def delete_volume(self, volume):"},{"line_number":417,"context_line":"        \"\"\"Delete volume on ETERNUS.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_06becd64","line":414,"updated":"2015-10-22 03:47:46.000000000","message":"\"return\" is not needed here.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        self._delete_volume(vol_instance)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"        LOG.debug(\u0027delete_volume, Exit method.\u0027)"},{"line_number":435,"context_line":"        return"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-vol\u0027, \u0027cinder-\u0027, True)"},{"line_number":438,"context_line":"    def _delete_volume_setting(self, volume):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_26c3c9ee","line":435,"updated":"2015-10-22 03:47:46.000000000","message":"\"return\" is not needed at the end.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":639,"context_line":"        self.delete_volume(snapshot)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        LOG.debug(\u0027delete_snapshot, Exit method.\u0027)"},{"line_number":642,"context_line":"        return"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":645,"context_line":"        \"\"\"Allow connection to connector and return connection info.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_46a84520","line":642,"updated":"2015-10-22 03:47:46.000000000","message":"\"return\" should be removed.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":681,"context_line":"        mapdata[\u0027target_discovered\u0027] \u003d True"},{"line_number":682,"context_line":"        mapdata[\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]"},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"        if self.protocol \u003d\u003d \u0027fc\u0027:"},{"line_number":685,"context_line":"            device_info \u003d {\u0027driver_volume_type\u0027: \u0027fibre_channel\u0027,"},{"line_number":686,"context_line":"                           \u0027data\u0027: mapdata}"},{"line_number":687,"context_line":"        elif self.protocol \u003d\u003d \u0027iSCSI\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_4604c516","line":684,"updated":"2015-10-22 03:47:46.000000000","message":"Since your driver only supports iSCSI, please remove code related to FC.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":704,"context_line":"        LOG.debug(\u0027terminate_connection, Exit method.\u0027)"},{"line_number":705,"context_line":"        return"},{"line_number":706,"context_line":""},{"line_number":707,"context_line":"    def build_fc_init_tgt_map(self, connector, target_wwn\u003dNone):"},{"line_number":708,"context_line":"        \"\"\"Build parameter for Zone Manager.\"\"\""},{"line_number":709,"context_line":"        LOG.debug(\u0027build_fc_init_tgt_map, Enter method.\u0027)"},{"line_number":710,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_2c12cb57","line":707,"updated":"2015-10-22 03:47:46.000000000","message":"This function is for FC.  Please remove it as you don\u0027t support FC.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":828,"context_line":"                   \u0027errordesc\u0027: errordesc,"},{"line_number":829,"context_line":"                   \u0027eternus_pool\u0027: eternus_pool,"},{"line_number":830,"context_line":"                   \u0027pooltype\u0027: POOL_TYPE_dic[pooltype]})"},{"line_number":831,"context_line":"        return"},{"line_number":832,"context_line":""},{"line_number":833,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-update\u0027, \u0027cinder-\u0027, True)"},{"line_number":834,"context_line":"    def update_volume_stats(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_a65d9948","line":831,"updated":"2015-10-22 03:47:46.000000000","message":"Remove \"return\"","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":879,"context_line":"        if not aglist:"},{"line_number":880,"context_line":"            LOG.debug(\u0027_get_mapdata, ag_list:%s.\u0027, aglist)"},{"line_number":881,"context_line":"        else:"},{"line_number":882,"context_line":"            if self.protocol \u003d\u003d \u0027fc\u0027:"},{"line_number":883,"context_line":"                mapdata \u003d self._get_mapdata_fc(aglist, vol_instance,"},{"line_number":884,"context_line":"                                               target_portlist)"},{"line_number":885,"context_line":"            elif self.protocol \u003d\u003d \u0027iSCSI\u0027:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_ac2c9b99","line":882,"updated":"2015-10-22 03:47:46.000000000","message":"FC related code should be removed.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        LOG.debug(\u0027_get_mapdata, Exit method.\u0027)"},{"line_number":891,"context_line":"        return mapdata"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"    def _get_mapdata_fc(self, aglist, vol_instance, target_portlist):"},{"line_number":894,"context_line":"        \"\"\"_get_mapdata for FibreChannel.\"\"\""},{"line_number":895,"context_line":"        LOG.debug(\u0027_get_mapdata_fc, Enter method.\u0027)"},{"line_number":896,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_0c3eefc0","line":893,"updated":"2015-10-22 03:47:46.000000000","message":"This one is also FC code and should be removed.","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":1544,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1545,"context_line":""},{"line_number":1546,"context_line":"        LOG.debug(\u0027_delete_copysession, Exit method.\u0027)"},{"line_number":1547,"context_line":"        return"},{"line_number":1548,"context_line":""},{"line_number":1549,"context_line":"    def _get_target_port(self):"},{"line_number":1550,"context_line":"        \"\"\"return target portid.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_c638d5f0","line":1547,"updated":"2015-10-22 03:47:46.000000000","message":"Remove \"return\".","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":1726,"context_line":"        LOG.debug(\u0027_map_lun, \u0027"},{"line_number":1727,"context_line":"                  \u0027volumename: %(volumename)s, Exit method.\u0027,"},{"line_number":1728,"context_line":"                  {\u0027volumename\u0027: volumename})"},{"line_number":1729,"context_line":"        return"},{"line_number":1730,"context_line":""},{"line_number":1731,"context_line":"    def _find_initiator_names(self, connector):"},{"line_number":1732,"context_line":"        \"\"\"return initiator names.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_86273dc9","line":1729,"updated":"2015-10-22 03:47:46.000000000","message":"Remove \"return\".","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bb2ce363a43a20b9ee9df82a6124c365ba9446e5","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"try:"},{"line_number":40,"context_line":"    import pywbem"},{"line_number":41,"context_line":"except Exception:"},{"line_number":42,"context_line":"    msg \u003d _LE(\u0027import pywbem failed!! \u0027"},{"line_number":43,"context_line":"              \u0027pywbem is necessary for this volume driver.\u0027)"},{"line_number":44,"context_line":"    LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_69a84d78","line":41,"updated":"2015-11-13 22:36:52.000000000","message":"This should be catching the ImportError:\n\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/emc/emc_vmax_common.py#L42","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        LOG.debug(\u0027create_cloned_volume, Exit method.\u0027)"},{"line_number":361,"context_line":"        return (element_path, metadata)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-vol\u0027, \u0027cinder-\u0027, True)"},{"line_number":364,"context_line":"    def _create_local_cloned_volume(self, tgt_vol_instance, src_vol_instance):"},{"line_number":365,"context_line":"        \"\"\"Create local clone of the specified volume.\"\"\""},{"line_number":366,"context_line":"        LOG.debug(\u0027_create_local_cloned_volume, Enter method.\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_eff534cb","line":363,"updated":"2015-11-13 14:59:55.000000000","message":"Make sure you really do need locking.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"881e2223d4cb629ab275c96e653084b3acf48c85","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        LOG.debug(\u0027create_cloned_volume, Exit method.\u0027)"},{"line_number":361,"context_line":"        return (element_path, metadata)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-vol\u0027, \u0027cinder-\u0027, True)"},{"line_number":364,"context_line":"    def _create_local_cloned_volume(self, tgt_vol_instance, src_vol_instance):"},{"line_number":365,"context_line":"        \"\"\"Create local clone of the specified volume.\"\"\""},{"line_number":366,"context_line":"        LOG.debug(\u0027_create_local_cloned_volume, Enter method.\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_3a44b7b5","line":363,"in_reply_to":"da85f559_eff534cb","updated":"2015-11-15 05:12:46.000000000","message":"Well..., when I used old storage firmware before, I rarely encounter resource busy error from storage when creating copy. That\u0027s why I would like to keep it. Soon after it is no problem to remove it in test with heavy operation and latest storage firmware, I will remove it in other patch.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        repservice \u003d self._find_eternus_service(REPL)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        if repservice is None:"},{"line_number":383,"context_line":"            msg \u003d _(\u0027_create_local_cloned_volume,\u0027"},{"line_number":384,"context_line":"                    \u0027Replication Service not found.\u0027)"},{"line_number":385,"context_line":"            LOG.error(msg)"},{"line_number":386,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_cf1f1008","line":383,"updated":"2015-11-13 14:59:55.000000000","message":"Need space at the end of the first line so it doesn\u0027t run together with the second line.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":576,"context_line":"                  \u0027Invoke CreateElementReplica.\u0027,"},{"line_number":577,"context_line":"                  {\u0027snapshotname\u0027: snapshotname,"},{"line_number":578,"context_line":"                   \u0027volumename\u0027: volumename,"},{"line_number":579,"context_line":"                   \u0027vol_instance\u0027: six.text_type(vol_instance.path),"},{"line_number":580,"context_line":"                   \u0027d_volumename\u0027: d_volumename,"},{"line_number":581,"context_line":"                   \u0027pool\u0027: pool})"},{"line_number":582,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_0faf587e","line":579,"updated":"2015-11-13 14:59:55.000000000","message":"six.text_type isn\u0027t needed when passing a value in to the logger. The logger will take care of any necessary conversion when needed.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":721,"context_line":"                  \u0027volume instance: %(vol_instance)s.\u0027,"},{"line_number":722,"context_line":"                  {\u0027volumename\u0027: volumename,"},{"line_number":723,"context_line":"                   \u0027volumesize\u0027: volumesize,"},{"line_number":724,"context_line":"                   \u0027vol_instance\u0027: six.text_type(vol_instance.path)})"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        # Get poolname from driver configuration file."},{"line_number":727,"context_line":"        eternus_pool \u003d self._get_drvcfg(\u0027EternusPool\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_6f2f04f7","line":724,"updated":"2015-11-13 14:59:55.000000000","message":"Remove six.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":766,"context_line":"                   \u0027eternus_pool\u0027: eternus_pool,"},{"line_number":767,"context_line":"                   \u0027pooltype\u0027: pooltype,"},{"line_number":768,"context_line":"                   \u0027volumesize\u0027: volumesize,"},{"line_number":769,"context_line":"                   \u0027vol_instance\u0027: six.text_type(vol_instance.path)})"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        # Invoke method for extend volume"},{"line_number":772,"context_line":"        rc, errordesc, job \u003d self._exec_eternus_service("}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_af45ecb3","line":769,"updated":"2015-11-13 14:59:55.000000000","message":"Remove six.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":1100,"context_line":"        \"\"\"find CIM instance about service information.\"\"\""},{"line_number":1101,"context_line":"        LOG.debug(\u0027_find_eternus_service, \u0027"},{"line_number":1102,"context_line":"                  \u0027classname: %(a)s, Enter method.\u0027,"},{"line_number":1103,"context_line":"                  {\u0027a\u0027: six.text_type(classname)})"},{"line_number":1104,"context_line":""},{"line_number":1105,"context_line":"        try:"},{"line_number":1106,"context_line":"            services \u003d self._enum_eternus_instance_names("}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_0fb5187d","line":1103,"updated":"2015-11-13 14:59:55.000000000","message":"Remove six.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":1119,"context_line":"                  \u0027classname: %(classname)s, \u0027"},{"line_number":1120,"context_line":"                  \u0027ret: %(ret)s, Exit method.\u0027,"},{"line_number":1121,"context_line":"                  {\u0027classname\u0027: classname,"},{"line_number":1122,"context_line":"                   \u0027ret\u0027: (six.text_type(ret))})"},{"line_number":1123,"context_line":"        return ret"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-SMIS-exec\u0027, \u0027cinder-\u0027, True)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_af2bac93","line":1122,"updated":"2015-11-13 14:59:55.000000000","message":"Remove six and unnecessary outer () for ret value.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":1129,"context_line":"                  \u0027classname: %(a)s, \u0027"},{"line_number":1130,"context_line":"                  \u0027instanceNameList: %(b)s, \u0027"},{"line_number":1131,"context_line":"                  \u0027parameters: %(c)s, Enter method\u0027,"},{"line_number":1132,"context_line":"                  {\u0027a\u0027: six.text_type(classname),"},{"line_number":1133,"context_line":"                   \u0027b\u0027: six.text_type(instanceNameList),"},{"line_number":1134,"context_line":"                   \u0027c\u0027: six.text_type(param_dict)})"},{"line_number":1135,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_ea1f6207","line":1132,"updated":"2015-11-13 14:59:55.000000000","message":"Remove six\u0027s.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":1164,"context_line":"                  \u0027Return code: %(rc)s, \u0027"},{"line_number":1165,"context_line":"                  \u0027Error: %(errordesc)s, \u0027"},{"line_number":1166,"context_line":"                  \u0027Retrun data: %(retdata)s, Exit method\u0027,"},{"line_number":1167,"context_line":"                  {\u0027a\u0027: six.text_type(classname),"},{"line_number":1168,"context_line":"                   \u0027b\u0027: six.text_type(instanceNameList),"},{"line_number":1169,"context_line":"                   \u0027c\u0027: six.text_type(param_dict),"},{"line_number":1170,"context_line":"                   \u0027rc\u0027: six.text_type(rc),"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_4ae1cefd","line":1167,"updated":"2015-11-13 14:59:55.000000000","message":"And all the rest...","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":1222,"context_line":"        LOG.debug(\u0027_assoc_eternus_names, Exit method.\u0027)"},{"line_number":1223,"context_line":"        return ret"},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-SMIS-other\u0027, \u0027cinder-\u0027, True)"},{"line_number":1226,"context_line":"    def _reference_eternus_names(self, classname, **param_dict):"},{"line_number":1227,"context_line":"        \"\"\"Refference Names.\"\"\""},{"line_number":1228,"context_line":"        LOG.debug(\u0027_reference_eternus_names, Enter method.\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_6a87f212","line":1225,"updated":"2015-11-13 14:59:55.000000000","message":"Seems like if you really do need locking, it should only be done with the top level operations and not each individual call.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"881e2223d4cb629ab275c96e653084b3acf48c85","unresolved":false,"context_lines":[{"line_number":1222,"context_line":"        LOG.debug(\u0027_assoc_eternus_names, Exit method.\u0027)"},{"line_number":1223,"context_line":"        return ret"},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    @lockutils.synchronized(\u0027ETERNUS-SMIS-other\u0027, \u0027cinder-\u0027, True)"},{"line_number":1226,"context_line":"    def _reference_eternus_names(self, classname, **param_dict):"},{"line_number":1227,"context_line":"        \"\"\"Refference Names.\"\"\""},{"line_number":1228,"context_line":"        LOG.debug(\u0027_reference_eternus_names, Enter method.\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_5a6dfb30","line":1225,"in_reply_to":"da85f559_6a87f212","updated":"2015-11-15 05:12:46.000000000","message":"I will keep it here because it takes longer operation time (from calling to completing). At least, _exec_eternus_service, _get_eternus_instance and _enum_eternus_instances are needed to be able to call at the same time for shortening operation time.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f8d6963db60d002c907acd7b71ed6f4d261de882","unresolved":false,"context_lines":[{"line_number":1261,"context_line":"            classname \u003d location[\u0027classname\u0027]"},{"line_number":1262,"context_line":"            bindings \u003d location[\u0027keybindings\u0027]"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":"            if (classname is not None) and (bindings is not None):"},{"line_number":1265,"context_line":"                LOG.debug(\u0027_find_lun, \u0027"},{"line_number":1266,"context_line":"                          \u0027classname: %(classname)s, \u0027"},{"line_number":1267,"context_line":"                          \u0027bindings: %(bindings)s.\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_45cea1b5","line":1264,"updated":"2015-11-13 14:59:55.000000000","message":"() around conditions are not necessary here. Just a minor nit - this works either way.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"}],"cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"967bd507b4f00975460ce9ea93bc3dcfe794d4ef","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":54,"context_line":"        for data in v_metadata:"},{"line_number":55,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":56,"context_line":"        # end of for v_metadata"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        LOG.info(_LI(\u0027create_volume,Exit method\u0027))"},{"line_number":59,"context_line":"        return {\u0027provider_location\u0027: six.text_type(element_path),"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_63f86ce6","line":56,"updated":"2015-10-06 08:30:19.000000000","message":"As in other files, these comments are not needed or helpful, python is an indent sensitive language and so any devs need to learn to read indent. Please remove.","commit_id":"51997315d74913f4d77649af8cf34a062ba287f9"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class FJDXISCSIDriver(driver.ISCSIDriver):"},{"line_number":33,"context_line":"    \"\"\"iSCSI Cinder Volume Driver for Fujitsu ETERNUS DX S3 series\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_f2e748e2","line":33,"updated":"2015-10-06 20:48:48.000000000","message":"dot is missed at end of line","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def create_volume(self, volume):"},{"line_number":48,"context_line":"        \"\"\"Create volume\"\"\""},{"line_number":49,"context_line":"        LOG.info(_LI(\u0027create_volume,Enter method\u0027))"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        (element_path, metadata) \u003d self.common.create_volume(volume)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_d2cd6c5e","line":48,"updated":"2015-10-06 20:48:48.000000000","message":"dot is missed at end of line","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"0a02d830397aa5fa663a2c55a6e15418914c2299","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def create_volume(self, volume):"},{"line_number":48,"context_line":"        \"\"\"Create volume\"\"\""},{"line_number":49,"context_line":"        LOG.info(_LI(\u0027create_volume,Enter method\u0027))"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        (element_path, metadata) \u003d self.common.create_volume(volume)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a2fa921_327aa0f2","line":49,"updated":"2015-10-06 20:48:48.000000000","message":"In most of the functions, log messages have been used for just logging out \"Enter method and Exit method\"\nI think you can use more useful log messages including some variables.\nSame comment for other files","commit_id":"27e06e825c3c5521aa0217e153f27c66250c2fec"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b1539c39794a96ce33c96ec7c40889efe23ace42","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self.common.extend_volume(volume, new_size)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        LOG.info(_LI(\u0027extend_volume,Exit method\u0027))"},{"line_number":179,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_6d936f5c","line":179,"updated":"2015-10-19 15:04:21.000000000","message":"Remove unnecessary return statements.","commit_id":"b6e87a5e9f2c192bcdbd823678a7025c6f701aa4"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":54,"context_line":"        for data in v_metadata:"},{"line_number":55,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        LOG.info(_LI(\u0027create_volume, info:%s, Exit method.\u0027),"},{"line_number":58,"context_line":"                 metadata)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_5695773c","line":55,"updated":"2015-10-21 12:13:00.000000000","message":"for data in v_metadata:\n    metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]\n\nCan be reformatted as \n\nmetadata \u003d {data[\u0027key\u0027]: data[\u0027value\u0027] for data in v_metadata}","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"0dcd4bd9058f804fb199537ba58b08ff3435b88f","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":54,"context_line":"        for data in v_metadata:"},{"line_number":55,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        LOG.info(_LI(\u0027create_volume, info:%s, Exit method.\u0027),"},{"line_number":58,"context_line":"                 metadata)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_37f0ee90","line":55,"in_reply_to":"3a29b11f_5695773c","updated":"2015-10-21 14:45:03.000000000","message":"\u0027metadata\u0027 is return value from self.common.create_volume and has some information.The reformat overwrites the information.\nAlthough following statement is possible, it is not improved very much.\n\ndata \u003d {d[\u0027key]: d[\u0027value\u0027] for data in v_metadata}\nmetadata.update(data)","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":70,"context_line":"        for data in v_metadata:"},{"line_number":71,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.info(_LI(\u0027create_volume_from_snapshot, info:%s, Exit method.\u0027),"},{"line_number":74,"context_line":"                 metadata)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_d68f4728","line":71,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"0dcd4bd9058f804fb199537ba58b08ff3435b88f","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":70,"context_line":"        for data in v_metadata:"},{"line_number":71,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.info(_LI(\u0027create_volume_from_snapshot, info:%s, Exit method.\u0027),"},{"line_number":74,"context_line":"                 metadata)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_37478ebd","line":71,"in_reply_to":"3a29b11f_d68f4728","updated":"2015-10-21 14:45:03.000000000","message":"same","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"2222a443b778dbe3597210ad7f5cefe870909b9d","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":86,"context_line":"        for data in v_metadata:"},{"line_number":87,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        LOG.info(_LI(\u0027create_cloned_volume, info:%s, Exit method.\u0027),"},{"line_number":90,"context_line":"                 metadata)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_7680b3f7","line":87,"updated":"2015-10-21 12:13:00.000000000","message":"ditto","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":10674,"name":"Yusuke Hayashi","email":"yusuke.hayashi.710@gmail.com","username":"YusukeHayashi"},"change_message_id":"0dcd4bd9058f804fb199537ba58b08ff3435b88f","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":86,"context_line":"        for data in v_metadata:"},{"line_number":87,"context_line":"            metadata[data[\u0027key\u0027]] \u003d data[\u0027value\u0027]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        LOG.info(_LI(\u0027create_cloned_volume, info:%s, Exit method.\u0027),"},{"line_number":90,"context_line":"                 metadata)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a29b11f_f71356b6","line":87,"in_reply_to":"3a29b11f_7680b3f7","updated":"2015-10-21 14:45:03.000000000","message":"same","commit_id":"427b9f229834ea284a7e1350fbd95cbb5e5de6a1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"733a206ed8854d91b1e1bff3e9a9aae4630cfdc8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u0027iSCSI\u0027,"},{"line_number":40,"context_line":"            configuration\u003dself.configuration)"},{"line_number":41,"context_line":"        self.VERSION \u003d self.common.VERSION"},{"line_number":42,"context_line":"        return"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def check_for_setup_error(self):"},{"line_number":45,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a29b11f_4c086728","line":42,"updated":"2015-10-22 03:47:46.000000000","message":"Remove \"return\".","commit_id":"ee6a36f7e6f7158c690b9c68662f101b609017cb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bb2ce363a43a20b9ee9df82a6124c365ba9446e5","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def create_volume(self, volume):"},{"line_number":47,"context_line":"        \"\"\"Create volume.\"\"\""},{"line_number":48,"context_line":"        LOG.info(_LI(\u0027create_volume, Enter method.\u0027))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        (element_path, metadata) \u003d self.common.create_volume(volume)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_2909e631","line":48,"updated":"2015-11-13 22:36:52.000000000","message":"This is a general comment as you have this all through the file.  We were asked not to log these enter and exit messages.  If you want to log one message with more information, that should be fine.","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bb2ce363a43a20b9ee9df82a6124c365ba9446e5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"\"\"Create volume.\"\"\""},{"line_number":48,"context_line":"        LOG.info(_LI(\u0027create_volume, Enter method.\u0027))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        (element_path, metadata) \u003d self.common.create_volume(volume)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        v_metadata \u003d volume.get(\u0027volume_metadata\u0027)"},{"line_number":53,"context_line":"        if v_metadata:"}],"source_content_type":"text/x-python","patch_set":17,"id":"da85f559_69504dd5","line":50,"updated":"2015-11-13 22:36:52.000000000","message":"Return values don\u0027t need to be wrapped:\n\nelement_path, metadata \u003d …...","commit_id":"6a75ab2d124253a5f97166006fda283b0d89077b"}]}
