)]}'
{"manila_tempest_tests/config.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    cfg.BoolOpt(\"migration_enabled\","},{"line_number":159,"context_line":"                default\u003dTrue,"},{"line_number":160,"context_line":"                help\u003d\"Enable or disable migration tests.\"),"},{"line_number":161,"context_line":"    cfg.StrOpt(\"default_share_type\","},{"line_number":162,"context_line":"               default\u003d\"default\","},{"line_number":163,"context_line":"               help\u003d\"Default share type to use in scenario tests.\"),"},{"line_number":164,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_36fa43be","line":161,"updated":"2015-09-11 12:56:53.000000000","message":"Name","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                help\u003d\"Enable or disable migration tests.\"),"},{"line_number":161,"context_line":"    cfg.StrOpt(\"default_share_type\","},{"line_number":162,"context_line":"               default\u003d\"default\","},{"line_number":163,"context_line":"               help\u003d\"Default share type to use in scenario tests.\"),"},{"line_number":164,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_3621e34d","line":163,"updated":"2015-09-11 12:56:53.000000000","message":"And description are not consistent. If it is for scenario tests only then it should contain it in the name else description should not have it.","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"}],"manila_tempest_tests/tests/scenario/manager_share.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1b0906077419c99fdad5d705fea508383804d5d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            name \u003d data_utils.rand_name(\"manila-scenario\")"},{"line_number":65,"context_line":"        if CONF.share.multitenancy_enabled:"},{"line_number":66,"context_line":"            share_network_id \u003d (share_network_id or client.share_network_id"},{"line_number":67,"context_line":"                                or None)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            share_network_id \u003d None"},{"line_number":70,"context_line":"        metadata \u003d metadata or {}"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_17aed92d","line":67,"updated":"2015-09-07 09:17:22.000000000","message":"Share network id equal to None is not expected in case of \"multitenancy_enabled\u003dTrue\".","commit_id":"47a6fe4b1c3a8009f965ddb907639bc7d954b1ca"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1b0906077419c99fdad5d705fea508383804d5d","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        share \u003d client.wait_for_migration_completed(share_id, dest_host)"},{"line_number":194,"context_line":"        return share"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def _create_share_type(self, name, is_public\u003dTrue, client\u003dNone,"},{"line_number":197,"context_line":"                           **kwargs):"},{"line_number":198,"context_line":"        if client is None:"},{"line_number":199,"context_line":"            client \u003d self.shares_admin_client"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_f78b25c1","line":196,"updated":"2015-09-07 09:17:22.000000000","message":"Share types can be created only by admin. So, I do not see any reason to provide here \"client\". We should use \"admin client\" always, since it is not functional tests.","commit_id":"47a6fe4b1c3a8009f965ddb907639bc7d954b1ca"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9b93a511d0adbd27aaf0d82d7eff4e35ca3eb6d2","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        return share"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def _create_share_type(self, name, is_public\u003dTrue, **kwargs):"},{"line_number":198,"context_line":"        share_type \u003d self.shares_admin_client.create_share_type(name,"},{"line_number":199,"context_line":"                                                                is_public,"},{"line_number":200,"context_line":"                                                                **kwargs)"},{"line_number":201,"context_line":"        self.addCleanup(self.shares_admin_client.delete_share_type,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_1458d7f9","line":198,"updated":"2015-09-14 10:12:42.000000000","message":"Please, use self.shares_admin_v2_client","commit_id":"4172759e30362386c901ed0cf7446776ed8c97c4"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9b93a511d0adbd27aaf0d82d7eff4e35ca3eb6d2","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        share_type \u003d self.shares_admin_client.create_share_type(name,"},{"line_number":199,"context_line":"                                                                is_public,"},{"line_number":200,"context_line":"                                                                **kwargs)"},{"line_number":201,"context_line":"        self.addCleanup(self.shares_admin_client.delete_share_type,"},{"line_number":202,"context_line":"                        share_type[\u0027share_type\u0027][\u0027id\u0027])"},{"line_number":203,"context_line":"        return share_type"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_d4725f7c","line":201,"updated":"2015-09-14 10:12:42.000000000","message":"ditto","commit_id":"4172759e30362386c901ed0cf7446776ed8c97c4"}],"manila_tempest_tests/tests/scenario/test_share_basic_ops.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1b0906077419c99fdad5d705fea508383804d5d","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            name\u003ddata_utils.rand_name(\"sn-name\"))"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def create_share(self):"},{"line_number":137,"context_line":"        self.create_share_network()"},{"line_number":138,"context_line":"        st_dhss_true \u003d self.shares_client.get_share_type("},{"line_number":139,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":140,"context_line":"        if st_dhss_true[\u0027extra_specs\u0027][\u0027driver_handles_share_servers\u0027]:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_57d211d2","line":137,"updated":"2015-09-07 09:17:22.000000000","message":"Share network should be created only for one of two possible cases. Now it is created always.","commit_id":"47a6fe4b1c3a8009f965ddb907639bc7d954b1ca"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1b0906077419c99fdad5d705fea508383804d5d","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        self.create_share_network()"},{"line_number":138,"context_line":"        st_dhss_true \u003d self.shares_client.get_share_type("},{"line_number":139,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":140,"context_line":"        if st_dhss_true[\u0027extra_specs\u0027][\u0027driver_handles_share_servers\u0027]:"},{"line_number":141,"context_line":"            st_dhss_false \u003d self._create_share_type("},{"line_number":142,"context_line":"                data_utils.rand_name(\"share_type\"),"},{"line_number":143,"context_line":"                extra_specs\u003d{\u0027driver_handles_share_servers\u0027: False},"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_77f07567","line":140,"updated":"2015-09-07 09:17:22.000000000","message":"This is not safe taking of data.","commit_id":"47a6fe4b1c3a8009f965ddb907639bc7d954b1ca"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1b0906077419c99fdad5d705fea508383804d5d","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                                     \"manila-share services are needed to \""},{"line_number":230,"context_line":"                                     \"run migration tests. Skipping.\")"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        self.security_group \u003d self._create_security_group()"},{"line_number":233,"context_line":"        self.create_share_network()"},{"line_number":234,"context_line":"        self.create_share(self.share_net[\u0027id\u0027])"},{"line_number":235,"context_line":"        share \u003d self.shares_client.get_share(self.share[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_b775adfa","line":232,"updated":"2015-09-07 09:17:22.000000000","message":"This one should be fixed too.","commit_id":"47a6fe4b1c3a8009f965ddb907639bc7d954b1ca"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"b7f935208fa6131366f7ea90c2bd7c339a0f013e","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            name\u003ddata_utils.rand_name(\"sn-name\"))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def create_share(self):"},{"line_number":136,"context_line":"        st_dhss_true \u003d self.shares_client.get_share_type("},{"line_number":137,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":138,"context_line":"        extra_specs \u003d st_dhss_true.get(\u0027extra_specs\u0027)"},{"line_number":139,"context_line":"        if extra_specs and extra_specs.get(\u0027driver_handles_share_servers\u0027):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_8868daf6","line":136,"updated":"2015-09-11 04:34:01.000000000","message":"You should not use var name of ..._true here because it could be true or false. Use something like default_share_type here.","commit_id":"73b62ce70dd13a7c3e41e0ab2125d9e3041e0da7"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b475289bb3e3e78588209b45374f2fc70d07af7b","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            name\u003ddata_utils.rand_name(\"sn-name\"))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def create_share(self):"},{"line_number":136,"context_line":"        st_dhss_true \u003d self.shares_client.get_share_type("},{"line_number":137,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":138,"context_line":"        extra_specs \u003d st_dhss_true.get(\u0027extra_specs\u0027)"},{"line_number":139,"context_line":"        if extra_specs and extra_specs.get(\u0027driver_handles_share_servers\u0027):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_960a2f1f","line":136,"in_reply_to":"da20952f_8868daf6","updated":"2015-09-11 12:51:25.000000000","message":"Done","commit_id":"73b62ce70dd13a7c3e41e0ab2125d9e3041e0da7"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"b7f935208fa6131366f7ea90c2bd7c339a0f013e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        st_dhss_true \u003d self.shares_client.get_share_type("},{"line_number":137,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":138,"context_line":"        extra_specs \u003d st_dhss_true.get(\u0027extra_specs\u0027)"},{"line_number":139,"context_line":"        if extra_specs and extra_specs.get(\u0027driver_handles_share_servers\u0027):"},{"line_number":140,"context_line":"            st_dhss_false \u003d self._create_share_type("},{"line_number":141,"context_line":"                data_utils.rand_name(\"share_type\"),"},{"line_number":142,"context_line":"                extra_specs\u003d{\u0027driver_handles_share_servers\u0027: False},"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a82b5e94","line":139,"updated":"2015-09-11 04:34:01.000000000","message":"\"extra_specs and\" is bad logic. You wouldn\u0027t know true or false if extra_specs is None or empty. That test should be separate. I think it\u0027s an error to have no extra-specs.","commit_id":"73b62ce70dd13a7c3e41e0ab2125d9e3041e0da7"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b475289bb3e3e78588209b45374f2fc70d07af7b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        st_dhss_true \u003d self.shares_client.get_share_type("},{"line_number":137,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":138,"context_line":"        extra_specs \u003d st_dhss_true.get(\u0027extra_specs\u0027)"},{"line_number":139,"context_line":"        if extra_specs and extra_specs.get(\u0027driver_handles_share_servers\u0027):"},{"line_number":140,"context_line":"            st_dhss_false \u003d self._create_share_type("},{"line_number":141,"context_line":"                data_utils.rand_name(\"share_type\"),"},{"line_number":142,"context_line":"                extra_specs\u003d{\u0027driver_handles_share_servers\u0027: False},"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_b69bb3c8","line":139,"in_reply_to":"da20952f_a82b5e94","updated":"2015-09-11 12:51:25.000000000","message":"There is always a required extra-spec driver_handles_share_servers, so seems that we don\u0027t need to check if extra_specs is None.","commit_id":"73b62ce70dd13a7c3e41e0ab2125d9e3041e0da7"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"b7f935208fa6131366f7ea90c2bd7c339a0f013e","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                data_utils.rand_name(\"share_type\"),"},{"line_number":148,"context_line":"                extra_specs\u003d{\u0027driver_handles_share_servers\u0027: True},"},{"line_number":149,"context_line":"            )[\u0027share_type\u0027]"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        if CONF.share.multitenancy_enabled:"},{"line_number":152,"context_line":"            self.create_share_network()"},{"line_number":153,"context_line":"            self.share \u003d self._create_share("}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_2b1c2865","line":150,"updated":"2015-09-11 04:34:01.000000000","message":"The above creates a share type that might not be used below.  So you could multitenancy_enabled to the above logic or probably better to refactor the above into something like get_needed_share_type(default_share_type, needed_dhss) which would return the default one or create one if it wasn\u0027t the needed type.  -- Or write it how you like (you don\u0027 t have to like my way), but it\u0027d be nice if you never created one above that won\u0027t be used below.","commit_id":"73b62ce70dd13a7c3e41e0ab2125d9e3041e0da7"},{"author":{"_account_id":7331,"name":"Julia Varlamova","email":"jvarlamova@mirantis.com","username":"jvarlamova"},"change_message_id":"b475289bb3e3e78588209b45374f2fc70d07af7b","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                data_utils.rand_name(\"share_type\"),"},{"line_number":148,"context_line":"                extra_specs\u003d{\u0027driver_handles_share_servers\u0027: True},"},{"line_number":149,"context_line":"            )[\u0027share_type\u0027]"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        if CONF.share.multitenancy_enabled:"},{"line_number":152,"context_line":"            self.create_share_network()"},{"line_number":153,"context_line":"            self.share \u003d self._create_share("}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_76051b0e","line":150,"in_reply_to":"da20952f_2b1c2865","updated":"2015-09-11 12:51:25.000000000","message":"Done","commit_id":"73b62ce70dd13a7c3e41e0ab2125d9e3041e0da7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            neutron_subnet_id\u003dself.subnet[\u0027id\u0027],"},{"line_number":133,"context_line":"            name\u003ddata_utils.rand_name(\"sn-name\"))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def _get_needed_share_type(self):"},{"line_number":136,"context_line":"        st_default \u003d self.shares_client.get_share_type("},{"line_number":137,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":138,"context_line":"        extra_specs \u003d st_default.get(\u0027extra_specs\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_d6a0a7f6","line":135,"updated":"2015-09-11 12:56:53.000000000","message":"It is unclear name - \"_get_needed_share_type\". Why do you need word \"needed\"?\n\n\"_get_share_type\" sounds better.","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            name\u003ddata_utils.rand_name(\"sn-name\"))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def _get_needed_share_type(self):"},{"line_number":136,"context_line":"        st_default \u003d self.shares_client.get_share_type("},{"line_number":137,"context_line":"            CONF.share.default_share_type)[\u0027share_type\u0027]"},{"line_number":138,"context_line":"        extra_specs \u003d st_default.get(\u0027extra_specs\u0027)"},{"line_number":139,"context_line":"        dhss \u003d extra_specs.get(\u0027driver_handles_share_servers\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_d687475f","line":136,"updated":"2015-09-11 12:56:53.000000000","message":"if share type was specified, it should not be changed and used directly.","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        dhss \u003d extra_specs.get(\u0027driver_handles_share_servers\u0027)"},{"line_number":140,"context_line":"        multitenancy_enabled \u003d CONF.share.multitenancy_enabled"},{"line_number":141,"context_line":"        if ((multitenancy_enabled and dhss) or"},{"line_number":142,"context_line":"                not (multitenancy_enabled or dhss)):"},{"line_number":143,"context_line":"            return st_default"},{"line_number":144,"context_line":"        else:"},{"line_number":145,"context_line":"            return self._create_share_type("}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_f6ba8b0a","line":142,"updated":"2015-09-11 12:56:53.000000000","message":"This condition can be simplified to following:\n\n\"\"\"\n\nif multitenancy_enabled \u003d\u003d dhss:\n\n\"\"\"\n\nBut this should be removed, because we should either use provided share type or create one using only \"multitenancy_enabled\".","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def create_share(self):"},{"line_number":152,"context_line":"        if CONF.share.multitenancy_enabled:"},{"line_number":153,"context_line":"            self.create_share_network()"},{"line_number":154,"context_line":"            self.share \u003d self._create_share("},{"line_number":155,"context_line":"                share_protocol\u003dself.protocol,"},{"line_number":156,"context_line":"                share_network_id\u003dself.share_net[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_63231bbe","line":153,"updated":"2015-09-11 12:56:53.000000000","message":"This","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5866a749f8b9dff7279a2a36dd746632a03d22f1","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                share_type_id\u003dself._get_needed_share_type()[\u0027id\u0027])"},{"line_number":158,"context_line":"        else:"},{"line_number":159,"context_line":"            self.share \u003d self._create_share("},{"line_number":160,"context_line":"                share_protocol\u003dself.protocol,"},{"line_number":161,"context_line":"                share_type_id\u003dself._get_needed_share_type()[\u0027id\u0027])"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def allow_access_ip(self, share_id, ip\u003dNone, instance\u003dNone, cleanup\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_7653db16","line":160,"updated":"2015-09-11 12:56:53.000000000","message":"and this parts duplicate each other in most code lines, it is better to rewrite it reusing common parts, for example:\n\n\"\"\"\n\nkwargs \u003d {\n\n    \u0027share_protocol\u0027: self.protocol,\n\n    \u0027share_type_id\u0027: self._get_needed_share_type()[\u0027id\u0027],\n\n}\n\nif CONF.share.multitenancy_enabled:\n\n    kwargs.update({\u0027share_network_id\u0027: self.share_net[\u0027id\u0027]})\n\nself.share \u003d self._create_share(**kwargs)\n\n\"\"\"","commit_id":"813feb6442d69e4acfad978a7867ecbb2a9a5776"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9b93a511d0adbd27aaf0d82d7eff4e35ca3eb6d2","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def mount_share(self, location, ssh_client):"},{"line_number":105,"context_line":"#        raise NotImplementedError"},{"line_number":106,"context_line":"        pass"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def umount_share(self, ssh_client):"},{"line_number":109,"context_line":"#        ssh_client.exec_command(\"sudo umount /mnt\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_5405efbf","line":106,"updated":"2015-09-14 10:12:42.000000000","message":"?","commit_id":"4172759e30362386c901ed0cf7446776ed8c97c4"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9b93a511d0adbd27aaf0d82d7eff4e35ca3eb6d2","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        pass"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def umount_share(self, ssh_client):"},{"line_number":109,"context_line":"#        ssh_client.exec_command(\"sudo umount /mnt\")"},{"line_number":110,"context_line":"        pass"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def write_data(self, data, ssh_client):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_140f77e2","line":109,"updated":"2015-09-14 10:12:42.000000000","message":"?","commit_id":"4172759e30362386c901ed0cf7446776ed8c97c4"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9b93a511d0adbd27aaf0d82d7eff4e35ca3eb6d2","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def mount_share(self, location, ssh_client):"},{"line_number":294,"context_line":"#        ssh_client.exec_command(\"sudo mount \\\"%s\\\" /mnt\" % location)"},{"line_number":295,"context_line":"        pass"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class TestShareBasicOpsCIFS(ShareBasicOpsBase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_f4f683d6","line":295,"updated":"2015-09-14 10:12:42.000000000","message":"?","commit_id":"4172759e30362386c901ed0cf7446776ed8c97c4"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9b93a511d0adbd27aaf0d82d7eff4e35ca3eb6d2","unresolved":false,"context_lines":[{"line_number":303,"context_line":"#        ssh_client.exec_command("},{"line_number":304,"context_line":"#            \"sudo mount.cifs \\\"%s\\\" /mnt -o guest\" % location"},{"line_number":305,"context_line":"#        )"},{"line_number":306,"context_line":"        pass"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"# NOTE(u_glide): this function is required to exclude ShareBasicOpsBase from"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba15a1d1_542c0f4a","line":306,"updated":"2015-09-14 10:12:42.000000000","message":"?","commit_id":"4172759e30362386c901ed0cf7446776ed8c97c4"}]}
