)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"fbff0c7fa425f583759f289af0e91b868edb6fac","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Naohiro Tamura \u003cnaohirot@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-18 17:16:36 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bare metal node N+1 redundancy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This proposes high availability/reliability feature to support Bare"},{"line_number":10,"context_line":"Metal Node N+1 Redundancy based on `[RFE] Add volume connection"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a7e1126_4698416a","line":7,"updated":"2015-12-21 18:04:44.000000000","message":"after reading the proposal, this isn\u0027t about \"N+1 redundancy\" in the same way that this term is used for disk availability.\n\nThis is really about adding support for migrate or evacuate of an instance that booted from a network volume. I would suggest renaming the spec to be more clear about that.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Naohiro Tamura \u003cnaohirot@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-18 17:16:36 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bare metal node N+1 redundancy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This proposes high availability/reliability feature to support Bare"},{"line_number":10,"context_line":"Metal Node N+1 Redundancy based on `[RFE] Add volume connection"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a7b0d38_f8eb9d76","line":7,"in_reply_to":"3a7e1126_4698416a","updated":"2015-12-24 09:00:40.000000000","message":"Okay, I\u0027ll change the title.\n\nThe tiles I\u0027m thinking right now are followings, would you advice me which one would be more appropriate if you have some idea in your mind.\n\n1) Bare metal node switchover for N+1 redundancy\n2) Bare metal node migration for N+1 redundancy","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"}],"specs/approved/bare-metal-node-n+1-redundancy.rst":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":21,"context_line":"When a bare metal node is failed due to hardware problem or is likely"},{"line_number":22,"context_line":"to be failed due to a sign of hardware failure, this function allows"},{"line_number":23,"context_line":"to switch over the node safely to another bare metal node in short"},{"line_number":24,"context_line":"time if the failed node is booted from a share file system such as FC,"},{"line_number":25,"context_line":"FCoE, iSCSI, NFS and etc."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_b68061c0","line":24,"range":{"start_line":24,"start_character":41,"end_line":24,"end_character":46},"updated":"2015-12-20 11:17:05.000000000","message":"nit: share --\u003e shared","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"When a bare metal node is failed due to hardware problem or is likely"},{"line_number":22,"context_line":"to be failed due to a sign of hardware failure, this function allows"},{"line_number":23,"context_line":"to switch over the node safely to another bare metal node in short"},{"line_number":24,"context_line":"time if the failed node is booted from a share file system such as FC,"},{"line_number":25,"context_line":"FCoE, iSCSI, NFS and etc."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_2170a6db","line":24,"range":{"start_line":24,"start_character":41,"end_line":24,"end_character":46},"in_reply_to":"3a7e1126_b68061c0","updated":"2015-12-24 09:00:40.000000000","message":"I\u0027ll fix that.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"`ironic node-switchover \u003csource node\u003e [\u003cdestination node\u003e]`"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The work flow of the `node switchover` sub-command is as follows:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#. if the `source node` is not capable to boot from a Cinder volume,"},{"line_number":38,"context_line":"   then return an error (HTTP 400)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_364c71c7","line":35,"range":{"start_line":35,"start_character":27,"end_line":35,"end_character":37},"updated":"2015-12-20 11:17:05.000000000","message":"nit: \u0027node switchover\u0027 --\u003e \u0027node-switchover\u0027.\n\nBut IIUC, this is something like HA, right ?\n\nIf so, what is this command for ?  Shouldn\u0027t it be an automatically workflow ?\n\nFor example, when we setup a baremetal node, we set the backup node at the first. When the source node becomes problematic, it switches to the backup node automatically. This should note be done by hand.\n\nMaybe I\u0027m wrong, please correct me. :)","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"`ironic node-switchover \u003csource node\u003e [\u003cdestination node\u003e]`"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The work flow of the `node switchover` sub-command is as follows:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#. if the `source node` is not capable to boot from a Cinder volume,"},{"line_number":38,"context_line":"   then return an error (HTTP 400)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_ac2fad86","line":35,"range":{"start_line":35,"start_character":27,"end_line":35,"end_character":37},"in_reply_to":"3a7e1126_364c71c7","updated":"2015-12-24 09:00:40.000000000","message":"\u003e But IIUC, this is something like HA, right ?\n\nYes, you are right.\n\n\u003e If so, what is this command for ? Shouldn\u0027t it be an automatically workflow ?\n\nThis command for the basis of N+1 redundancy.\n\nCurrenty I\u0027m think that triggering a workflow automatically and grouping nodes as N+1 should be taken care of upper layer.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  Request parameters"},{"line_number":84,"context_line":"  * node_ident (uuid_or_name) – UUID or logical name of a source node."},{"line_number":85,"context_line":"  * target_node (uuid_or_name) – Optional. UUID or logical name of a"},{"line_number":86,"context_line":"  destination node."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  Normal response codes 202 Accepted"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_96da05e7","line":85,"range":{"start_line":85,"start_character":4,"end_line":85,"end_character":15},"updated":"2015-12-20 11:17:05.000000000","message":"About the names, could they be src_node and dest_node, which consistent to the commandline ?","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  Request parameters"},{"line_number":84,"context_line":"  * node_ident (uuid_or_name) – UUID or logical name of a source node."},{"line_number":85,"context_line":"  * target_node (uuid_or_name) – Optional. UUID or logical name of a"},{"line_number":86,"context_line":"  destination node."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  Normal response codes 202 Accepted"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_2c717da8","line":85,"range":{"start_line":85,"start_character":4,"end_line":85,"end_character":15},"in_reply_to":"3a7e1126_96da05e7","updated":"2015-12-24 09:00:40.000000000","message":"I\u0027ll fix that.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"* ironic node-switchover \u003csrc id\u003e [--destination \u003cdst id\u003e]::"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"  * \u003csrc id\u003e - Name or UUID of the source node"},{"line_number":103,"context_line":"  * --destination \u003cid\u003e - Optional. Name or UUID of the destination node"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_b6e5c1a4","line":102,"range":{"start_line":102,"start_character":9,"end_line":102,"end_character":11},"updated":"2015-12-20 11:17:05.000000000","message":"The doc things, \n1. Since it could be name or id, shall we name it to node ?  \"id\" is confused. It seems that it could be id only.\n2. I was told that it is not good to use \"UUID\" in the doc to the end user. It is better to use \"ID\" instead.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"* ironic node-switchover \u003csrc id\u003e [--destination \u003cdst id\u003e]::"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"  * \u003csrc id\u003e - Name or UUID of the source node"},{"line_number":103,"context_line":"  * --destination \u003cid\u003e - Optional. Name or UUID of the destination node"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_6ca225ff","line":102,"range":{"start_line":102,"start_character":9,"end_line":102,"end_character":11},"in_reply_to":"3a7e1126_b6e5c1a4","updated":"2015-12-24 09:00:40.000000000","message":"I\u0027ll fix that.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"RPC API impact"},{"line_number":107,"context_line":"--------------"},{"line_number":108,"context_line":"None"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Driver API impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_f6bd8968","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":4},"updated":"2015-12-20 11:17:05.000000000","message":"Sorry, maybe I\u0027m wrong. But if we add a new command, shouldn\u0027t we also add a RPC API at the same time ? \n\nSeems in Nova, the RESF API will finally call API, then RPC API.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"RPC API impact"},{"line_number":107,"context_line":"--------------"},{"line_number":108,"context_line":"None"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Driver API impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a7b0d38_00106f00","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":4},"in_reply_to":"3a7e1126_f6bd8968","updated":"2015-12-24 09:00:40.000000000","message":"I\u0027ll add that.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Nova driver impact"},{"line_number":118,"context_line":"------------------"},{"line_number":119,"context_line":"Nova driver is enhanced to support `nova evacuate` for Ironic server"},{"line_number":120,"context_line":"instance. Nova driver enhancement is specified in Nova spec [3]."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_166a95ee","line":119,"range":{"start_line":119,"start_character":41,"end_line":119,"end_character":49},"updated":"2015-12-20 11:17:05.000000000","message":"Not sure if `nova evacuate` is the proper place to support this.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Nova driver impact"},{"line_number":118,"context_line":"------------------"},{"line_number":119,"context_line":"Nova driver is enhanced to support `nova evacuate` for Ironic server"},{"line_number":120,"context_line":"instance. Nova driver enhancement is specified in Nova spec [3]."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a7b0d38_4c78f68f","line":119,"range":{"start_line":119,"start_character":41,"end_line":119,"end_character":49},"in_reply_to":"3a7e1126_166a95ee","updated":"2015-12-24 09:00:40.000000000","message":"Let\u0027s discuss which nova commands are affected in Nova spec.\nI\u0027ll update \u0027nova evacuate\u0027 to \u0027nova migrate\u0027 tentatively.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e0e372c3d4d2240d66440c8f910c69e55ef35513","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Other end user impact"},{"line_number":129,"context_line":"---------------------"},{"line_number":130,"context_line":"End user who doesn\u0027t administrator privilege must use `nova evacuate` [3]"},{"line_number":131,"context_line":" instead of `ironic switchover`."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Scalability impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a7e1126_d6b88d77","line":131,"range":{"start_line":131,"start_character":20,"end_line":131,"end_character":30},"updated":"2015-12-20 11:17:05.000000000","message":"nit: \u0027ironic switchover\u0027 --\u003e \u0027ironic node-switchover\u0027 ?","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"8ca5dd292e8df4bd4b8a177ebe7f84dcba9059c3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Other end user impact"},{"line_number":129,"context_line":"---------------------"},{"line_number":130,"context_line":"End user who doesn\u0027t administrator privilege must use `nova evacuate` [3]"},{"line_number":131,"context_line":" instead of `ironic switchover`."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Scalability impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a7b0d38_cc64e6e6","line":131,"range":{"start_line":131,"start_character":20,"end_line":131,"end_character":30},"in_reply_to":"3a7e1126_d6b88d77","updated":"2015-12-24 09:00:40.000000000","message":"I\u0027ll fix that.","commit_id":"56fadbd3066aea091a52f336e5923d78f07aa78b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Ironic CLI and API are enhanced to support Ironic CLI new sub-command"},{"line_number":31,"context_line":"``node-switchover``."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"`ironic node-switchover \u003csource node\u003e [\u003cdestination node\u003e]`"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The work flow of the `node switchover` sub-command is as follows:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_0c7ca171","line":33,"updated":"2017-02-20 02:52:20.000000000","message":"a requirement to issue an explicit command does not really play with the goal of \"short time\" failover. how is it different from tearing down the failed node and provisioning a new one with the same volume?","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Ironic CLI and API are enhanced to support Ironic CLI new sub-command"},{"line_number":31,"context_line":"``node-switchover``."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"`ironic node-switchover \u003csource node\u003e [\u003cdestination node\u003e]`"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The work flow of the `node switchover` sub-command is as follows:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_992a5f8e","line":33,"in_reply_to":"da36d5c6_0c7ca171","updated":"2017-06-09 16:57:37.000000000","message":"We need monitoring software to detect failure. The API will be called from the software.\n\nRegarding time, it\u0027s the same as reprovisioning a node.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":35,"context_line":"The work flow of the `node switchover` sub-command is as follows:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#. if the `source node` is not capable to boot from a Cinder volume,"},{"line_number":38,"context_line":"   then return an error (HTTP 400)."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. if the optional parameter `destination node` is specified, check if"},{"line_number":41,"context_line":"   the `source node` and `destination node` are identical bare metal"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_2c81654b","line":38,"updated":"2017-02-20 02:52:20.000000000","message":"how is this detected? we cannot hardcode cinder here, there may be other volume implementations.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"The work flow of the `node switchover` sub-command is as follows:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#. if the `source node` is not capable to boot from a Cinder volume,"},{"line_number":38,"context_line":"   then return an error (HTTP 400)."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. if the optional parameter `destination node` is specified, check if"},{"line_number":41,"context_line":"   the `source node` and `destination node` are identical bare metal"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_39b7cb89","line":38,"in_reply_to":"da36d5c6_2c81654b","updated":"2017-06-09 16:57:37.000000000","message":"A method to see if a node has capability of volume boot is being developed in boot-from-volume feature.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   then return an error (HTTP 400)."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. if the optional parameter `destination node` is specified, check if"},{"line_number":41,"context_line":"   the `source node` and `destination node` are identical bare metal"},{"line_number":42,"context_line":"   hardware. If the result is not identical, then return an error"},{"line_number":43,"context_line":"   (HTTP 400)"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_4c969995","line":41,"updated":"2017-02-20 02:52:20.000000000","message":"what do you mean by \"idendical\" here?","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   then return an error (HTTP 400)."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. if the optional parameter `destination node` is specified, check if"},{"line_number":41,"context_line":"   the `source node` and `destination node` are identical bare metal"},{"line_number":42,"context_line":"   hardware. If the result is not identical, then return an error"},{"line_number":43,"context_line":"   (HTTP 400)"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_d93a1733","line":41,"in_reply_to":"da36d5c6_4c969995","updated":"2017-06-09 16:57:37.000000000","message":"We mean nodes which can be got with the same flavor.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":43,"context_line":"   (HTTP 400)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"#. if the optional parameter `destination node` is NOT specified,"},{"line_number":46,"context_line":"   search bare metal nodes in ``enroll state`` or ``manageable"},{"line_number":47,"context_line":"   state`` and pick up an identical bare metal hardware with the"},{"line_number":48,"context_line":"   `source node`. If the result is `not found`, then return an error"},{"line_number":49,"context_line":"   (HTTP 400)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_6c935da4","line":46,"updated":"2017-02-20 02:52:20.000000000","message":"please only use \"available\" state to schedule instances (*especialy* not enroll).","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"   (HTTP 400)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"#. if the optional parameter `destination node` is NOT specified,"},{"line_number":46,"context_line":"   search bare metal nodes in ``enroll state`` or ``manageable"},{"line_number":47,"context_line":"   state`` and pick up an identical bare metal hardware with the"},{"line_number":48,"context_line":"   `source node`. If the result is `not found`, then return an error"},{"line_number":49,"context_line":"   (HTTP 400)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_b94e3bbf","line":46,"in_reply_to":"da36d5c6_6c935da4","updated":"2017-06-09 16:57:37.000000000","message":"Sure.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":48,"context_line":"   `source node`. If the result is `not found`, then return an error"},{"line_number":49,"context_line":"   (HTTP 400)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. shutdown the `source node` by `soft power off` if the node"},{"line_number":52,"context_line":"   supports, otherwise by `power off`. And then change the state of"},{"line_number":53,"context_line":"   `source node` to ``maintenance mode``."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_8c909197","line":51,"updated":"2017-02-20 02:52:20.000000000","message":"assuming that the node has failed, I wonder if soft power off makes any sense here.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":48,"context_line":"   `source node`. If the result is `not found`, then return an error"},{"line_number":49,"context_line":"   (HTTP 400)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. shutdown the `source node` by `soft power off` if the node"},{"line_number":52,"context_line":"   supports, otherwise by `power off`. And then change the state of"},{"line_number":53,"context_line":"   `source node` to ``maintenance mode``."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_1604dc7a","line":51,"in_reply_to":"da36d5c6_8c909197","updated":"2017-06-09 16:57:37.000000000","message":"That\u0027s right. We should turn off the failed node quickly with usual power off.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":55,"context_line":"#. move all of node information including ``volume_connectors`` and"},{"line_number":56,"context_line":"   ``volume_targets`` from `source node` to `destination node`."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. boot the `destination node`."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_ac8d557d","line":58,"updated":"2017-02-20 02:52:20.000000000","message":"overall, your proposal does not look like something one cannot implement in a script. why do we need to even extend ironic? also this proposal is not redundancy, just a manual failover procedure.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"#. move all of node information including ``volume_connectors`` and"},{"line_number":56,"context_line":"   ``volume_targets`` from `source node` to `destination node`."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. boot the `destination node`."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_1caf5d95","line":58,"in_reply_to":"da36d5c6_ac8d557d","updated":"2017-06-09 16:57:37.000000000","message":"Well, few changes seems necessary in Ironic if boot-from-volume is implemented.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Add REST API end point to trigger the switching over of the node"},{"line_number":78,"context_line":"asynchronously."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* PUT /v1/nodes/(src_node)/switchover::"},{"line_number":81,"context_line":"  {\"dest_node\": uuid_or_name}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  Request parameters"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_cce8c919","line":80,"updated":"2017-02-20 02:52:20.000000000","message":"PUT imples an idempotent operation, this one does not seem to be idempotent","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":101,"context_line":"  * \u003csrc node\u003e - Name or UUID of the source node"},{"line_number":102,"context_line":"  * --destination \u003cdest node\u003e - Optional. Name or UUID of the"},{"line_number":103,"context_line":"  destination node"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"RPC API impact"},{"line_number":107,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_eced8d26","line":104,"updated":"2017-02-20 02:52:20.000000000","message":"please cover the OSC impact (if any, I\u0027m not convinced we need to change something)","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc441f5226d3975b5f38e1f109ceaac4d4ce1b19","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Nova driver impact"},{"line_number":120,"context_line":"------------------"},{"line_number":121,"context_line":"Nova driver is enhanced to support ``nova migrate`` for Ironic server"},{"line_number":122,"context_line":"instance. Nova driver enhancement is specified in Nova spec [3]."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Ramdisk impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da36d5c6_0cf3c10b","line":122,"updated":"2017-02-20 02:52:20.000000000","message":"so, is this whole spec to support nova migrate? worth mentioning in the beginning..","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"0d99cb3eb7ae5257acd5f00dc0430f6693d07cb5","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Nova driver impact"},{"line_number":120,"context_line":"------------------"},{"line_number":121,"context_line":"Nova driver is enhanced to support ``nova migrate`` for Ironic server"},{"line_number":122,"context_line":"instance. Nova driver enhancement is specified in Nova spec [3]."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Ramdisk impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_961d8cbf","line":122,"in_reply_to":"da36d5c6_0cf3c10b","updated":"2017-06-09 16:57:37.000000000","message":"Yes. we\u0027d like to keep identification of an Nova instance. For using Nova API, most work would be necessary in Nova driver.","commit_id":"26c1263ce50fbeddfed854971be5f3076983fdfa"}]}
