)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"290d3ae7ceeacf7f5de7de3285319997392a24a5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Implementation of Cinder driver over FC for Inspur InStorage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This driver implements the features to support the use of Inspur InStorage"},{"line_number":10,"context_line":"over FC. This driver is base on the iSCSI driver of Inspur InStorage."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I51c746f0aff566cfb99f9f3e65a509c1e545f194"},{"line_number":13,"context_line":"Implement: blueprint inspur-instorage-fc-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bf659307_af23dbbc","line":10,"range":{"start_line":10,"start_character":24,"end_line":10,"end_character":28},"updated":"2018-03-29 14:51:24.000000000","message":"based","commit_id":"e48c56616ccfa96469f2be5e6618ace47a36532d"}],"cinder/tests/unit/volume/drivers/inspur/instorage/test_fc_driver.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3ed1ccd965da9075ad47ae4500b1cc82099c17f5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from cinder.volume.drivers.inspur.instorage import instorage_fc"},{"line_number":31,"context_line":"from cinder.volume import volume_types"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from cinder.tests.unit.volume.drivers.inspur.instorage import fakes"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class InStorageMCSFcDriverTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_f7de923c","line":33,"updated":"2018-03-22 22:04:05.000000000","message":"This should move up after the other cinder.tests.unit import.","commit_id":"63f7263cc3b6297a8add358602f08aaabef8dd3e"}],"cinder/volume/drivers/inspur/instorage/instorage_fc.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3ed1ccd965da9075ad47ae4500b1cc82099c17f5","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Volume FC driver for Inspur InStorage family and MCS storage systems."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Notes:"},{"line_number":20,"context_line":"1. Make sure you config the password or key file. If you specify both"},{"line_number":21,"context_line":"a password and a key file, this driver will use the key file only."},{"line_number":22,"context_line":"2. When a key file is used for authentication, the private key is stored"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_d7e34ed7","line":19,"updated":"2018-03-22 22:04:05.000000000","message":"Seems like this kind of info should really be added to documentation for the deployers in doc/source/configuration/block-storage/drivers/","commit_id":"63f7263cc3b6297a8add358602f08aaabef8dd3e"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3ed1ccd965da9075ad47ae4500b1cc82099c17f5","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                # Get 1st node in I/O group"},{"line_number":149,"context_line":"                preferred_node_entry \u003d io_group_nodes[0]"},{"line_number":150,"context_line":"                LOG.warning((\u0027initialize_connection: Did not find a \u0027"},{"line_number":151,"context_line":"                             \u0027preferred node for volume %s.\u0027), volume_name)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"            properties \u003d {}"},{"line_number":154,"context_line":"            properties[\u0027target_discovered\u0027] \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_977e3617","line":151,"range":{"start_line":151,"start_character":60,"end_line":151,"end_character":61},"updated":"2018-03-22 22:04:05.000000000","message":"nit: Inner () not really needed here.","commit_id":"63f7263cc3b6297a8add358602f08aaabef8dd3e"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ddc1b58c4d34da5cb3cc05a318ddc733a5424033","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        return {\u0027driver_volume_type\u0027: \u0027fibre_channel\u0027, \u0027data\u0027: properties, }"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _make_initiator_target_map(self, initiator_wwpns, target_wwpns):"},{"line_number":160,"context_line":"        \"\"\"Build a simplistic all-to-all mapping.\"\"\""},{"line_number":161,"context_line":"        i_t_map \u003d {}"},{"line_number":162,"context_line":"        for i_wwpn in initiator_wwpns:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_4c2e3144","line":159,"updated":"2018-03-26 15:23:13.000000000","message":"This should be moved to cinder/volume/utils.py since it\u0027s the same code that\u0027s in the storwize driver.","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":25648,"name":"wang yong","email":"yongwc@foxmail.com","username":"wangyong"},"change_message_id":"25074ec2574d38b018b86cc658bc7769582273e6","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        return {\u0027driver_volume_type\u0027: \u0027fibre_channel\u0027, \u0027data\u0027: properties, }"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _make_initiator_target_map(self, initiator_wwpns, target_wwpns):"},{"line_number":160,"context_line":"        \"\"\"Build a simplistic all-to-all mapping.\"\"\""},{"line_number":161,"context_line":"        i_t_map \u003d {}"},{"line_number":162,"context_line":"        for i_wwpn in initiator_wwpns:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_8f2386bd","line":159,"in_reply_to":"bf659307_4c2e3144","updated":"2018-03-29 01:40:01.000000000","message":"Addressed","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9a5eb5c25255711cc51a60df48f9e7e1218c8e8d","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    @fczm_utils.remove_fc_zone"},{"line_number":170,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"},{"line_number":171,"context_line":"        \"\"\"Cleanup after an FC connection has been terminated.\"\"\""},{"line_number":172,"context_line":"        # If a fake connector is generated by nova when the host"},{"line_number":173,"context_line":"        # is down, then the connector will not have a host property,"},{"line_number":174,"context_line":"        # In this case construct the lock without the host property"},{"line_number":175,"context_line":"        # so that all the fake connectors to an MCS are serialized"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_0f94b236","line":172,"updated":"2018-03-26 12:20:14.000000000","message":"Connector will also be none on a force disconnect, which is a normal case.","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9a5eb5c25255711cc51a60df48f9e7e1218c8e8d","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        else:"},{"line_number":216,"context_line":"            host_name \u003d None"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # Unmap volumes, if hostname is None, need to get value from vdiskmap"},{"line_number":219,"context_line":"        host_name \u003d self._assistant.unmap_vol_from_host(vol_name, host_name)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        # Host_name could be none"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_2fac168b","line":218,"updated":"2018-03-26 12:20:14.000000000","message":"OK, sounds like you are handling the force case.","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"}],"doc/source/configuration/block-storage/drivers/inspur-instorage-driver.rst":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f56ffbc07c17ddde22065259c60c5929d86eed74","unresolved":false,"context_lines":[{"line_number":45,"context_line":"      enabled_backends \u003d instorage-fc-1"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"      # For iSCSI"},{"line_number":48,"context_line":"      # enabled_backends \u003d instorage-iscsi-1"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. Add a back-end group section for back-end group specified"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_2c0e5d34","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":8},"updated":"2018-03-26 15:09:02.000000000","message":"Shouldn\u0027t be commented out here.","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":25648,"name":"wang yong","email":"yongwc@foxmail.com","username":"wangyong"},"change_message_id":"25074ec2574d38b018b86cc658bc7769582273e6","unresolved":false,"context_lines":[{"line_number":45,"context_line":"      enabled_backends \u003d instorage-fc-1"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"      # For iSCSI"},{"line_number":48,"context_line":"      # enabled_backends \u003d instorage-iscsi-1"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. Add a back-end group section for back-end group specified"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_b254adff","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":8},"in_reply_to":"bf659307_2c0e5d34","updated":"2018-03-29 01:40:01.000000000","message":"Addressed","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f56ffbc07c17ddde22065259c60c5929d86eed74","unresolved":false,"context_lines":[{"line_number":73,"context_line":"      instorage_mcs_volpool_name \u003d Pool0"},{"line_number":74,"context_line":"      # The driver path"},{"line_number":75,"context_line":"      volume_driver \u003d cinder.volume.drivers.inspur.instorage.instorage_fc.InStorageMCSFCDriver"},{"line_number":76,"context_line":"      # volume_driver \u003d cinder.volume.drivers.inspur.instorage.instorage_iscsi.InStorageMCSISCSIDriver"},{"line_number":77,"context_line":"      # Backend name"},{"line_number":78,"context_line":"      volume_backend_name \u003d instorage_fc_1"},{"line_number":79,"context_line":"      # volume_backend_name \u003d instorage_iscsi_1"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_0c7039a5","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":8},"updated":"2018-03-26 15:09:02.000000000","message":"Ok, I see what you are doing here.  I understand it but a new user may not.  I would either make two separate examples, once section for FC and one for iSCSI or I would add some explanation as to what would need to be different one versus the other.","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":25648,"name":"wang yong","email":"yongwc@foxmail.com","username":"wangyong"},"change_message_id":"25074ec2574d38b018b86cc658bc7769582273e6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"      instorage_mcs_volpool_name \u003d Pool0"},{"line_number":74,"context_line":"      # The driver path"},{"line_number":75,"context_line":"      volume_driver \u003d cinder.volume.drivers.inspur.instorage.instorage_fc.InStorageMCSFCDriver"},{"line_number":76,"context_line":"      # volume_driver \u003d cinder.volume.drivers.inspur.instorage.instorage_iscsi.InStorageMCSISCSIDriver"},{"line_number":77,"context_line":"      # Backend name"},{"line_number":78,"context_line":"      volume_backend_name \u003d instorage_fc_1"},{"line_number":79,"context_line":"      # volume_backend_name \u003d instorage_iscsi_1"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_d20b6121","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":8},"in_reply_to":"bf659307_0c7039a5","updated":"2018-03-29 01:40:01.000000000","message":"Addressed","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ddc1b58c4d34da5cb3cc05a318ddc733a5424033","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   .. code-block:: console"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"      # systemctl cinder-api restart"},{"line_number":86,"context_line":"      # systemctl cinder-scheduler restart"},{"line_number":87,"context_line":"      # systemctl cinder-volume restart"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_4c8f1123","line":85,"updated":"2018-03-26 15:23:13.000000000","message":"Why restart cinder-api and cinder-scheduler?","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"},{"author":{"_account_id":25648,"name":"wang yong","email":"yongwc@foxmail.com","username":"wangyong"},"change_message_id":"25074ec2574d38b018b86cc658bc7769582273e6","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   .. code-block:: console"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"      # systemctl cinder-api restart"},{"line_number":86,"context_line":"      # systemctl cinder-scheduler restart"},{"line_number":87,"context_line":"      # systemctl cinder-volume restart"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_723db5c2","line":85,"in_reply_to":"bf659307_4c8f1123","updated":"2018-03-29 01:40:01.000000000","message":"Addressed","commit_id":"63c8ddb005c61ef94b817f3929f4af3dd0f141e7"}]}
