)]}'
{"cinder/volume/manager.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5d2b016091e97ae692720e30f8e2fa6a971fe0cc","unresolved":false,"context_lines":[{"line_number":3193,"context_line":"        :param secondary: Specifies rep target to fail over to"},{"line_number":3194,"context_line":"        \"\"\""},{"line_number":3195,"context_line":"        # NOTE(hemna) We intentionally don\u0027t enforce the driver being"},{"line_number":3196,"context_line":"        # initialized here.  because the primary might actually be down,"},{"line_number":3197,"context_line":"        # but we still want to give the driver a chance of doing some work"},{"line_number":3198,"context_line":"        # against the target.  It\u0027s entirely up to the driver to deal with"},{"line_number":3199,"context_line":"        # not being able to talk to the primary array that it\u0027s configured"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_e49ed806","line":3196,"updated":"2015-10-05 20:35:22.000000000","message":"Should starts with upper case letter","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6632666e4e3c39e0c8c96144ed391747919b037d","unresolved":false,"context_lines":[{"line_number":3201,"context_line":""},{"line_number":3202,"context_line":"        try:"},{"line_number":3203,"context_line":"            volume \u003d self.db.volume_get(context, volume[\u0027id\u0027])"},{"line_number":3204,"context_line":"            model_update \u003d self.driver.replication_failover(context,"},{"line_number":3205,"context_line":"                                                            volume,"},{"line_number":3206,"context_line":"                                                            secondary)"},{"line_number":3207,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_a1c5275c","line":3204,"updated":"2015-10-06 01:45:44.000000000","message":"How can self.driver.replication_failover work if self.driver is not initialized?","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"44a738f64aa090a931f4f48f4f9e45c93b75e663","unresolved":false,"context_lines":[{"line_number":3201,"context_line":""},{"line_number":3202,"context_line":"        try:"},{"line_number":3203,"context_line":"            volume \u003d self.db.volume_get(context, volume[\u0027id\u0027])"},{"line_number":3204,"context_line":"            model_update \u003d self.driver.replication_failover(context,"},{"line_number":3205,"context_line":"                                                            volume,"},{"line_number":3206,"context_line":"                                                            secondary)"},{"line_number":3207,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_6ba225ff","line":3204,"in_reply_to":"7a2fa921_a1c5275c","updated":"2015-10-15 15:36:31.000000000","message":"So in the case of our driver, we will do a check to see if we can talk to the primary.  If we can\u0027t talk to the primary, we can still failover if we can talk to the secondary/target, as I explained in the comment block above.","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5d2b016091e97ae692720e30f8e2fa6a971fe0cc","unresolved":false,"context_lines":[{"line_number":3282,"context_line":""},{"line_number":3283,"context_line":"        \"\"\""},{"line_number":3284,"context_line":"        # NOTE(hemna) We intentionally don\u0027t enforce the driver being"},{"line_number":3285,"context_line":"        # initialized here.  because the primary might actually be down,"},{"line_number":3286,"context_line":"        # but we still want to give the driver a chance of doing some work"},{"line_number":3287,"context_line":"        # against the target.  It\u0027s entirely up to the driver to deal with"},{"line_number":3288,"context_line":"        # not being able to talk to the primary array that it\u0027s configured"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_c4863cb9","line":3285,"updated":"2015-10-05 20:35:22.000000000","message":"The same as above","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6632666e4e3c39e0c8c96144ed391747919b037d","unresolved":false,"context_lines":[{"line_number":3286,"context_line":"        # but we still want to give the driver a chance of doing some work"},{"line_number":3287,"context_line":"        # against the target.  It\u0027s entirely up to the driver to deal with"},{"line_number":3288,"context_line":"        # not being able to talk to the primary array that it\u0027s configured"},{"line_number":3289,"context_line":"        # to manage."},{"line_number":3290,"context_line":""},{"line_number":3291,"context_line":"        try:"},{"line_number":3292,"context_line":"            volume \u003d self.db.volume_get(context, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_eeff8e32","line":3289,"updated":"2015-10-06 01:45:44.000000000","message":"Why isn\u0027t the check for driver initialization done here? This is just to list replication targets, not to fail over.","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"44a738f64aa090a931f4f48f4f9e45c93b75e663","unresolved":false,"context_lines":[{"line_number":3286,"context_line":"        # but we still want to give the driver a chance of doing some work"},{"line_number":3287,"context_line":"        # against the target.  It\u0027s entirely up to the driver to deal with"},{"line_number":3288,"context_line":"        # not being able to talk to the primary array that it\u0027s configured"},{"line_number":3289,"context_line":"        # to manage."},{"line_number":3290,"context_line":""},{"line_number":3291,"context_line":"        try:"},{"line_number":3292,"context_line":"            volume \u003d self.db.volume_get(context, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a2ca52d_6bf0e5fe","line":3289,"in_reply_to":"7a2fa921_e7f03369","updated":"2015-10-15 15:36:31.000000000","message":"I didn\u0027t forget it actually.   The comment block actually is for both failover_replication as well as list_replication_targets.","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b8c1f2c0198cda4e0083e818d8e38b89f552dcbf","unresolved":false,"context_lines":[{"line_number":3286,"context_line":"        # but we still want to give the driver a chance of doing some work"},{"line_number":3287,"context_line":"        # against the target.  It\u0027s entirely up to the driver to deal with"},{"line_number":3288,"context_line":"        # not being able to talk to the primary array that it\u0027s configured"},{"line_number":3289,"context_line":"        # to manage."},{"line_number":3290,"context_line":""},{"line_number":3291,"context_line":"        try:"},{"line_number":3292,"context_line":"            volume \u003d self.db.volume_get(context, volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_e7f03369","line":3289,"in_reply_to":"7a2fa921_eeff8e32","updated":"2015-10-10 14:09:30.000000000","message":"I think you forgot the actual check as Xing pointed out, copied the comment but not the actual check itself.","commit_id":"bc4a60d742bc537d2b2eebc6b754182a09baa79d"}]}
