)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"b1d6a8c1633467a0b3756b8656e7f759b293b909","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3df6506c_68d894aa","updated":"2025-05-26 13:49:45.000000000","message":"run-quobyteci\n\nfailed on a flaky test.","commit_id":"8b78bca12696224bb84b46bdde32ad6463948b1b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4179ee5e72a336e75fd159718b010b567d3757c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"37fe4fc9_5481ccf1","updated":"2025-06-03 04:54:45.000000000","message":"Thanks John for the review.","commit_id":"5608401d21559561b5e74dbb3a54bb4184593225"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1a36f5f893fb57c7c6018f084acc2a11e52becf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"50b81329_fe621c19","updated":"2025-06-01 22:11:03.000000000","message":"This looks like a useful example. Thank you.","commit_id":"5608401d21559561b5e74dbb3a54bb4184593225"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"afe603ff4ea5cdc45061a27579e868a28808d5c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d3743a5f_6d7211bf","updated":"2025-06-03 10:10:37.000000000","message":"Added\n1. scenario of external data volume in failover/failback\n2. connection info from c-vol logs in verification","commit_id":"6217d6a6d2bcc99328f505ca3a76dd1ba27f7f87"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e04b04b16cdf1c21e2147efb91d3b64ac6645f5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"296dcb04_8ea04292","updated":"2025-07-14 11:00:51.000000000","message":"Hi Jon,\nThanks for the review, I\u0027ve replied to your comment inline.","commit_id":"c343de67c98d35588b71c2c7ab0dad3cb0b89d32"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"64bc435ae9edfca65aa920e0672045ec561780fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"95a49723_afd429b0","updated":"2025-06-24 06:14:36.000000000","message":"recheck pep8 issue resolved","commit_id":"c343de67c98d35588b71c2c7ab0dad3cb0b89d32"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"c855f255864601e2c800eb664042a467ee23edaf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ba7eedff_fbaf6d0d","updated":"2025-08-06 16:55:02.000000000","message":"Looks good, thanks!","commit_id":"f6e234e34bb1ba6e0f66ab3791e6deec833190c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"85c5b0f63277351bf3d9e370f27f4bb4e6facdea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4525779a_e88764d5","updated":"2025-07-24 09:29:56.000000000","message":"Thanks Jon for the review.","commit_id":"f6e234e34bb1ba6e0f66ab3791e6deec833190c1"}],"doc/source/admin/replication-in-openstack.rst":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1a36f5f893fb57c7c6018f084acc2a11e52becf","unresolved":true,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":".. code-block:: console"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    cinder failover-host \u003chost\u003e@\u003cbackend\u003e"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* Shelve/unshelve the server. (This is required to remove the connection"},{"line_number":208,"context_line":"  from the volume in primary backend and create a new connection to the volume"}],"source_content_type":"text/x-rst","patch_set":4,"id":"51a15156_51b526c1","line":205,"updated":"2025-06-01 22:11:03.000000000","message":"I see a variation of this command on line 241 which passes `--backend_id default` to fail back the other way.\n\nIf you don\u0027t pass a --backend_id, then does it failover to whatever you set in the configuration earlier, e.g. the \u003cunique_identifier\u003e from line 105?","commit_id":"5608401d21559561b5e74dbb3a54bb4184593225"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4179ee5e72a336e75fd159718b010b567d3757c1","unresolved":true,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":".. code-block:: console"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    cinder failover-host \u003chost\u003e@\u003cbackend\u003e"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* Shelve/unshelve the server. (This is required to remove the connection"},{"line_number":208,"context_line":"  from the volume in primary backend and create a new connection to the volume"}],"source_content_type":"text/x-rst","patch_set":4,"id":"92a96542_8768f0bc","line":205,"in_reply_to":"51a15156_51b526c1","updated":"2025-06-03 04:54:45.000000000","message":"Yes correct. The magic happens in the driver, for RBD it is here[1].\nIf there is a secondary_id i.e. ``--backend_id default``, we directly fetch the config values for the primary host[2] and return for the failback case.\nIf we don\u0027t have a secondary_id, we will do failover and we get the replication candidates with this logic:\n\n    set(self._target_names).difference((\u0027default\u0027, self._active_backend_id))\n\nwhere,\nself._target_names \u003d [\u0027backend_id\u0027, \u0027default\u0027][3][4]\nself._active_backend_id \u003d \u0027primary_backend_id\u0027\n\nFor example,\n\n    \u003e\u003e\u003e _target_names \u003d [\u0027ceph2\u0027, \u0027default\u0027]\n    \u003e\u003e\u003e _active_backend_id \u003d \u0027ceph\u0027\n    \u003e\u003e\u003e set(_target_names).difference((\u0027default\u0027, _active_backend_id))\n    {\u0027ceph2\u0027}\n\nwhere ``ceph2`` is the unique identifier set as the backend_id for the secondary site\n\n[1] https://github.com/openstack/cinder/blob/4f1310135a3a2f19588cabf7c1e9e5ffd608bab6/cinder/volume/drivers/rbd.py#L1767-L1775\n[2] https://github.com/openstack/cinder/blob/4f1310135a3a2f19588cabf7c1e9e5ffd608bab6/cinder/volume/drivers/rbd.py#L419-L425\n[3] https://github.com/openstack/cinder/blob/4f1310135a3a2f19588cabf7c1e9e5ffd608bab6/cinder/volume/drivers/rbd.py#L475\n[4] https://github.com/openstack/cinder/blob/4f1310135a3a2f19588cabf7c1e9e5ffd608bab6/cinder/volume/drivers/rbd.py#L451","commit_id":"5608401d21559561b5e74dbb3a54bb4184593225"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"92d0669742cc77055ca3e3b4d505544eba218210","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":".. code-block:: console"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    cinder failover-host \u003chost\u003e@\u003cbackend\u003e"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* Shelve/unshelve the server. (This is required to remove the connection"},{"line_number":208,"context_line":"  from the volume in primary backend and create a new connection to the volume"}],"source_content_type":"text/x-rst","patch_set":4,"id":"aa869c24_292a70ee","line":205,"in_reply_to":"92a96542_8768f0bc","updated":"2025-06-04 18:32:03.000000000","message":"Acknowledged","commit_id":"5608401d21559561b5e74dbb3a54bb4184593225"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"3b0c2af5ce5944093e9c3287878b08dc54fb3649","unresolved":true,"context_lines":[{"line_number":208,"context_line":"    $ cat failover-dr"},{"line_number":209,"context_line":"    # Before failover"},{"line_number":210,"context_line":"    this should be consistent before/after failover"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Failover the replicated cinder backend"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c050c786_3252212e","line":211,"updated":"2025-07-10 13:34:37.000000000","message":"This block is confusing to me, it is rendered here:\n\nhttps://488717b20f524d22f473-072bc8f72fb2420d352caa6234915afd.ssl.cf5.rackcdn.com/openstack/fb91e47435dd4875badea9697cd8ef10/docs/admin/replication-in-openstack.html\n\nI don\u0027t see a previous reference to failover-dr, can this be clarified?  Otherwise, it all looks good.","commit_id":"c343de67c98d35588b71c2c7ab0dad3cb0b89d32"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e04b04b16cdf1c21e2147efb91d3b64ac6645f5f","unresolved":true,"context_lines":[{"line_number":208,"context_line":"    $ cat failover-dr"},{"line_number":209,"context_line":"    # Before failover"},{"line_number":210,"context_line":"    this should be consistent before/after failover"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Failover the replicated cinder backend"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa156fe1_18ee6993","line":211,"in_reply_to":"c050c786_3252212e","updated":"2025-07-14 11:00:51.000000000","message":"The idea is to create a file and write data into it which is done via the filename \"failover-dr\"\n\nI didn\u0027t write the commands to create/write data into file and just showing the \"cat\" output as an example, I could have rewrote this as the following block but given that the current doc is lengthy enough, i made the choice to not include it. let me know what do you think?\n\n    $ cat \u003e failover-dr \u003c\u003cEOF\n    \u003e # Before failover\n    \u003e this should be consistent before/after failover\n    \u003e EOF\n    $ cat failover-dr \n    # Before failover\n    this should be consistent before/after failover","commit_id":"c343de67c98d35588b71c2c7ab0dad3cb0b89d32"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"85c5b0f63277351bf3d9e370f27f4bb4e6facdea","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    $ cat failover-dr"},{"line_number":209,"context_line":"    # Before failover"},{"line_number":210,"context_line":"    this should be consistent before/after failover"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Failover the replicated cinder backend"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5fa93e5f_79b63621","line":211,"in_reply_to":"fa156fe1_18ee6993","updated":"2025-07-24 09:29:56.000000000","message":"Done","commit_id":"c343de67c98d35588b71c2c7ab0dad3cb0b89d32"}]}
