)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"7d65239aa13e9221a278cefdfdc2927e0cdd27e6","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It restrict iSCSI access to volumes on hosts that supply"},{"line_number":10,"context_line":"the correct user name and password (or \"secret\") combination."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I2c4c8320c7471e5cf2e2e242dbe1729c8974bf28"},{"line_number":13,"context_line":"Implements: blueprint add-chap-authentication-support-to-cloudbyte-cinder-driver"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aaa499b_2b7f5e67","line":11,"updated":"2015-04-15 15:52:18.000000000","message":"Needs DocImpact.","commit_id":"4bfbba28a53c993615ef9e457e686506f022a7cd"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"d5b30ce5d1762ad7ef2156b79943cce3a2dd038a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"cb_use_chap :   Used to enable or disable CHAP security while creating"},{"line_number":23,"context_line":"                CloudByte iSCSI volumes."},{"line_number":24,"context_line":"\t        Set \u0027cb_use_chap \u003d True\u0027 to enable or \u0027cb_use_chap \u003d False\u0027"},{"line_number":25,"context_line":"\t        to disable the CHAP security."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"cb_auth_group : This corresponds to the discovery authentication group in"},{"line_number":28,"context_line":"                CloudByte storage. Chap users are added to this group."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dac4157f_9e8f14cc","line":25,"updated":"2015-04-21 13:08:00.000000000","message":"You have a few tabs in this commit message that should be removed.","commit_id":"cd273d841c1918dc81db0512a63f5b50dd43347c"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"d5b30ce5d1762ad7ef2156b79943cce3a2dd038a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\t\tthe auth group and chap username/password in CloudByte"},{"line_number":32,"context_line":"\t\tstorage and assign auth group name to \u0027cb_auth_group\u0027"},{"line_number":33,"context_line":"\t\tor None."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Change-Id: I2c4c8320c7471e5cf2e2e242dbe1729c8974bf28"},{"line_number":36,"context_line":"Implements: blueprint add-chap-authentication-support-to-cloudbyte-cinder-driver"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dac4157f_99b5ee32","line":34,"updated":"2015-04-21 13:08:00.000000000","message":"Needs DocImpact line to indicate there is a documentation change.","commit_id":"cd273d841c1918dc81db0512a63f5b50dd43347c"}],"cinder/tests/unit/test_cloudbyte.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"76302abf4b0634b572f63640cb0d42c68fefecae","unresolved":false,"context_lines":[{"line_number":1039,"context_line":"            provider_details[\u0027provider_location\u0027],"},{"line_number":1040,"context_line":"            matchers.Contains(\u0027172.16.50.35:3260\u0027))"},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        # assert that n api calls were invoked"},{"line_number":1043,"context_line":"        self.assertEqual(9, mock_api_req.call_count)"},{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"        # Test - III"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_b0961f3d","line":1042,"updated":"2015-05-20 08:41:20.000000000","message":"IMHO, \u0027n api\u0027 is not so clear to understand.","commit_id":"1b45fc533b7d0ff9027bbbc41d89d63cc4107a78"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"289eec99054ad56597b65ec2b99a1bd812b39dbc","unresolved":false,"context_lines":[{"line_number":1039,"context_line":"            provider_details[\u0027provider_location\u0027],"},{"line_number":1040,"context_line":"            matchers.Contains(\u0027172.16.50.35:3260\u0027))"},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        # assert that n api calls were invoked"},{"line_number":1043,"context_line":"        self.assertEqual(9, mock_api_req.call_count)"},{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"        # Test - III"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_a247dcba","line":1042,"in_reply_to":"7a016987_b0961f3d","updated":"2015-05-21 06:02:03.000000000","message":"Done.","commit_id":"1b45fc533b7d0ff9027bbbc41d89d63cc4107a78"}],"cinder/volume/drivers/cloudbyte/cloudbyte.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"7d65239aa13e9221a278cefdfdc2927e0cdd27e6","unresolved":false,"context_lines":[{"line_number":649,"context_line":"        # Fetch the auth group info"},{"line_number":650,"context_line":"        auth_group_info \u003d self._get_auth_group_info(account_id, ag_id)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        auth_group_info[\u0027ag_id\u0027] \u003d ag_id"},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        return auth_group_info"},{"line_number":655,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_cb323af2","line":652,"updated":"2015-04-15 15:52:18.000000000","message":"Why can\u0027t _get_auth_group_info set the \u0027ag_id\u0027 key, instead of doing it separately here?","commit_id":"4bfbba28a53c993615ef9e457e686506f022a7cd"},{"author":{"_account_id":8475,"name":"AmitKumarDas","email":"amit.das@cloudbyte.com","username":"AmitKumarDas"},"change_message_id":"adece94646a56b57e29223b22424a2e79f13638c","unresolved":false,"context_lines":[{"line_number":739,"context_line":"            self._request_update_iscsi_service(iscsi_id, ig_id, None)"},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"        LOG.debug(\"CloudByte volume [%(vol)s] updated with \""},{"line_number":742,"context_line":"                  \"iscsi id [%(iscsi)s] and ig id [%(ig)s] and \""},{"line_number":743,"context_line":"                  \"ag id [%(ag)s].\","},{"line_number":744,"context_line":"                  {\u0027vol\u0027: cb_volume_name, \u0027iscsi\u0027: iscsi_id,"},{"line_number":745,"context_line":"                   \u0027ig\u0027: ig_id, \u0027ag\u0027: ag_id})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ab451fb_a8965092","line":742,"updated":"2015-04-17 06:50:44.000000000","message":"I guess it will be better to use initiator group than ig. Same hold true to ag vs. authentication group.","commit_id":"269952472de661ffb56f41b7f18e3aebe09006a6"},{"author":{"_account_id":8475,"name":"AmitKumarDas","email":"amit.das@cloudbyte.com","username":"AmitKumarDas"},"change_message_id":"adece94646a56b57e29223b22424a2e79f13638c","unresolved":false,"context_lines":[{"line_number":937,"context_line":"        chap_info \u003d {}"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"        if cb_use_chap is True:"},{"line_number":940,"context_line":"            account_name \u003d self.configuration.cb_account_name"},{"line_number":941,"context_line":""},{"line_number":942,"context_line":"            # Get account id of this account"},{"line_number":943,"context_line":"            account_id \u003d self._get_account_id_from_name(account_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ab451fb_68be0801","line":940,"updated":"2015-04-17 06:50:44.000000000","message":"Since account_name is derived from configuration, it will be better to access it in the function _get_account_id_from_name itself.","commit_id":"269952472de661ffb56f41b7f18e3aebe09006a6"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"634f70d9f6cf079eee62e6774f8e2af5ac0d76a3","unresolved":false,"context_lines":[{"line_number":937,"context_line":"        chap_info \u003d {}"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"        if cb_use_chap is True:"},{"line_number":940,"context_line":"            account_name \u003d self.configuration.cb_account_name"},{"line_number":941,"context_line":""},{"line_number":942,"context_line":"            # Get account id of this account"},{"line_number":943,"context_line":"            account_id \u003d self._get_account_id_from_name(account_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ab451fb_62c5005a","line":940,"in_reply_to":"3ab451fb_68be0801","updated":"2015-04-17 09:38:18.000000000","message":"i\u0027ll create a new bug to remove redundant code from the driver.","commit_id":"269952472de661ffb56f41b7f18e3aebe09006a6"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"d5b30ce5d1762ad7ef2156b79943cce3a2dd038a","unresolved":false,"context_lines":[{"line_number":622,"context_line":"                    \"list iSCSI auth user API call.\")"},{"line_number":623,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":"        auth_group_details \u003d auth_group_details_res.get(\u0027authuser\u0027)"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        if auth_group_details is None:"},{"line_number":628,"context_line":"            msg \u003d _(\"Auth group details not found in CloudByte storage\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"dac4157f_7900da01","line":625,"updated":"2015-04-21 13:08:00.000000000","message":"Should you raise an exception if the chapusername and chappassword returned is None?","commit_id":"cd273d841c1918dc81db0512a63f5b50dd43347c"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"d5b30ce5d1762ad7ef2156b79943cce3a2dd038a","unresolved":false,"context_lines":[{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"        model_update[\u0027provider_auth\u0027] \u003d None"},{"line_number":1039,"context_line":""},{"line_number":1040,"context_line":"        if cb_use_chap is True:"},{"line_number":1041,"context_line":"            account_name \u003d self.configuration.cb_account_name"},{"line_number":1042,"context_line":""},{"line_number":1043,"context_line":"            # Get account id of this account"}],"source_content_type":"text/x-python","patch_set":4,"id":"dac4157f_5978768f","line":1040,"updated":"2015-04-21 13:08:00.000000000","message":"This section and the section above (L1018) have the same code.  Maybe you can make a common method to call and remove the duplicated code.","commit_id":"cd273d841c1918dc81db0512a63f5b50dd43347c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"93fdca6f607529a44c165475dfd7d5b3dfff401e","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                ag_id \u003d ag[\u0027id\u0027]"},{"line_number":604,"context_line":"                break"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        msg \u003d _(\"Auth group id [%s].\") % ag_id"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"        return ag_id"},{"line_number":609,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"bab921fb_a3c1b3e6","line":606,"updated":"2015-04-23 19:41:11.000000000","message":"This variable is not used anywhere","commit_id":"95c9a14f35c70f13da000bb3ba44e0c1fa9afbeb"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"556e51a680294d2b2f0af205fba8ae5acef19ee3","unresolved":false,"context_lines":[{"line_number":460,"context_line":"            return iscsi_id"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def _request_update_iscsi_service(self, iscsi_id, ig_id, ag_id):"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        params \u003d {"},{"line_number":465,"context_line":"            \"id\": iscsi_id,"},{"line_number":466,"context_line":"            \"igid\": ig_id"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_fcddc1e0","line":463,"updated":"2015-04-24 23:12:58.000000000","message":"Not sure why there is an extra newline here","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":460,"context_line":"            return iscsi_id"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def _request_update_iscsi_service(self, iscsi_id, ig_id, ag_id):"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        params \u003d {"},{"line_number":465,"context_line":"            \"id\": iscsi_id,"},{"line_number":466,"context_line":"            \"igid\": ig_id"}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_8b3a7dcc","line":463,"in_reply_to":"bab921fb_fcddc1e0","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"556e51a680294d2b2f0af205fba8ae5acef19ee3","unresolved":false,"context_lines":[{"line_number":466,"context_line":"            \"igid\": ig_id"},{"line_number":467,"context_line":"        }"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        if ag_id is not None:"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"            params[\u0027authgroupid\u0027] \u003d ag_id"},{"line_number":472,"context_line":"            params[\u0027authmethod\u0027] \u003d \"CHAP\""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_bc4ce9c8","line":469,"updated":"2015-04-24 23:12:58.000000000","message":"Here too","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":466,"context_line":"            \"igid\": ig_id"},{"line_number":467,"context_line":"        }"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        if ag_id is not None:"},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"            params[\u0027authgroupid\u0027] \u003d ag_id"},{"line_number":472,"context_line":"            params[\u0027authmethod\u0027] \u003d \"CHAP\""}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_6b3e09ba","line":469,"in_reply_to":"bab921fb_bc4ce9c8","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                ag_id \u003d ag[\u0027id\u0027]"},{"line_number":604,"context_line":"                break"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        if ag_id is None:"},{"line_number":607,"context_line":"            msg \u003d _(\"Auth group [%s] details not found in \""},{"line_number":608,"context_line":"                    \"CloudByte.\") % chap_group"},{"line_number":609,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_ddeac673","line":606,"updated":"2015-04-26 15:29:06.000000000","message":"You can just use:\n\n for ag in ag_list:\n     ...\n else:\n     ...","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":603,"context_line":"                ag_id \u003d ag[\u0027id\u0027]"},{"line_number":604,"context_line":"                break"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        if ag_id is None:"},{"line_number":607,"context_line":"            msg \u003d _(\"Auth group [%s] details not found in \""},{"line_number":608,"context_line":"                    \"CloudByte.\") % chap_group"},{"line_number":609,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_c6e62ce8","line":606,"in_reply_to":"bab921fb_ddeac673","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":642,"context_line":""},{"line_number":643,"context_line":"        data[\u0027username\u0027] \u003d chapuser"},{"line_number":644,"context_line":"        data[\u0027password\u0027] \u003d chappassword"},{"line_number":645,"context_line":"        data[\u0027ag_id\u0027] \u003d ag_id"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        return data"},{"line_number":648,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_5df7d658","line":645,"updated":"2015-04-26 15:29:06.000000000","message":"Why not just create a literal?","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":642,"context_line":""},{"line_number":643,"context_line":"        data[\u0027username\u0027] \u003d chapuser"},{"line_number":644,"context_line":"        data[\u0027password\u0027] \u003d chappassword"},{"line_number":645,"context_line":"        data[\u0027ag_id\u0027] \u003d ag_id"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        return data"},{"line_number":648,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_e6081094","line":645,"in_reply_to":"bab921fb_5df7d658","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"556e51a680294d2b2f0af205fba8ae5acef19ee3","unresolved":false,"context_lines":[{"line_number":658,"context_line":"            iscsi_auth_data)"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"        # Fetch the auth group info"},{"line_number":661,"context_line":"        auth_group_info \u003d self._get_auth_group_info(account_id, ag_id)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        return auth_group_info"},{"line_number":664,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_7c8ad11c","line":661,"updated":"2015-04-24 23:12:58.000000000","message":"You could just return here, instead of assigning it to a variable.  But ok.","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":658,"context_line":"            iscsi_auth_data)"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"        # Fetch the auth group info"},{"line_number":661,"context_line":"        auth_group_info \u003d self._get_auth_group_info(account_id, ag_id)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        return auth_group_info"},{"line_number":664,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_269048ec","line":661,"in_reply_to":"bab921fb_7c8ad11c","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        return auth_group_info"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"    def _do_export(self):"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        cb_use_chap \u003d self.configuration.cb_use_chap"},{"line_number":668,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_bdb27292","line":665,"updated":"2015-04-26 15:29:06.000000000","message":"All methods do something. Why not just def _export(self)?","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        return auth_group_info"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"    def _do_export(self):"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        cb_use_chap \u003d self.configuration.cb_use_chap"},{"line_number":668,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_46933cfb","line":665,"in_reply_to":"bab921fb_bdb27292","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"556e51a680294d2b2f0af205fba8ae5acef19ee3","unresolved":false,"context_lines":[{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        cb_use_chap \u003d self.configuration.cb_use_chap"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        model_update \u003d {}"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        model_update[\u0027provider_auth\u0027] \u003d None"},{"line_number":672,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_9c712547","line":669,"updated":"2015-04-24 23:12:58.000000000","message":"Why not do:\n\nmodel_update \u003d {\u0027provider_auth\u0027: None}","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        cb_use_chap \u003d self.configuration.cb_use_chap"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        model_update \u003d {}"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        model_update[\u0027provider_auth\u0027] \u003d None"},{"line_number":672,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_668640bb","line":669,"in_reply_to":"bab921fb_9c712547","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":678,"context_line":""},{"line_number":679,"context_line":"            chap \u003d self._get_chap_info(account_id)"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"            model_update[\u0027provider_auth\u0027] \u003d (\u0027CHAP %s %s\u0027"},{"line_number":682,"context_line":"                                             % (chap[\u0027username\u0027],"},{"line_number":683,"context_line":"                                                chap[\u0027password\u0027]))"},{"line_number":684,"context_line":"        return model_update"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_1d9cbe0d","line":681,"updated":"2015-04-26 15:29:06.000000000","message":"You can just use the dictionary syntax:\n \u0027CHAP %(username)s %(password)s\u0027 % chap","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":678,"context_line":""},{"line_number":679,"context_line":"            chap \u003d self._get_chap_info(account_id)"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"            model_update[\u0027provider_auth\u0027] \u003d (\u0027CHAP %s %s\u0027"},{"line_number":682,"context_line":"                                             % (chap[\u0027username\u0027],"},{"line_number":683,"context_line":"                                                chap[\u0027password\u0027]))"},{"line_number":684,"context_line":"        return model_update"}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_a6a3384f","line":681,"in_reply_to":"bab921fb_1d9cbe0d","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if cb_use_chap is True:"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"            # Fetch the chap credential"},{"line_number":760,"context_line":"            chap_info \u003d self._get_chap_info(account_id)"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"            # Fetch the auth group ID"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_7d917af0","line":759,"updated":"2015-04-26 15:29:06.000000000","message":"don\u0027t comment the obvious. Comments should not just echo the code.","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if cb_use_chap is True:"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"            # Fetch the chap credential"},{"line_number":760,"context_line":"            chap_info \u003d self._get_chap_info(account_id)"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"            # Fetch the auth group ID"}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_c69e2c07","line":759,"in_reply_to":"bab921fb_7d917af0","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":975,"context_line":""},{"line_number":976,"context_line":"            chap_info \u003d self._get_chap_info(account_id)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"},{"line_number":979,"context_line":"                                                                    chap_info)"},{"line_number":980,"context_line":"        else:"},{"line_number":981,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_3dbe6265","line":978,"updated":"2015-04-26 15:29:06.000000000","message":"Could be moved out of condition.","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":975,"context_line":""},{"line_number":976,"context_line":"            chap_info \u003d self._get_chap_info(account_id)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"},{"line_number":979,"context_line":"                                                                    chap_info)"},{"line_number":980,"context_line":"        else:"},{"line_number":981,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_46fc5c3e","line":978,"in_reply_to":"bab921fb_3dbe6265","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"bcc2a0f7c1e10bf22113bf63dbadc653faff962d","unresolved":false,"context_lines":[{"line_number":977,"context_line":""},{"line_number":978,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"},{"line_number":979,"context_line":"                                                                    chap_info)"},{"line_number":980,"context_line":"        else:"},{"line_number":981,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"},{"line_number":982,"context_line":"                                                                    chap_info)"},{"line_number":983,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bab921fb_fdb34a98","line":980,"updated":"2015-04-26 15:29:06.000000000","message":"Could be removed if above is addressed","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"48337ff4fc03c025164b1cb1cabedf02d6667220","unresolved":false,"context_lines":[{"line_number":977,"context_line":""},{"line_number":978,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"},{"line_number":979,"context_line":"                                                                    chap_info)"},{"line_number":980,"context_line":"        else:"},{"line_number":981,"context_line":"            model_update \u003d self._build_provider_details_from_volume(cb_vol,"},{"line_number":982,"context_line":"                                                                    chap_info)"},{"line_number":983,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9abe1de1_a6ec5890","line":980,"in_reply_to":"bab921fb_fdb34a98","updated":"2015-04-27 11:16:48.000000000","message":"Done","commit_id":"4686c2d8e0b9c1725413d6cbe4dcfb9fa10fba33"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c4b662538cb094b4f08cce2e4a4934ca23059f5d","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        model_update[\u0027provider_id\u0027] \u003d volume[\u0027id\u0027]"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(\"CloudByte volume [%(vol)s] properties: [%(props)s].\","},{"line_number":390,"context_line":"                  {\u0027vol\u0027: volume[\u0027iqnname\u0027], \u0027props\u0027: model_update})"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        return model_update"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aca2d91_9660dda6","side":"PARENT","line":389,"updated":"2015-05-09 10:04:19.000000000","message":"Please, don\u0027t remove logging here. We just need to not log \u0027provider_auth\u0027 data here","commit_id":"c831f5e551e90912a03f189fa3c5354da3675d1f"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"2aab3bc953178ee89cac3d621deef05deaf9b3ef","unresolved":false,"context_lines":[{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        model_update[\u0027provider_id\u0027] \u003d volume[\u0027id\u0027]"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        LOG.debug(\"CloudByte volume [%(vol)s] properties: [%(props)s].\","},{"line_number":390,"context_line":"                  {\u0027vol\u0027: volume[\u0027iqnname\u0027], \u0027props\u0027: model_update})"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        return model_update"}],"source_content_type":"text/x-python","patch_set":11,"id":"9af37de9_9d205e4b","side":"PARENT","line":389,"in_reply_to":"1aca2d91_9660dda6","updated":"2015-05-11 07:21:03.000000000","message":"Done","commit_id":"c831f5e551e90912a03f189fa3c5354da3675d1f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c4b662538cb094b4f08cce2e4a4934ca23059f5d","unresolved":false,"context_lines":[{"line_number":469,"context_line":"            \"igid\": ig_id"},{"line_number":470,"context_line":"        }"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        if ag_id is not None:"},{"line_number":473,"context_line":"            params[\u0027authgroupid\u0027] \u003d ag_id"},{"line_number":474,"context_line":"            params[\u0027authmethod\u0027] \u003d \"CHAP\""},{"line_number":475,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1aca2d91_365b49f8","line":472,"updated":"2015-05-09 10:04:19.000000000","message":"Could be simplified to:\n\nif ag_id:\n\nI won\u0027t block patch for such changes","commit_id":"e2021d8f51ae2e5760da98a02d8103f93f9c2935"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"2aab3bc953178ee89cac3d621deef05deaf9b3ef","unresolved":false,"context_lines":[{"line_number":469,"context_line":"            \"igid\": ig_id"},{"line_number":470,"context_line":"        }"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        if ag_id is not None:"},{"line_number":473,"context_line":"            params[\u0027authgroupid\u0027] \u003d ag_id"},{"line_number":474,"context_line":"            params[\u0027authmethod\u0027] \u003d \"CHAP\""},{"line_number":475,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9af37de9_3d1732ef","line":472,"in_reply_to":"1aca2d91_365b49f8","updated":"2015-05-11 07:21:03.000000000","message":"Done","commit_id":"e2021d8f51ae2e5760da98a02d8103f93f9c2935"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c4b662538cb094b4f08cce2e4a4934ca23059f5d","unresolved":false,"context_lines":[{"line_number":891,"context_line":"    def create_volume_from_snapshot(self, cloned_volume, snapshot):"},{"line_number":892,"context_line":"        \"\"\"Create a clone from an existing snapshot.\"\"\""},{"line_number":893,"context_line":""},{"line_number":894,"context_line":"        model_update \u003d {}"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        # Getting necessary data from input params"},{"line_number":897,"context_line":"        parent_volume_id \u003d snapshot[\u0027volume_id\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aca2d91_d66ad580","line":894,"updated":"2015-05-09 10:04:19.000000000","message":"Line #954 overwrite this value, so we don\u0027t need it here","commit_id":"e2021d8f51ae2e5760da98a02d8103f93f9c2935"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"2aab3bc953178ee89cac3d621deef05deaf9b3ef","unresolved":false,"context_lines":[{"line_number":891,"context_line":"    def create_volume_from_snapshot(self, cloned_volume, snapshot):"},{"line_number":892,"context_line":"        \"\"\"Create a clone from an existing snapshot.\"\"\""},{"line_number":893,"context_line":""},{"line_number":894,"context_line":"        model_update \u003d {}"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        # Getting necessary data from input params"},{"line_number":897,"context_line":"        parent_volume_id \u003d snapshot[\u0027volume_id\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9af37de9_fdd76a21","line":894,"in_reply_to":"1aca2d91_d66ad580","updated":"2015-05-11 07:21:03.000000000","message":"Done","commit_id":"e2021d8f51ae2e5760da98a02d8103f93f9c2935"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"76302abf4b0634b572f63640cb0d42c68fefecae","unresolved":false,"context_lines":[{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    def _build_provider_details_from_response(self,"},{"line_number":401,"context_line":"                                              cb_volumes,"},{"line_number":402,"context_line":"                                              volume_name, chap):"},{"line_number":403,"context_line":"        \"\"\"Get provider information.\"\"\""},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"        model_update \u003d {}"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_5075ab61","line":402,"updated":"2015-05-20 08:41:20.000000000","message":"Put `chap` to the next line, to be in consist with how other arguments are organized?","commit_id":"1b45fc533b7d0ff9027bbbc41d89d63cc4107a78"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"289eec99054ad56597b65ec2b99a1bd812b39dbc","unresolved":false,"context_lines":[{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    def _build_provider_details_from_response(self,"},{"line_number":401,"context_line":"                                              cb_volumes,"},{"line_number":402,"context_line":"                                              volume_name, chap):"},{"line_number":403,"context_line":"        \"\"\"Get provider information.\"\"\""},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"        model_update \u003d {}"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_c23e5827","line":402,"in_reply_to":"7a016987_5075ab61","updated":"2015-05-21 06:02:03.000000000","message":"Done.","commit_id":"1b45fc533b7d0ff9027bbbc41d89d63cc4107a78"}],"cinder/volume/drivers/cloudbyte/options.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"7d65239aa13e9221a278cefdfdc2927e0cdd27e6","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    cfg.BoolOpt(\"cb_use_chap\","},{"line_number":43,"context_line":"                default\u003dFalse,"},{"line_number":44,"context_line":"                help\u003d\"Based on this flag, driver will use chap \""},{"line_number":45,"context_line":"                     \"authentication. If the value is True driver \""},{"line_number":46,"context_line":"                     \"will use chap authentication.\"),"},{"line_number":47,"context_line":"    cfg.StrOpt(\"cb_auth_group\","},{"line_number":48,"context_line":"               default\u003d\"None\","}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_b853c638","line":45,"updated":"2015-04-15 15:52:18.000000000","message":"s/True/True, the/","commit_id":"4bfbba28a53c993615ef9e457e686506f022a7cd"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"93fdca6f607529a44c165475dfd7d5b3dfff401e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                    \"creation in CloudByte storage by making \""},{"line_number":41,"context_line":"                    \"this many number of attempts.\"),"},{"line_number":42,"context_line":"    cfg.BoolOpt(\"cb_use_chap\","},{"line_number":43,"context_line":"                default\u003dFalse,"},{"line_number":44,"context_line":"                help\u003d\"This is a boolean flag. Based on this driver will \""},{"line_number":45,"context_line":"                     \"use chap security.\"),"},{"line_number":46,"context_line":"    cfg.StrOpt(\"cb_auth_group\","}],"source_content_type":"text/x-python","patch_set":7,"id":"bab921fb_83446f74","line":43,"updated":"2015-04-23 19:41:11.000000000","message":"Please, specify default values in help messages","commit_id":"95c9a14f35c70f13da000bb3ba44e0c1fa9afbeb"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"d1072d5d29e0b03cc7737d4ed3c56cabb38d1b10","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\"Will confirm a successful volume \""},{"line_number":40,"context_line":"                    \"creation in CloudByte storage by making \""},{"line_number":41,"context_line":"                    \"this many number of attempts.\"),"},{"line_number":42,"context_line":"    cfg.BoolOpt(\"cb_use_chap\","},{"line_number":43,"context_line":"                default\u003dFalse,"},{"line_number":44,"context_line":"                help\u003d\"This is a boolean flag. Based on this driver will \""},{"line_number":45,"context_line":"                     \"use chap security. Default value is False.\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"5ad0253b_528d2c7a","line":42,"updated":"2015-04-29 01:05:27.000000000","message":"Please use the use_chap_auth config opt that\u0027s already available. https://github.com/openstack/cinder/blob/master/cinder/volume/driver.py#L185\n\nWe do this to avoid a dozen vendor options that do the same thing.","commit_id":"dd4bc45ecae59662a2cae294b3d936ebf80a1e92"},{"author":{"_account_id":14753,"name":"yogeshprasad","email":"yogesh.prasad@cloudbyte.com","username":"yogeshprasad"},"change_message_id":"5a276e10482b4b96880fa3fbac12c27f57666923","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\"Will confirm a successful volume \""},{"line_number":40,"context_line":"                    \"creation in CloudByte storage by making \""},{"line_number":41,"context_line":"                    \"this many number of attempts.\"),"},{"line_number":42,"context_line":"    cfg.BoolOpt(\"cb_use_chap\","},{"line_number":43,"context_line":"                default\u003dFalse,"},{"line_number":44,"context_line":"                help\u003d\"This is a boolean flag. Based on this driver will \""},{"line_number":45,"context_line":"                     \"use chap security. Default value is False.\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"5ad0253b_79300357","line":42,"in_reply_to":"5ad0253b_528d2c7a","updated":"2015-04-29 10:04:59.000000000","message":"Done.","commit_id":"dd4bc45ecae59662a2cae294b3d936ebf80a1e92"}]}
