)]}'
{"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":16100,"name":"Chris Morrell","username":"chrismorrell","inactive":true},"change_message_id":"c14cb6ce10eb0e18358e37ae12a9995928872558","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        self._set_cluster_pairs()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def __getattr__(self, attr):"},{"line_number":202,"context_line":"        if hasattr(self.target_driver, attr):"},{"line_number":203,"context_line":"            return getattr(self.target_driver, attr)"},{"line_number":204,"context_line":"        else:"},{"line_number":205,"context_line":"            msg \u003d _(\u0027Attribute: %s not found.\u0027) % attr"},{"line_number":206,"context_line":"            raise NotImplementedError(msg)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def _create_remote_pairing(self, remote_device):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_441c3312","line":205,"range":{"start_line":202,"start_character":8,"end_line":205,"end_character":54},"updated":"2016-04-05 20:53:35.000000000","message":"Was this strictly for a better error message for humans, or something else?","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c5d5a6123f78d469ee376a84f99c13c2373dd443","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        self._set_cluster_pairs()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def __getattr__(self, attr):"},{"line_number":202,"context_line":"        if hasattr(self.target_driver, attr):"},{"line_number":203,"context_line":"            return getattr(self.target_driver, attr)"},{"line_number":204,"context_line":"        else:"},{"line_number":205,"context_line":"            msg \u003d _(\u0027Attribute: %s not found.\u0027) % attr"},{"line_number":206,"context_line":"            raise NotImplementedError(msg)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def _create_remote_pairing(self, remote_device):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_848b9ec2","line":205,"range":{"start_line":202,"start_character":8,"end_line":205,"end_character":54},"in_reply_to":"9a061dce_441c3312","updated":"2016-04-07 04:49:04.000000000","message":"Yup, exactly.  It\u0027s a bit nicer than just raise NotImplemented without a mesg IMO","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":16100,"name":"Chris Morrell","username":"chrismorrell","inactive":true},"change_message_id":"c14cb6ce10eb0e18358e37ae12a9995928872558","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                    remote_pair \u003d ep"},{"line_number":251,"context_line":"                    LOG.debug(\"Found remote pair: %s\" % remote_pair)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            if not remote_pair:"},{"line_number":254,"context_line":"                self._create_remote_pairing(remote_info)"},{"line_number":255,"context_line":"            self.cluster_pairs.append(remote_info)"},{"line_number":256,"context_line":"            self.replication_enabled \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_fadebc6b","line":253,"range":{"start_line":253,"start_character":15,"end_line":253,"end_character":30},"updated":"2016-04-05 20:53:35.000000000","message":"Shouldn\u0027t you reset remote_pair for each iteration of replication_device? If I understand it correctly, for each loop of replication_device, if the rep_dev isn\u0027t already paired, you want to do so.","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c5d5a6123f78d469ee376a84f99c13c2373dd443","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                    remote_pair \u003d ep"},{"line_number":251,"context_line":"                    LOG.debug(\"Found remote pair: %s\" % remote_pair)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            if not remote_pair:"},{"line_number":254,"context_line":"                self._create_remote_pairing(remote_info)"},{"line_number":255,"context_line":"            self.cluster_pairs.append(remote_info)"},{"line_number":256,"context_line":"            self.replication_enabled \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_04be6e64","line":253,"range":{"start_line":253,"start_character":15,"end_line":253,"end_character":30},"in_reply_to":"9a061dce_fadebc6b","updated":"2016-04-07 04:49:04.000000000","message":"Yes!  Thanks!","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":16100,"name":"Chris Morrell","username":"chrismorrell","inactive":true},"change_message_id":"c14cb6ce10eb0e18358e37ae12a9995928872558","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    def _get_model_info(self, sfaccount, sf_volume_id):"},{"line_number":467,"context_line":"        \"\"\"Gets the connection info for specified account and volume.\"\"\""},{"line_number":468,"context_line":"        iscsi_portal \u003d self.active_cluster_info[\u0027svip\u0027]"},{"line_number":469,"context_line":"        if \u0027:\u0027 not in iscsi_portal:"},{"line_number":470,"context_line":"            iscsi_portal +\u003d \u0027:3260\u0027"},{"line_number":471,"context_line":"        chap_secret \u003d sfaccount[\u0027targetSecret\u0027]"},{"line_number":472,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_9ab860e7","line":469,"range":{"start_line":469,"start_character":8,"end_line":469,"end_character":34},"updated":"2016-04-05 20:53:35.000000000","message":"Is there any chance of someone doing something dumb and prepending a protocol + colon to the svip entry, causing the port to not be appended? It looks like we build active_cluster_info from the response of GetClusterInfo, but I\u0027ve been bit before expecting characters.","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c5d5a6123f78d469ee376a84f99c13c2373dd443","unresolved":false,"context_lines":[{"line_number":466,"context_line":"    def _get_model_info(self, sfaccount, sf_volume_id):"},{"line_number":467,"context_line":"        \"\"\"Gets the connection info for specified account and volume.\"\"\""},{"line_number":468,"context_line":"        iscsi_portal \u003d self.active_cluster_info[\u0027svip\u0027]"},{"line_number":469,"context_line":"        if \u0027:\u0027 not in iscsi_portal:"},{"line_number":470,"context_line":"            iscsi_portal +\u003d \u0027:3260\u0027"},{"line_number":471,"context_line":"        chap_secret \u003d sfaccount[\u0027targetSecret\u0027]"},{"line_number":472,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_2470d2db","line":469,"range":{"start_line":469,"start_character":8,"end_line":469,"end_character":34},"in_reply_to":"9a061dce_9ab860e7","updated":"2016-04-07 04:49:04.000000000","message":"I suppose that\u0027s possible, but we document one of two options for the config; and I\u0027m uncertain how that would parse/translate in the model update.\n\nIn other words, *yes* there\u0027s a potential for danger here and we should probably look at it, but I think that\u0027s going to be independent of this patch because the same problem you mention exists for non-replciation/existing code and model building.","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":16100,"name":"Chris Morrell","username":"chrismorrell","inactive":true},"change_message_id":"c14cb6ce10eb0e18358e37ae12a9995928872558","unresolved":false,"context_lines":[{"line_number":1454,"context_line":"        data[\u0027consistencygroup_support\u0027] \u003d True"},{"line_number":1455,"context_line":"        data[\u0027replication_enabled\u0027] \u003d self.replication_enabled"},{"line_number":1456,"context_line":"        if self.replication_enabled:"},{"line_number":1457,"context_line":"            data[\u0027replication\u0027] \u003d \u0027enabled\u0027"},{"line_number":1458,"context_line":""},{"line_number":1459,"context_line":"        data[\u0027total_capacity_gb\u0027] \u003d ("},{"line_number":1460,"context_line":"            float(results[\u0027maxProvisionedSpace\u0027] / units.Gi))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_3a78342a","line":1457,"range":{"start_line":1457,"start_character":0,"end_line":1457,"end_character":43},"updated":"2016-04-05 20:53:35.000000000","message":"Redundant department of redundancy? \u003d(","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c5d5a6123f78d469ee376a84f99c13c2373dd443","unresolved":false,"context_lines":[{"line_number":1454,"context_line":"        data[\u0027consistencygroup_support\u0027] \u003d True"},{"line_number":1455,"context_line":"        data[\u0027replication_enabled\u0027] \u003d self.replication_enabled"},{"line_number":1456,"context_line":"        if self.replication_enabled:"},{"line_number":1457,"context_line":"            data[\u0027replication\u0027] \u003d \u0027enabled\u0027"},{"line_number":1458,"context_line":""},{"line_number":1459,"context_line":"        data[\u0027total_capacity_gb\u0027] \u003d ("},{"line_number":1460,"context_line":"            float(results[\u0027maxProvisionedSpace\u0027] / units.Gi))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_443986f1","line":1457,"range":{"start_line":1457,"start_character":0,"end_line":1457,"end_character":43},"in_reply_to":"9a061dce_3a78342a","updated":"2016-04-07 04:49:04.000000000","message":"hehe :)\nBut self.replication_enabled is a bool... and I\u0027m reporting back a string on enabled.  I could flip the whole thing around and use bool for the stats info... but then I\u0027d have to hack all of the codes","commit_id":"41852ba7922457bd389cd6d6f7d676d7309e8c0a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"559eb85ed7017b431df0dbbd2caa45c1c27c25e7","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                LOG.debug(\u0027Pairing already exists during init.\u0027)"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_8abeb7fd","line":222,"updated":"2016-04-12 02:16:00.000000000","message":"We are recommended to use \",\" instead of \"%\" for this logging.","commit_id":"eb009814054022c40d22d23ce7d86db8a5ad188b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"559eb85ed7017b431df0dbbd2caa45c1c27c25e7","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _get_remote_cluster_info(self, remote_endpoint):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_6abb5b0f","line":223,"updated":"2016-04-12 02:16:00.000000000","message":"Same.","commit_id":"eb009814054022c40d22d23ce7d86db8a5ad188b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"559eb85ed7017b431df0dbbd2caa45c1c27c25e7","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            for ep in existing_pairs:"},{"line_number":249,"context_line":"                if rd[\u0027backend_id\u0027] \u003d\u003d ep[\u0027mvip\u0027]:"},{"line_number":250,"context_line":"                    remote_pair \u003d ep"},{"line_number":251,"context_line":"                    LOG.debug(\"Found remote pair: %s\" % remote_pair)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            if not remote_pair:"},{"line_number":254,"context_line":"                self._create_remote_pairing(remote_info)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_0a41070c","line":251,"updated":"2016-04-12 02:16:00.000000000","message":"Same","commit_id":"eb009814054022c40d22d23ce7d86db8a5ad188b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"00d11fd0d2c6e30887fd578ed9e48146c82a46f0","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                LOG.debug(\u0027Pairing already exists during init.\u0027)"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a18252c_3a305e01","line":222,"updated":"2016-04-13 00:05:18.000000000","message":"Can you use \",\" instead of \"%\" for this logging?","commit_id":"af82f1fe7fe6ed7d78340db4cd35b5cabf7500d3"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"00d11fd0d2c6e30887fd578ed9e48146c82a46f0","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _get_remote_cluster_info(self, remote_endpoint):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a18252c_950ea532","line":223,"updated":"2016-04-13 00:05:18.000000000","message":"Same","commit_id":"af82f1fe7fe6ed7d78340db4cd35b5cabf7500d3"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"00d11fd0d2c6e30887fd578ed9e48146c82a46f0","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            for ep in existing_pairs:"},{"line_number":249,"context_line":"                if rd[\u0027backend_id\u0027] \u003d\u003d ep[\u0027mvip\u0027]:"},{"line_number":250,"context_line":"                    remote_pair \u003d ep"},{"line_number":251,"context_line":"                    LOG.debug(\"Found remote pair: %s\" % remote_pair)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            if not remote_pair:"},{"line_number":254,"context_line":"                self._create_remote_pairing(remote_info)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a18252c_151bb573","line":251,"updated":"2016-04-13 00:05:18.000000000","message":"Same","commit_id":"af82f1fe7fe6ed7d78340db4cd35b5cabf7500d3"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"720f66268061d90096eaf7a5790fa5ac1f5ed781","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                LOG.debug(\u0027Pairing already exists during init.\u0027)"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_994944ba","line":222,"updated":"2016-04-14 20:29:58.000000000","message":"% \u003e ,","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fdb2ef6667d0691901f9eacc20a9f2a1d8b61df5","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                LOG.debug(\u0027Pairing already exists during init.\u0027)"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_031ee80b","line":222,"in_reply_to":"1a122d0e_d1cb2871","updated":"2016-04-17 23:34:42.000000000","message":"Done","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"cbfd780d8c3bca5d41a79d78bf559f09ad061b00","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                LOG.debug(\u0027Pairing already exists during init.\u0027)"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_d1cb2871","line":222,"in_reply_to":"5a18252c_994944ba","updated":"2016-04-16 05:10:21.000000000","message":"+1","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fdb2ef6667d0691901f9eacc20a9f2a1d8b61df5","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                LOG.debug(\u0027Pairing already exists during init.\u0027)"},{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_631b5c1c","line":222,"in_reply_to":"5a18252c_994944ba","updated":"2016-04-17 23:34:42.000000000","message":"Done","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"44de58fe561a3ab2c170190e7a3af2fecbb34f45","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _get_remote_cluster_info(self, remote_endpoint):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_008f7e2a","line":223,"updated":"2016-04-14 17:35:13.000000000","message":"s/Cluser/Cluster","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"720f66268061d90096eaf7a5790fa5ac1f5ed781","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _get_remote_cluster_info(self, remote_endpoint):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_d9cd7c32","line":223,"in_reply_to":"5a18252c_008f7e2a","updated":"2016-04-14 20:29:58.000000000","message":"% \u003e ,","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fdb2ef6667d0691901f9eacc20a9f2a1d8b61df5","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _get_remote_cluster_info(self, remote_endpoint):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_2321644e","line":223,"in_reply_to":"5a18252c_008f7e2a","updated":"2016-04-17 23:34:42.000000000","message":"Done","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fdb2ef6667d0691901f9eacc20a9f2a1d8b61df5","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            else:"},{"line_number":221,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":222,"context_line":"                    LOG.error(_LE(\u0027Cluster pairing failed: %s\u0027) % ex.msg)"},{"line_number":223,"context_line":"        LOG.debug((\u0027Initialized Cluser pair with ID: %s\u0027) % pair_id)"},{"line_number":224,"context_line":"        return pair_id"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def _get_remote_cluster_info(self, remote_endpoint):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_c32b502f","line":223,"in_reply_to":"5a18252c_d9cd7c32","updated":"2016-04-17 23:34:42.000000000","message":"Done","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"720f66268061d90096eaf7a5790fa5ac1f5ed781","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            for ep in existing_pairs:"},{"line_number":249,"context_line":"                if rd[\u0027backend_id\u0027] \u003d\u003d ep[\u0027mvip\u0027]:"},{"line_number":250,"context_line":"                    remote_pair \u003d ep"},{"line_number":251,"context_line":"                    LOG.debug(\"Found remote pair: %s\" % remote_pair)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            if not remote_pair:"},{"line_number":254,"context_line":"                self._create_remote_pairing(remote_info)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_79dd48df","line":251,"updated":"2016-04-14 20:29:58.000000000","message":"% \u003e ,","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fdb2ef6667d0691901f9eacc20a9f2a1d8b61df5","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            for ep in existing_pairs:"},{"line_number":249,"context_line":"                if rd[\u0027backend_id\u0027] \u003d\u003d ep[\u0027mvip\u0027]:"},{"line_number":250,"context_line":"                    remote_pair \u003d ep"},{"line_number":251,"context_line":"                    LOG.debug(\"Found remote pair: %s\" % remote_pair)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            if not remote_pair:"},{"line_number":254,"context_line":"                self._create_remote_pairing(remote_info)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_e3264c67","line":251,"in_reply_to":"5a18252c_79dd48df","updated":"2016-04-17 23:34:42.000000000","message":"Done","commit_id":"b9e9d1627f7ee17728badab7686bf036ba3f17dc"}]}
