)]}'
{"specs/pike/approved/cluster-maintance-strategy.rst":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Sometimes we need to maintain compute nodes, update hardware and software,"},{"line_number":17,"context_line":"and so on, without user\u0027s application interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_9d4fa8bc","line":17,"range":{"start_line":17,"start_character":11,"end_line":17,"end_character":50},"updated":"2017-05-16 09:54:31.000000000","message":"wihout having the user\u0027s application being interupted","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"----------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  imports one goal and strategys"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_5d624040","line":22,"range":{"start_line":22,"start_character":47,"end_line":22,"end_character":54},"updated":"2017-05-16 09:54:31.000000000","message":"import","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"----------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  imports one goal and strategys"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_bd694426","line":22,"range":{"start_line":22,"start_character":68,"end_line":22,"end_character":77},"updated":"2017-05-16 09:54:31.000000000","message":"strategies","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintance. This parameter is input by"},{"line_number":36,"context_line":"  the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintance node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_132269a5","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":40},"updated":"2017-05-16 09:54:31.000000000","message":"needs","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintance. This parameter is input by"},{"line_number":36,"context_line":"  the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintance node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_b33855d3","line":35,"range":{"start_line":35,"start_character":70,"end_line":35,"end_character":75},"updated":"2017-05-16 09:54:31.000000000","message":"provided","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This stategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintance node, further optim rely on other stategys.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintance node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintance node intensively to one"},{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_13570905","line":41,"range":{"start_line":41,"start_character":46,"end_line":41,"end_character":54},"updated":"2017-05-16 09:54:31.000000000","message":"strategies","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  migrated in.(This stategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintance node, further optim rely on other stategys.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintance node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintance node intensively to one"},{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."},{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_53e91118","line":44,"range":{"start_line":43,"start_character":71,"end_line":44,"end_character":13},"updated":"2017-05-16 09:54:31.000000000","message":"Isn\u0027t this going to be an issue with regard the the network bandwidth?","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  maintance node, further optim rely on other stategys.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintance node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintance node intensively to one"},{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."},{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_73476d4d","line":44,"range":{"start_line":44,"start_character":42,"end_line":44,"end_character":45},"updated":"2017-05-16 09:54:31.000000000","message":"VM","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0434c7c16ac567daa0675a4a4c1d786826f101be","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  migrated in.(This stategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintance node, further optim rely on other stategys.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintance node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintance node intensively to one"},{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."},{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff0f0b1f_c2573d02","line":44,"range":{"start_line":43,"start_character":71,"end_line":44,"end_character":13},"in_reply_to":"1f013ff3_53e91118","updated":"2017-10-17 12:01:22.000000000","message":"yes.","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintance node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintance node intensively to one"},{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."},{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_d3dc0176","line":45,"range":{"start_line":45,"start_character":66,"end_line":45,"end_character":68},"updated":"2017-05-16 09:54:31.000000000","message":"away from","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."},{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."},{"line_number":49,"context_line":"* After the maintance finished, the administrator need to active the maintance"},{"line_number":50,"context_line":"  node manually, to rejoin into compute resource."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_d321a14f","line":47,"range":{"start_line":47,"start_character":2,"end_line":47,"end_character":41},"updated":"2017-05-16 09:54:31.000000000","message":"I\u0027m not sure I understand what you mean bby having the audit try to migrate VMs with 2 methods. An audit can only produce 1 action plan, so the only way to know if it fail is to run the subsequent action plan, hence after the end of the audit.\nSo deciding whether to use method 1 or method 2 can only be done empirically. Also, action plans do not support logic gates with an if-then-else workflow branching style, so we cannot have the audit produce the required actions for both scenarios ahead of time.\nSo IMHO, the choice of the method can be materialized by an audit parameter that specifies which method the audit should propose as part of its action plan.\nWhat do you think?","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"74000803663576b3560af87ba2cf86cfadabbaad","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  unused host, which won\u0027t result in more vms migration among other hosts."},{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."},{"line_number":49,"context_line":"* After the maintance finished, the administrator need to active the maintance"},{"line_number":50,"context_line":"  node manually, to rejoin into compute resource."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_749bbcc8","line":47,"range":{"start_line":47,"start_character":2,"end_line":47,"end_character":41},"in_reply_to":"1f013ff3_d321a14f","updated":"2017-05-17 02:20:53.000000000","message":"1.The method is chose automatically according to the current CDM.\n2.Some strategies maybe depend on evacuating all instances of a node in one time. For example，maintance or poweroff one compute node. If it can\u0027t evacuate all instances in one audit, how to do?If there are not enough compute resource, next audit it still can\u0027t evacuate all instances of the node.","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"8ba82546d15cdc547649f3401aa4a516f30d0ec2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."},{"line_number":49,"context_line":"* After the maintance finished, the administrator need to active the maintance"},{"line_number":50,"context_line":"  node manually, to rejoin into compute resource."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_53d35139","line":48,"range":{"start_line":48,"start_character":29,"end_line":48,"end_character":39},"updated":"2017-05-16 09:54:31.000000000","message":"maintaining","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"74000803663576b3560af87ba2cf86cfadabbaad","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."},{"line_number":49,"context_line":"* After the maintance finished, the administrator need to active the maintance"},{"line_number":50,"context_line":"  node manually, to rejoin into compute resource."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_b9ab7d1b","line":48,"range":{"start_line":48,"start_character":29,"end_line":48,"end_character":39},"in_reply_to":"1f013ff3_53d35139","updated":"2017-05-17 02:20:53.000000000","message":"not spell problem, the same word.","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"e51f0bca144ec9cd2e3ca864feb0cc0530dac6e1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."},{"line_number":49,"context_line":"* After the maintance finished, the administrator need to active the maintance"},{"line_number":50,"context_line":"  node manually, to rejoin into compute resource."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f013ff3_dd806c8e","line":48,"range":{"start_line":48,"start_character":29,"end_line":48,"end_character":39},"in_reply_to":"1f013ff3_b9ab7d1b","updated":"2017-05-19 07:38:37.000000000","message":"Hum, I still think you either mean maintenance or maintaining but \"maintance\" is a wrong spelling to me.","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0434c7c16ac567daa0675a4a4c1d786826f101be","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  Method No.2, if method No.1 failed, just evacuate all instances of the"},{"line_number":46,"context_line":"  maintance node dispersedly to other nodes."},{"line_number":47,"context_line":"  If all method failed, this audit failed."},{"line_number":48,"context_line":"* Set the maintance node in \"maintaning\" state after all instance migrate out."},{"line_number":49,"context_line":"* After the maintance finished, the administrator need to active the maintance"},{"line_number":50,"context_line":"  node manually, to rejoin into compute resource."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff0f0b1f_e2792193","line":48,"range":{"start_line":48,"start_character":29,"end_line":48,"end_character":39},"in_reply_to":"1f013ff3_dd806c8e","updated":"2017-10-17 12:01:22.000000000","message":"yes, \u0027maintaining\u0027 is right.","commit_id":"f4b2791d229069889b581a71207f5081047c28fe"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c585c949e036e31fe856ada7fa5a414480d387b1","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintaince"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_0d7b25be","line":8,"range":{"start_line":8,"start_character":29,"end_line":8,"end_character":39},"updated":"2017-05-22 11:54:29.000000000","message":"sorry for pointing this out again but as you can see in http://www.dictionary.com/browse/maintenance it\u0027s either \"maintainance\" or \"maintain\" or \"maintaining\" but not \"maintaince\" :)","commit_id":"45fc8b4f5295f2ff31b73fe5771efe6aebfe2e2b"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"057237782299c960ac5c0ecbfd2b4410e64ef160","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintaince"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ff0f0b1f_d805d447","line":8,"range":{"start_line":8,"start_character":29,"end_line":8,"end_character":39},"in_reply_to":"ff0f0b1f_0d7b25be","updated":"2017-05-23 02:23:54.000000000","message":"ok.","commit_id":"45fc8b4f5295f2ff31b73fe5771efe6aebfe2e2b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintenance"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_c6defe0f","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":43},"updated":"2017-06-27 07:10:11.000000000","message":"It would be better if extra lines removed.","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintenance"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_c22c5cae","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":43},"in_reply_to":"5f201791_c6defe0f","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintenance"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_66e96ab5","line":9,"range":{"start_line":9,"start_character":39,"end_line":9,"end_character":43},"updated":"2017-06-27 07:10:11.000000000","message":"ditto","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintenance"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_a229609c","line":9,"range":{"start_line":9,"start_character":39,"end_line":9,"end_character":43},"in_reply_to":"5f201791_66e96ab5","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"----------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_6685eace","line":20,"range":{"start_line":20,"start_character":9,"end_line":20,"end_character":10},"updated":"2017-06-27 07:10:11.000000000","message":"ditto","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"----------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_8218a484","line":20,"range":{"start_line":20,"start_character":9,"end_line":20,"end_character":10},"in_reply_to":"5f201791_6685eace","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_26d932f2","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":40},"updated":"2017-06-27 07:10:11.000000000","message":"needs","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_020c9440","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":40},"in_reply_to":"5f201791_26d932f2","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_468aeebe","line":36,"range":{"start_line":35,"start_character":54,"end_line":36,"end_character":23},"updated":"2017-06-27 07:10:11.000000000","message":"This input parameter is provided by the administrator.","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_8dfd750a","line":36,"range":{"start_line":35,"start_character":54,"end_line":36,"end_character":23},"in_reply_to":"5f201791_468aeebe","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_2675b2cb","line":37,"range":{"start_line":37,"start_character":30,"end_line":37,"end_character":32},"updated":"2017-06-27 07:10:11.000000000","message":"on","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_e208782e","line":37,"range":{"start_line":37,"start_character":30,"end_line":37,"end_character":32},"in_reply_to":"5f201791_2675b2cb","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_513d0ac2","line":40,"range":{"start_line":38,"start_character":69,"end_line":40,"end_character":14},"updated":"2017-06-27 07:10:11.000000000","message":"As far as I understand, do you mean \"Calculate free cpus/memory/disk of all possible destination nodes and chose one as the destination node where all instances can migrate to? \"","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_2d0c213a","line":40,"range":{"start_line":38,"start_character":69,"end_line":40,"end_character":14},"in_reply_to":"5f201791_4e62dcd9","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"137ccc5c7e0b80cc6b303d23480f263ae1c73cb8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* First, get the compute node which need maintenance. This parameter is input"},{"line_number":36,"context_line":"  by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances of the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_4e62dcd9","line":40,"range":{"start_line":38,"start_character":69,"end_line":40,"end_character":14},"in_reply_to":"5f201791_513d0ac2","updated":"2017-06-28 03:26:47.000000000","message":"yes","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_a669c2f9","line":41,"range":{"start_line":41,"start_character":48,"end_line":41,"end_character":58},"updated":"2017-06-27 07:10:11.000000000","message":"strategies","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_0d116554","line":41,"range":{"start_line":41,"start_character":48,"end_line":41,"end_character":58},"in_reply_to":"5f201791_a669c2f9","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_1148b259","line":42,"range":{"start_line":42,"start_character":49,"end_line":42,"end_character":51},"updated":"2017-06-27 07:10:11.000000000","message":"on","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other stategyies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances of the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_ed0d0936","line":42,"range":{"start_line":42,"start_character":49,"end_line":42,"end_character":51},"in_reply_to":"5f201791_1148b259","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  produced."},{"line_number":51,"context_line":"* Set the maintaining node in \"maintaining\" state after all VMs migrate out."},{"line_number":52,"context_line":"* After the maintenance finished, the administrator need to active the"},{"line_number":53,"context_line":"  maintaining node manually, to make the compute node  rejoin into compute"},{"line_number":54,"context_line":"  resource."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_917ba279","line":53,"range":{"start_line":53,"start_character":54,"end_line":53,"end_character":55},"updated":"2017-06-27 07:10:11.000000000","message":"extra blank","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"0f67e7d7b4ec387bca65b2b8734a628cdbb09b3b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  If both methods fail, this audit fails and raise exception with no solution"},{"line_number":50,"context_line":"  produced."},{"line_number":51,"context_line":"* Set the maintaining node in \"maintaining\" state after all VMs migrate out."},{"line_number":52,"context_line":"* After the maintenance finished, the administrator need to active the"},{"line_number":53,"context_line":"  maintaining node manually, to make the compute node  rejoin into compute"},{"line_number":54,"context_line":"  resource."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f201791_913e0289","line":53,"range":{"start_line":52,"start_character":60,"end_line":53,"end_character":27},"updated":"2017-06-27 07:10:11.000000000","message":"to change the node\u0027s state from \"maintaining\" to \"enabled\" manually","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  If both methods fail, this audit fails and raise exception with no solution"},{"line_number":50,"context_line":"  produced."},{"line_number":51,"context_line":"* Set the maintaining node in \"maintaining\" state after all VMs migrate out."},{"line_number":52,"context_line":"* After the maintenance finished, the administrator need to active the"},{"line_number":53,"context_line":"  maintaining node manually, to make the compute node  rejoin into compute"},{"line_number":54,"context_line":"  resource."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_ad171146","line":53,"range":{"start_line":52,"start_character":60,"end_line":53,"end_character":27},"in_reply_to":"5f201791_913e0289","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0d3481ba8ac18223efaacae87e955d4713824aa0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  produced."},{"line_number":51,"context_line":"* Set the maintaining node in \"maintaining\" state after all VMs migrate out."},{"line_number":52,"context_line":"* After the maintenance finished, the administrator need to active the"},{"line_number":53,"context_line":"  maintaining node manually, to make the compute node  rejoin into compute"},{"line_number":54,"context_line":"  resource."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_6d2b3982","line":53,"range":{"start_line":53,"start_character":54,"end_line":53,"end_character":55},"in_reply_to":"5f201791_917ba279","updated":"2017-07-20 08:10:52.000000000","message":"Done","commit_id":"1fe947c9a62a45be0465111e654f2707c22ce2ce"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"e47f2efc5f3abadfb11f0868dd458e0601de33bf","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f201791_6998cd1a","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":54},"updated":"2017-06-29 02:45:57.000000000","message":"Can the user input more than one node at one audit?","commit_id":"c45cdef420dc5fcca9e35bdb5ed491e452b43738"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b7852de16bf903a8dd167256187b750e77bf05e5","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3f1d235d_977c66b6","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":54},"in_reply_to":"5f201791_6998cd1a","updated":"2017-06-29 05:57:01.000000000","message":"No,for the cluster stabilization, just maintain one compute node once audit.","commit_id":"c45cdef420dc5fcca9e35bdb5ed491e452b43738"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"e47f2efc5f3abadfb11f0868dd458e0601de33bf","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Primary assignee:sue"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f201791_095ef944","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":10},"updated":"2017-06-29 02:45:57.000000000","message":"please list the work need to do, thanks","commit_id":"c45cdef420dc5fcca9e35bdb5ed491e452b43738"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b7852de16bf903a8dd167256187b750e77bf05e5","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Primary assignee:sue"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3f1d235d_57500e33","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":10},"in_reply_to":"5f201791_095ef944","updated":"2017-06-29 05:57:01.000000000","message":"ok","commit_id":"c45cdef420dc5fcca9e35bdb5ed491e452b43738"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintenance"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_0056b92a","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":40},"updated":"2017-07-24 01:48:48.000000000","message":"This is usually the same as the blueprint title.\n\nBy the way, this strategy actually take single host as input parameter.\nI feel host maintenance is better fit, because cluster reminds me of set of physical machines.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Draft a strategy for cluster maintenance"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_36522769","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":40},"in_reply_to":"ff346bd7_0056b92a","updated":"2017-07-24 03:46:47.000000000","message":"ok.\nIf maintaining all cluster nodes, the least risky is to maintain one compute noede one time, one by one, step by step.\nIn further, I may add other strategy to batch maintain some compute nodes one time.\nI will add new content how to use this strategy.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Sometimes we need to maintain compute nodes, update hardware and software,"},{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_e0197588","line":16,"range":{"start_line":16,"start_character":30,"end_line":16,"end_character":43},"updated":"2017-07-24 01:48:48.000000000","message":"Input parameter have only single host though.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Sometimes we need to maintain compute nodes, update hardware and software,"},{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_76d54fb9","line":16,"range":{"start_line":16,"start_character":30,"end_line":16,"end_character":43},"in_reply_to":"ff346bd7_e0197588","updated":"2017-07-24 03:46:47.000000000","message":"ditto","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_a0136d66","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":75},"updated":"2017-07-24 01:48:48.000000000","message":"Could you please explain use cases by this goal and strategy like noisy neighbor strategy?\nhttps://specs.openstack.org/openstack/watcher-specs/specs/pike/approved/noisy_neighbor_strategy.html#use-cases","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"730388c6c87e5dfbc251637f133dd62b25da69c2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_c1ca734c","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":75},"in_reply_to":"ff346bd7_9ff8517b","updated":"2017-07-27 06:12:31.000000000","message":"sorry, I will update it.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_f6449fb9","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":75},"in_reply_to":"ff346bd7_a0136d66","updated":"2017-07-24 03:46:47.000000000","message":"ok","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1e442e6f4138bb552c4f3dd5784a9053fcc4972b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_9cf17498","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":75},"in_reply_to":"ff346bd7_c1ca734c","updated":"2017-07-27 06:33:39.000000000","message":"Done","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b9ea3781c7d2752538b7485744d0f17f6803d87b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As a Watcher Administrator, I want watcher to  import one goal and strategy"},{"line_number":23,"context_line":"for manually maintaining a host without user\u0027s application interruptted."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_9ff8517b","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":75},"in_reply_to":"ff346bd7_f6449fb9","updated":"2017-07-27 00:09:43.000000000","message":"This is not updated in patch set 15.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_5b3b96d0","line":37,"range":{"start_line":37,"start_character":2,"end_line":37,"end_character":69},"updated":"2017-07-24 01:48:48.000000000","message":"if new instances were booted on the maintaining node during migrating repeatedly, the strategy continue to migrate instances eternally.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1e442e6f4138bb552c4f3dd5784a9053fcc4972b","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_1c334464","line":37,"range":{"start_line":37,"start_character":2,"end_line":37,"end_character":69},"in_reply_to":"ff346bd7_21e5bfdc","updated":"2017-07-27 06:33:39.000000000","message":"Done","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_9634334c","line":37,"range":{"start_line":37,"start_character":2,"end_line":37,"end_character":69},"in_reply_to":"ff346bd7_5b3b96d0","updated":"2017-07-24 03:46:47.000000000","message":"Audit and actions is separated. If new instances were booted on the maintaining node during migrating, the actionplan would failed. So it suggest the user audit again.\nIn the usage doc, it will suggest the users do the cluster maintaining strategy when cluster load is stable and not high.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"730388c6c87e5dfbc251637f133dd62b25da69c2","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_21e5bfdc","line":37,"range":{"start_line":37,"start_character":2,"end_line":37,"end_character":69},"in_reply_to":"ff346bd7_5f4309b0","updated":"2017-07-27 06:12:31.000000000","message":"ok","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b9ea3781c7d2752538b7485744d0f17f6803d87b","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* First, get the compute node which needs maintenance. This input parameter is"},{"line_number":36,"context_line":"  provided by the administrator."},{"line_number":37,"context_line":"* Then, migrate all instances on the maintaining node to other nodes. Migrate"},{"line_number":38,"context_line":"  active instances use \"live-migrate\" and others use \"cold-migrate\". Calculate"},{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_5f4309b0","line":37,"range":{"start_line":37,"start_character":2,"end_line":37,"end_character":69},"in_reply_to":"ff346bd7_9634334c","updated":"2017-07-27 00:09:43.000000000","message":"Please write in this spec!\n\" If new instances were booted on the maintaining node during migrating, the actionplan would failed\"","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other strategies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_9bf21e06","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":23},"updated":"2017-07-24 01:48:48.000000000","message":"Could you explain which action this strategy uses as well?","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"730388c6c87e5dfbc251637f133dd62b25da69c2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other strategies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_e161f706","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":23},"in_reply_to":"ff346bd7_6a172947","updated":"2017-07-27 06:12:31.000000000","message":"I have pointed it out at the beginning.\n\u0027migrate all instances on the maintaining node to other nodes. Migrate active instances use \"live-migrate\" and others use \"cold-migrate\"\u0027.\nHere, the methods are not the migrate actions. It is  function to find the solution for this strategy.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other strategies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_d62d1b47","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":23},"in_reply_to":"ff346bd7_9bf21e06","updated":"2017-07-24 03:46:47.000000000","message":"active instances use \"live-migrate\" and others use \"cold-migrate\". If you are interested, the code may explain better than words.\nhttps://review.openstack.org/#/c/479200/","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b9ea3781c7d2752538b7485744d0f17f6803d87b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other strategies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_6a172947","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":23},"in_reply_to":"ff346bd7_d62d1b47","updated":"2017-07-27 00:09:43.000000000","message":"I know migrate action. \nIf this strategy call migrate action, make it clear please.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1e442e6f4138bb552c4f3dd5784a9053fcc4972b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  free cpus/memory/disk of a node to determine a instance can yes or not"},{"line_number":40,"context_line":"  migrated in.(This strategy just consider how to migrate all instances of the"},{"line_number":41,"context_line":"  maintaining node, further optim rely on other strategies.)"},{"line_number":42,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_fc37604c","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":23},"in_reply_to":"ff346bd7_e161f706","updated":"2017-07-27 06:33:39.000000000","message":"Done","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":46,"context_line":"  Method No.2, just evacuate all instances away from the maintaining node"},{"line_number":47,"context_line":"  dispersedly to other nodes."},{"line_number":48,"context_line":"  Method No.1 is priority.Only if Method No.1 fails, Method No.2 will execute."},{"line_number":49,"context_line":"  If both methods fail, this audit fails and raise exception with no solution"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_3bc21287","line":46,"range":{"start_line":46,"start_character":15,"end_line":46,"end_character":28},"updated":"2017-07-24 01:48:48.000000000","message":"We do not have evacuate action currently.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to one"},{"line_number":44,"context_line":"  unused host."},{"line_number":45,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":46,"context_line":"  Method No.2, just evacuate all instances away from the maintaining node"},{"line_number":47,"context_line":"  dispersedly to other nodes."},{"line_number":48,"context_line":"  Method No.1 is priority.Only if Method No.1 fails, Method No.2 will execute."},{"line_number":49,"context_line":"  If both methods fail, this audit fails and raise exception with no solution"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_b6edf726","line":46,"range":{"start_line":46,"start_character":15,"end_line":46,"end_character":28},"in_reply_to":"ff346bd7_3bc21287","updated":"2017-07-24 03:46:47.000000000","message":"yes, I know. Here, I just mean migrate all instances away from the maintaining node. I will correct it.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_db5f86e3","line":111,"updated":"2017-07-24 01:48:48.000000000","message":"You need to add goal cluster_maintaining","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Work Items"},{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_164a8354","line":111,"in_reply_to":"ff346bd7_db5f86e3","updated":"2017-07-24 03:46:47.000000000","message":"yes","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"708c953a32e641b3c17b5b40e049a99cf6e77f4d","unresolved":false,"context_lines":[{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_db0426c9","line":112,"range":{"start_line":112,"start_character":1,"end_line":112,"end_character":43},"updated":"2017-07-24 01:48:48.000000000","message":"Could you please explain this in proposed change?","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1e442e6f4138bb552c4f3dd5784a9053fcc4972b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_dc401ca8","line":112,"range":{"start_line":112,"start_character":1,"end_line":112,"end_character":43},"in_reply_to":"ff346bd7_6ae1692a","updated":"2017-07-27 06:33:39.000000000","message":"Done","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"730388c6c87e5dfbc251637f133dd62b25da69c2","unresolved":false,"context_lines":[{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_21fedf6a","line":112,"range":{"start_line":112,"start_character":1,"end_line":112,"end_character":43},"in_reply_to":"ff346bd7_6ae1692a","updated":"2017-07-27 06:12:31.000000000","message":"ok","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b9ea3781c7d2752538b7485744d0f17f6803d87b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_6ae1692a","line":112,"range":{"start_line":112,"start_character":1,"end_line":112,"end_character":43},"in_reply_to":"ff346bd7_b60977de","updated":"2017-07-27 00:09:43.000000000","message":"Proposed change section is explaining only the strategy.\nI understand you will update change_nova_service_state action.\nCould you write about updating change_nova_service_state action?","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"b868416f77860847faae539708e4dcd8705c51e6","unresolved":false,"context_lines":[{"line_number":109,"context_line":"----------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":" *Add strategy cluster_maintenance"},{"line_number":112,"context_line":" *Refactor action change_nova_service_state, for maintain action."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Dependencies"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ff346bd7_b60977de","line":112,"range":{"start_line":112,"start_character":1,"end_line":112,"end_character":43},"in_reply_to":"ff346bd7_db0426c9","updated":"2017-07-24 03:46:47.000000000","message":"Current action change_nova_service_state just enable or disable nova-compute service, but the input parameter \u0027state\u0027, it is a  bollean value.\nIn this strategy, the nova-compute service would be more than two state (enabled/disabled/maintaining), so it should give current_state and target_state when calling this action. The target_state is useful to execute this action, while the current_state is useful to revert this action.","commit_id":"4bbc7ffcf82f588c6d401cbb4bef151c14897f79"}],"specs/pike/approved/cluster-maintenance-strategy.rst":[{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"cbfd2f45be9c56d5539f262af51dde8f1e719933","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Cluster maintenance strategy"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_56a37250","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":28},"updated":"2017-08-07 03:37:49.000000000","message":"quote from patchset 14:\n------------------------------------------------------\nHidekazu Nakamura\nThis is usually the same as the blueprint title.\nBy the way, this strategy actually take single host as input parameter.\nI feel host maintenance is better fit, because cluster reminds me of a set of physical machines.\n\nsuzhengwei\nok.\nIf maintaining all cluster nodes, the least risky is to maintain one compute node one time, one by one, step by step.\nIn further, I may add other strategy to batch maintain some compute nodes one time.\nI will add new content how to use this strategy.\n--------------------------------------------------------\n\nI also feel that host maintenance is better as this strategy only maintains one host at a time. And you mentioned that you will add another strategy to maintain some compute nodes(or a cluster) one time, I think cluster-maintenance might be better for that strategy.","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f747850134df5baae445a45132483b1dcf1f18ab","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Cluster maintenance strategy"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_7de1aefe","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":28},"in_reply_to":"bf3e73b7_56a37250","updated":"2017-08-07 10:05:00.000000000","message":"how about \u0027cluster maintenance\u0027 as the goal, and \u0027host maintaining\u0027 as this strategy name?","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"ecca5bc12a10ab0b7343b837acbfea93be780eeb","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Cluster maintenance strategy"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/cluster-maintaining"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9f436f4f_b3d5db45","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":28},"in_reply_to":"bf3e73b7_7de1aefe","updated":"2017-08-10 05:52:49.000000000","message":"Done","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"cbfd2f45be9c56d5539f262af51dde8f1e719933","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Cluster Maintenance\""}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_961e7a6e","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":61},"updated":"2017-08-07 03:37:49.000000000","message":"IMHO, I would also suggest host maintenance.","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"ecca5bc12a10ab0b7343b837acbfea93be780eeb","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Cluster Maintenance\""}],"source_content_type":"text/x-rst","patch_set":16,"id":"9f436f4f_73cf73b0","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":61},"in_reply_to":"bf3e73b7_961e7a6e","updated":"2017-08-10 05:52:49.000000000","message":"Done","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"cbfd2f45be9c56d5539f262af51dde8f1e719933","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine a instance can yes or not migrated in."},{"line_number":46,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":47,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":48,"context_line":"  There are two methods to migrate the instances of the maintaining node:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_d1188c76","line":45,"range":{"start_line":44,"start_character":29,"end_line":45,"end_character":53},"updated":"2017-08-07 03:37:49.000000000","message":"Calculate free CPUs/memory/disk of a possible destination node to determine whether all instances from maintaining node can migrate to.","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f747850134df5baae445a45132483b1dcf1f18ab","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine a instance can yes or not migrated in."},{"line_number":46,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":47,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":48,"context_line":"  There are two methods to migrate the instances of the maintaining node:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_dda09aa8","line":45,"range":{"start_line":44,"start_character":29,"end_line":45,"end_character":53},"in_reply_to":"bf3e73b7_d1188c76","updated":"2017-08-07 10:05:00.000000000","message":"Calculate free CPUs/memory/disk of a possible destination node to determine whether a instance or all instances from the maintaining node can migrate to.","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"ecca5bc12a10ab0b7343b837acbfea93be780eeb","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine a instance can yes or not migrated in."},{"line_number":46,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":47,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":48,"context_line":"  There are two methods to migrate the instances of the maintaining node:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9f436f4f_53c6af9c","line":45,"range":{"start_line":44,"start_character":29,"end_line":45,"end_character":53},"in_reply_to":"bf3e73b7_dda09aa8","updated":"2017-08-10 05:52:49.000000000","message":"Done","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"cbfd2f45be9c56d5539f262af51dde8f1e719933","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":55,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":56,"context_line":"  no solution produced."},{"line_number":57,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":58,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":59,"context_line":"  If new instances were booted on the maintaining node during migrating,"},{"line_number":60,"context_line":"  the actionplan should failed"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"After the maintenance finished, the administrator need to active the"},{"line_number":63,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_717d606d","line":60,"range":{"start_line":57,"start_character":2,"end_line":60,"end_character":30},"updated":"2017-08-07 03:37:49.000000000","message":"Why you don\u0027t call change_nova_service_state action to set the maintaining node in \"maintaining\" state at the time maintenance node is selected but migration actions are not yet started.\nThis can also avoid the situation \"new instances were booted on the maintaining node during migrating\".","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f747850134df5baae445a45132483b1dcf1f18ab","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":55,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":56,"context_line":"  no solution produced."},{"line_number":57,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":58,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":59,"context_line":"  If new instances were booted on the maintaining node during migrating,"},{"line_number":60,"context_line":"  the actionplan should failed"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"After the maintenance finished, the administrator need to active the"},{"line_number":63,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_3df68691","line":60,"range":{"start_line":57,"start_character":2,"end_line":60,"end_character":30},"in_reply_to":"bf3e73b7_717d606d","updated":"2017-08-07 10:05:00.000000000","message":"yes, actually change_nova_service_state executes before migrate, because it has higher weight than migrate.\nI will update this part.","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"cbfd2f45be9c56d5539f262af51dde8f1e719933","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  If new instances were booted on the maintaining node during migrating,"},{"line_number":60,"context_line":"  the actionplan should failed"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"After the maintenance finished, the administrator need to active the"},{"line_number":63,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":64,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_51825c51","line":62,"range":{"start_line":62,"start_character":58,"end_line":62,"end_character":64},"updated":"2017-08-07 03:37:49.000000000","message":"activate","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f747850134df5baae445a45132483b1dcf1f18ab","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  If new instances were booted on the maintaining node during migrating,"},{"line_number":60,"context_line":"  the actionplan should failed"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"After the maintenance finished, the administrator need to active the"},{"line_number":63,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":64,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_7d888e1e","line":62,"range":{"start_line":62,"start_character":58,"end_line":62,"end_character":64},"in_reply_to":"bf3e73b7_51825c51","updated":"2017-08-07 10:05:00.000000000","message":"ok","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"ecca5bc12a10ab0b7343b837acbfea93be780eeb","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  If new instances were booted on the maintaining node during migrating,"},{"line_number":60,"context_line":"  the actionplan should failed"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"After the maintenance finished, the administrator need to active the"},{"line_number":63,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":64,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"9f436f4f_33c1eb81","line":62,"range":{"start_line":62,"start_character":58,"end_line":62,"end_character":64},"in_reply_to":"bf3e73b7_7d888e1e","updated":"2017-08-10 05:52:49.000000000","message":"Done","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"cbfd2f45be9c56d5539f262af51dde8f1e719933","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Work Items"},{"line_number":119,"context_line":"----------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":" *Add strategy and goal for cluster_maintenance"},{"line_number":122,"context_line":" *Update change_nova_service_state action, to make it available to"},{"line_number":123,"context_line":"  maintain one compute node."},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"bf3e73b7_3197d893","line":121,"range":{"start_line":121,"start_character":28,"end_line":121,"end_character":47},"updated":"2017-08-07 03:37:49.000000000","message":"ditto as line 34.","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"ecca5bc12a10ab0b7343b837acbfea93be780eeb","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Work Items"},{"line_number":119,"context_line":"----------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":" *Add strategy and goal for cluster_maintenance"},{"line_number":122,"context_line":" *Update change_nova_service_state action, to make it available to"},{"line_number":123,"context_line":"  maintain one compute node."},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"9f436f4f_13c0277b","line":121,"range":{"start_line":121,"start_character":28,"end_line":121,"end_character":47},"in_reply_to":"bf3e73b7_3197d893","updated":"2017-08-10 05:52:49.000000000","message":"Done","commit_id":"3c34fe1e59de8977cdd4c1cc8694afd5074fbc3f"}],"specs/queens/approved/cluster-maintenance-strategy.rst":[{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Sometimes we need to maintain compute nodes, update hardware or software,"},{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_024a4c54","line":17,"updated":"2017-08-22 18:43:31.000000000","message":"\"without having the users\u0027 applications interrupted\"\n\nor\n\n\"without interrupting the users\u0027 applications\"","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Sometimes we need to maintain compute nodes, update hardware or software,"},{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_d74bdd84","line":17,"in_reply_to":"7f287b81_024a4c54","updated":"2017-08-23 04:27:58.000000000","message":"ok","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As an openstack operator, sometimes I want to maintain one compute node"},{"line_number":23,"context_line":"without user\u0027s application interruptted, so it needs to migrate all"},{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_02912c9a","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":49},"updated":"2017-08-22 18:43:31.000000000","message":"This is a very valid case, but it is not an optimisation, so I think it is currently out of scope for Watcher.  If the team wants to extend Watcher beyond optimisation to deal with normal cloud operations then I think that should be discussed on the mailing list, because it risks overlapping with other projects within OpenStack.  If those discussions already happened and I missed them, then please accept my apologies and let me know (a URL to the discussions would be really helpful).","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As an openstack operator, sometimes I want to maintain one compute node"},{"line_number":23,"context_line":"without user\u0027s application interruptted, so it needs to migrate all"},{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_3770e172","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":49},"in_reply_to":"7f287b81_02912c9a","updated":"2017-08-23 04:27:58.000000000","message":"ok","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_e2fe20ad","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":61},"updated":"2017-08-22 18:43:31.000000000","message":"I think \"cluster-maintenance\" is not the best name for this.  In OpenStack, the compute nodes are not generally referred to as a cluster, and typically \"cluster\" refers to part of the control plane, or maybe clustered workloads running in VMs or containers (see the Senlin project).\n\nA better name would be \"compute-node-maintenance\".","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f52b056550b71ddcf9771f6b38b4e19adf694848","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_f230190a","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":61},"in_reply_to":"7f287b81_bb1277b0","updated":"2017-08-23 14:00:46.000000000","message":"I don\u0027t think so. We should obey to Watcher\u0027s pattern, then Openstack\u0027s.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"be218af62f12be4d17ab7411483254cad8f8b4e5","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_bb1277b0","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":61},"in_reply_to":"7f287b81_d704fdc8","updated":"2017-08-23 12:51:16.000000000","message":"My point is that this terminology is inconsistent with the rest of OpenStack, where \"cluster\" does not refer to compute resources. I think we should keep the terminology consistent.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_d704fdc8","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":61},"in_reply_to":"7f287b81_e2fe20ad","updated":"2017-08-23 04:27:58.000000000","message":"But in Watcher, here cluster refers to the compute resources.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_a23258a6","line":36,"range":{"start_line":36,"start_character":22,"end_line":36,"end_character":41},"updated":"2017-08-22 18:43:31.000000000","message":"\"Compute node maintenance\"","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"be218af62f12be4d17ab7411483254cad8f8b4e5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_db82e3c8","line":36,"range":{"start_line":36,"start_character":22,"end_line":36,"end_character":41},"in_reply_to":"7f287b81_970e75e3","updated":"2017-08-23 12:51:16.000000000","message":"Yes, but VMware DRS is for small clusters of hypervisors, whereas OpenStack clouds have much larger numbers of compute nodes. It\u0027s a totally different model.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_970e75e3","line":36,"range":{"start_line":36,"start_character":22,"end_line":36,"end_character":41},"in_reply_to":"7f287b81_a23258a6","updated":"2017-08-23 04:27:58.000000000","message":"This refer to \"Cluster Maintennance\" in VMWare DRS.\nThe goal is \"Cluster Maintaining\", while this strategy is \"Host Maintenance\".","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f52b056550b71ddcf9771f6b38b4e19adf694848","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_f2193988","line":36,"range":{"start_line":36,"start_character":22,"end_line":36,"end_character":41},"in_reply_to":"7f287b81_db82e3c8","updated":"2017-08-23 14:00:46.000000000","message":"This is not forceful.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"},{"line_number":40,"context_line":"* First, get the compute node which needs maintenance. This input parameter"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_221e680c","line":37,"range":{"start_line":37,"start_character":40,"end_line":37,"end_character":56},"updated":"2017-08-22 18:43:31.000000000","message":"\"Compute host maintenance\"","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"},{"line_number":40,"context_line":"* First, get the compute node which needs maintenance. This input parameter"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_b70971de","line":37,"range":{"start_line":37,"start_character":40,"end_line":37,"end_character":56},"in_reply_to":"7f287b81_221e680c","updated":"2017-08-23 04:27:58.000000000","message":"ditto","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The new strategy executes as follows"},{"line_number":40,"context_line":"* First, get the compute node which needs maintenance. This input parameter"},{"line_number":41,"context_line":"  is provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":46,"context_line":"  can migrate to."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_22e30808","line":43,"range":{"start_line":42,"start_character":31,"end_line":43,"end_character":16},"updated":"2017-08-22 18:43:31.000000000","message":"\"migrate all instances from the node scheduled for maintenance to other nodes\"","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The new strategy executes as follows"},{"line_number":40,"context_line":"* First, get the compute node which needs maintenance. This input parameter"},{"line_number":41,"context_line":"  is provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":46,"context_line":"  can migrate to."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_37f581cc","line":43,"range":{"start_line":42,"start_character":31,"end_line":43,"end_character":16},"in_reply_to":"7f287b81_22e30808","updated":"2017-08-23 04:27:58.000000000","message":"ok","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  is provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":46,"context_line":"  can migrate to."},{"line_number":47,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":48,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":49,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":50,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":51,"context_line":"  one unused host."},{"line_number":52,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":53,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":54,"context_line":"  to other nodes."},{"line_number":55,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":56,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":57,"context_line":"  no solution produced."},{"line_number":58,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":59,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":60,"context_line":"  If new instances were booted on the maintaining node during migrating,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_6288f01e","line":57,"range":{"start_line":44,"start_character":29,"end_line":57,"end_character":23},"updated":"2017-08-22 18:43:31.000000000","message":"nova-scheduler can already decide where to place instances, so why should Watcher duplicate this functionality?","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"be218af62f12be4d17ab7411483254cad8f8b4e5","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  is provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":46,"context_line":"  can migrate to."},{"line_number":47,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":48,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":49,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":50,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":51,"context_line":"  one unused host."},{"line_number":52,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":53,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":54,"context_line":"  to other nodes."},{"line_number":55,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":56,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":57,"context_line":"  no solution produced."},{"line_number":58,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":59,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":60,"context_line":"  If new instances were booted on the maintaining node during migrating,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_fb67df24","line":57,"range":{"start_line":44,"start_character":29,"end_line":57,"end_character":23},"in_reply_to":"7f287b81_17da8516","updated":"2017-08-23 12:51:16.000000000","message":"I\u0027m sorry, but I don\u0027t understand what you are saying here.  What do you mean by \"intense migrations\"?\n\n\u003e The nova-scheduler does\u0027t consider the workload situation.\n\nWhy not?  I\u0027m not sure what you mean here.  nova-scheduler can be configured to do exactly what both of your methods do:\n\nhttps://docs.openstack.org/nova/latest/user/filter-scheduler.html","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  is provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":46,"context_line":"  can migrate to."},{"line_number":47,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":48,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":49,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":50,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":51,"context_line":"  one unused host."},{"line_number":52,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":53,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":54,"context_line":"  to other nodes."},{"line_number":55,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":56,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":57,"context_line":"  no solution produced."},{"line_number":58,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":59,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":60,"context_line":"  If new instances were booted on the maintaining node during migrating,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_17da8516","line":57,"range":{"start_line":44,"start_character":29,"end_line":57,"end_character":23},"in_reply_to":"7f287b81_6288f01e","updated":"2017-08-23 04:27:58.000000000","message":"Yes, I know it. But depend on nova-scheduler to replace all instances of the maintaining node, it may cause intense migrations during compute nodes when optimize. The nova-scheduler \ndoes\u0027t consider the workload situation. Ihis spec, it give two method, in the first method, if the maintaining node is balance before migrations, the destination node will be balance after migrations.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f52b056550b71ddcf9771f6b38b4e19adf694848","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  is provided by the administrator."},{"line_number":42,"context_line":"* Then, call migrate action to migrate all instances on the maintaining node"},{"line_number":43,"context_line":"  to other nodes. Migrate active instances use \"live-migrate\" and"},{"line_number":44,"context_line":"  others use \"cold-migrate\". Calculate free cpus/memory/disk of a node"},{"line_number":45,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":46,"context_line":"  can migrate to."},{"line_number":47,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":48,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":49,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":50,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":51,"context_line":"  one unused host."},{"line_number":52,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":53,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":54,"context_line":"  to other nodes."},{"line_number":55,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":56,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":57,"context_line":"  no solution produced."},{"line_number":58,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":59,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":60,"context_line":"  If new instances were booted on the maintaining node during migrating,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_8d12d657","line":57,"range":{"start_line":44,"start_character":29,"end_line":57,"end_character":23},"in_reply_to":"7f287b81_fb67df24","updated":"2017-08-23 14:00:46.000000000","message":"No filter of workload, this is import for watcher to optimize.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"bd21ca2c5f5383958a8942a64c6de3da80d1085b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  the actionplan should failed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":64,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":65,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_02ac8c8a","line":65,"range":{"start_line":64,"start_character":26,"end_line":65,"end_character":18},"updated":"2017-08-22 18:43:31.000000000","message":"Please see the discussion here https://review.openstack.org/#/c/310510/\n\nhttps://blueprints.launchpad.net/nova/+spec/maintenance-reason-to-server","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"1531d921c6019f8c943b907d558cbed3e7e9e0c4","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  the actionplan should failed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":64,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":65,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_f77c99b6","line":65,"range":{"start_line":64,"start_character":26,"end_line":65,"end_character":18},"in_reply_to":"7f287b81_02ac8c8a","updated":"2017-08-23 04:27:58.000000000","message":"Personally, maintaining is one upper usage, it shouldn\u0027t be\nset into nova project.\nOptimize is progress to dynamic rescheduler resources to make the resources more reasonable, such as workload balance, temperature control, and so on.\nditto","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"be218af62f12be4d17ab7411483254cad8f8b4e5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  the actionplan should failed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":64,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":65,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_fb1ebf6e","line":65,"range":{"start_line":64,"start_character":26,"end_line":65,"end_character":18},"in_reply_to":"7f287b81_f77c99b6","updated":"2017-08-23 12:51:16.000000000","message":"\u003e it shouldn\u0027t be set into nova project.\n\nI think I probably agree that maintenance workflows should be handled outside nova. I just provided the link as an FYI to make sure you were aware of previous discussions.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"f52b056550b71ddcf9771f6b38b4e19adf694848","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  the actionplan should failed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":64,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":65,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_2d47624e","line":65,"range":{"start_line":64,"start_character":26,"end_line":65,"end_character":18},"in_reply_to":"7f287b81_fb1ebf6e","updated":"2017-08-23 14:00:46.000000000","message":"I will improve it, to maintaining servaral hosts once time.\nThat is why I import it to Wacher.","commit_id":"583370b167112bfbb2b43fd61d5dc9159e656ef8"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"085d7711e54b4c6adfc83e45cae49a622541898b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Sometimes we need to maintain compute nodes, update hardware or software,"},{"line_number":17,"context_line":"and so on, without having the user\u0027s application been interruptted."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_1807561f","line":17,"updated":"2017-09-11 02:34:11.000000000","message":"s/interruptted/interrupted\nor it is better to write \u0027without interrupting user applications\u0027","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"a1ab0043c1d65672a296a53a81a3a4c7d42a5c85","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As an openstack operator, sometimes I want to maintain one compute node"},{"line_number":23,"context_line":"without user\u0027s application interruptted, so it needs to migrate all"},{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_010be67c","line":22,"range":{"start_line":22,"start_character":54,"end_line":22,"end_character":71},"updated":"2017-09-07 09:23:37.000000000","message":"I still suggest to consider more than one node.\nThe strategy can just maintain one node each time,\nand if the audit type is CONTINUOUS, the audit can \nmaintain diffrent nodes.\nIn this case,the user just create one audit with CONTINUOUS\nfor several nodes, otherwise the user has to create several audits.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0434c7c16ac567daa0675a4a4c1d786826f101be","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As an openstack operator, sometimes I want to maintain one compute node"},{"line_number":23,"context_line":"without user\u0027s application interruptted, so it needs to migrate all"},{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f4e5783_106f85fc","line":22,"range":{"start_line":22,"start_character":54,"end_line":22,"end_character":71},"in_reply_to":"5f2577a7_4ee63419","updated":"2017-10-17 12:01:22.000000000","message":"If maintain more than one node, I suggest him to try \u0027zone migration\u0027 strategy, which is complicated to the developer and administrator.\nBut in most cases, the administrator just need to maintain one node. So it is necessary to provide a simple and usable strategy to the end users.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"23e255688c7796d1915154ba0ce7583e824faaad","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Use Cases"},{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As an openstack operator, sometimes I want to maintain one compute node"},{"line_number":23,"context_line":"without user\u0027s application interruptted, so it needs to migrate all"},{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_4ee63419","line":22,"range":{"start_line":22,"start_character":54,"end_line":22,"end_character":71},"in_reply_to":"7f287b81_010be67c","updated":"2017-09-11 05:31:16.000000000","message":"I think it is another application scene, and I would work on it in Queue-2 or later.\nThe original purpose of \u0027Host Maintaining\u0027 is to hit at once. Because the allocation of cluster doesn\u0027t change much during a period of time. If there are not enough room to migrate all instances of the maintaining node, that means it is not the appropriate time to maintain a node.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"085d7711e54b4c6adfc83e45cae49a622541898b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"---------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"As an openstack operator, sometimes I want to maintain one compute node"},{"line_number":23,"context_line":"without user\u0027s application interruptted, so it needs to migrate all"},{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_d3fe5104","line":23,"updated":"2017-09-11 02:34:11.000000000","message":"ditto","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"a1ab0043c1d65672a296a53a81a3a4c7d42a5c85","unresolved":false,"context_lines":[{"line_number":24,"context_line":"instances of the compute node before maintenance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"},{"line_number":28,"context_line":"----------------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"None"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_614e2a39","line":30,"range":{"start_line":27,"start_character":0,"end_line":30,"end_character":4},"updated":"2017-09-07 09:23:37.000000000","message":"please remove this","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"a1ab0043c1d65672a296a53a81a3a4c7d42a5c85","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_a17412d0","line":36,"range":{"start_line":36,"start_character":21,"end_line":36,"end_character":41},"updated":"2017-09-07 09:23:37.000000000","message":"Could this strategy use the same goal as \u0027zone migration\u0027 strategy?\nseem they are the same purpose\nwe have too many goals now:)","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"23e255688c7796d1915154ba0ce7583e824faaad","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_ee1720ed","line":36,"range":{"start_line":36,"start_character":21,"end_line":36,"end_character":41},"in_reply_to":"5f2577a7_730d5d36","updated":"2017-09-11 05:31:16.000000000","message":"I will study \u0027zone migration\u0027.\nI will use the same goal if they indeed have the same goal.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"0434c7c16ac567daa0675a4a4c1d786826f101be","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f4e5783_904255aa","line":36,"range":{"start_line":36,"start_character":21,"end_line":36,"end_character":41},"in_reply_to":"5f2577a7_ee1720ed","updated":"2017-10-17 12:01:22.000000000","message":"\u0027Hardware maintenance\u0027 is not an appropriate goal for this spec. Sometimes \u0027software maintenance\u0027 is also need zone migration strategy, like libvirt version upgrade.\nI prefer to \u0027Maintenance\u0027 or \u0027Cluster Maintenance\u0027.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"085d7711e54b4c6adfc83e45cae49a622541898b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"There will be a new goal and strategy for cluster-maintenance."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Add one new goal - \"Cluster Maintaining\""},{"line_number":37,"context_line":"* Add one new strategy for this goal - \"Host Maintenance\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The new strategy executes as follows"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_730d5d36","line":36,"range":{"start_line":36,"start_character":21,"end_line":36,"end_character":41},"in_reply_to":"7f287b81_a17412d0","updated":"2017-09-11 02:34:11.000000000","message":"+1\nwe should have same goal for both strategy","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"085d7711e54b4c6adfc83e45cae49a622541898b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  to determine whether one instance or all instances from the maintaining node"},{"line_number":47,"context_line":"  can migrate to."},{"line_number":48,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":49,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":50,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":51,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":52,"context_line":"  one unused host."}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_131cd968","line":49,"updated":"2017-09-11 02:34:11.000000000","message":"s/optim/optimization","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"085d7711e54b4c6adfc83e45cae49a622541898b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":49,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":50,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":51,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":52,"context_line":"  one unused host."},{"line_number":53,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":54,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_9321e9a2","line":51,"updated":"2017-09-11 02:34:11.000000000","message":"you will check about the resources of other node??","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"23e255688c7796d1915154ba0ce7583e824faaad","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  This strategy just consider how to migrate all instances of the"},{"line_number":49,"context_line":"  maintaining node, further optim rely on other strategies."},{"line_number":50,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":51,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":52,"context_line":"  one unused host."},{"line_number":53,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":54,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_6ee1f0fe","line":51,"in_reply_to":"5f2577a7_9321e9a2","updated":"2017-09-11 05:31:16.000000000","message":"yes. It need to known whether there are enough room to migrate all instances of the maintaining node.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"085d7711e54b4c6adfc83e45cae49a622541898b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":52,"context_line":"  one unused host."},{"line_number":53,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":54,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":55,"context_line":"  to other nodes."},{"line_number":56,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":57,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_1335f9da","line":54,"updated":"2017-09-11 02:34:11.000000000","message":"is this feasible, if you migrate half number of instances and there is no room for next instances?? will it rollback the maintenance node to previous state?? or you will check about all the resources before only??","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"23e255688c7796d1915154ba0ce7583e824faaad","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":52,"context_line":"  one unused host."},{"line_number":53,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":54,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":55,"context_line":"  to other nodes."},{"line_number":56,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":57,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5f2577a7_8edc1c47","line":54,"in_reply_to":"5f2577a7_1335f9da","updated":"2017-09-11 05:31:16.000000000","message":"The purpose of \u0027Host Maintaining\u0027 is to hit at once. If not enough room to migrate all instances of the maintaining node, it would do nothing.","commit_id":"e01ebc708292dc4d14f337db905a4f9407f4ce31"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"2e540a126e7af3c101c54ad5ded4022380028f92","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  maintaining node, further optimization rely on other strategies."},{"line_number":44,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":45,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":46,"context_line":"  one unused host."},{"line_number":47,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":48,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":49,"context_line":"  to other nodes."}],"source_content_type":"text/x-rst","patch_set":21,"id":"3f4b6375_2a11bb5e","line":46,"range":{"start_line":46,"start_character":6,"end_line":46,"end_character":12},"updated":"2017-11-08 11:39:17.000000000","message":"what will you take into account choosing unused host among other hosts?","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"78fcd14c161b834a0264b2de1bd83ba39c5150c9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  maintaining node, further optimization rely on other strategies."},{"line_number":44,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":45,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":46,"context_line":"  one unused host."},{"line_number":47,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":48,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":49,"context_line":"  to other nodes."}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_04a89dd8","line":46,"range":{"start_line":46,"start_character":6,"end_line":46,"end_character":12},"in_reply_to":"1f485f77_59ffb833","updated":"2017-11-16 06:22:40.000000000","message":"Done","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"de6088207b5d1c0e7980d1ec673449c63429ba56","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  maintaining node, further optimization rely on other strategies."},{"line_number":44,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":45,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":46,"context_line":"  one unused host."},{"line_number":47,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":48,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":49,"context_line":"  to other nodes."}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_6a455d70","line":46,"range":{"start_line":46,"start_character":6,"end_line":46,"end_character":12},"in_reply_to":"1f485f77_6908cf27","updated":"2017-11-10 11:27:46.000000000","message":"How will you choose \"unused\" host among the others?","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"5e7011d9387e8ff11afaa884a8073564d6b73cdc","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  maintaining node, further optimization rely on other strategies."},{"line_number":44,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":45,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":46,"context_line":"  one unused host."},{"line_number":47,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":48,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":49,"context_line":"  to other nodes."}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_7ce3cf34","line":46,"range":{"start_line":46,"start_character":6,"end_line":46,"end_character":12},"in_reply_to":"1f485f77_6a455d70","updated":"2017-11-13 02:10:18.000000000","message":"The \u0027unused\u0027 host means disable but not power-off node for Watcher. If there are more than one \"unused\" hosts, choose one from them by random.","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"30966c437c103a2ca295605cfad14844bfe304f7","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  maintaining node, further optimization rely on other strategies."},{"line_number":44,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":45,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":46,"context_line":"  one unused host."},{"line_number":47,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":48,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":49,"context_line":"  to other nodes."}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_59ffb833","line":46,"range":{"start_line":46,"start_character":6,"end_line":46,"end_character":12},"in_reply_to":"1f485f77_7ce3cf34","updated":"2017-11-15 10:46:01.000000000","message":"then mention it in your spec","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"d30694cb450b05caa14b479dcdff51785e9d6cca","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  maintaining node, further optimization rely on other strategies."},{"line_number":44,"context_line":"  There are two methods to migrate the instances of the maintaining node:"},{"line_number":45,"context_line":"  Method No.1, migrate all instances on the maintaining node intensively to"},{"line_number":46,"context_line":"  one unused host."},{"line_number":47,"context_line":"  (This method won\u0027t result in more VMs migration among other hosts.)"},{"line_number":48,"context_line":"  Method No.2, just migrate all instances on the maintaining node dispersedly"},{"line_number":49,"context_line":"  to other nodes."}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_6908cf27","line":46,"range":{"start_line":46,"start_character":6,"end_line":46,"end_character":12},"in_reply_to":"3f4b6375_2a11bb5e","updated":"2017-11-10 06:55:55.000000000","message":"If Watcher migrates all instances on the maintaining node intensively to the unused host, which usually has the same physical properties, the workload of the dest node is nearly the same with the source node. Then it can keep the cluster in balance before and after migrations. That\u0027s why No.1 method is the first choice.\nIf Watcher migrates all instances on the maintaining node dispersedly to other nodes, it will break the cluster balance. Then it may need sevaral times of optimization to achieve new balance. So, No.2 method is second choice.","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"35087c5d1ecf06e369236a89855504ed16238a74","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":51,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":52,"context_line":"  no solution produced."},{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_fca9ffde","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":9},"updated":"2017-11-13 01:55:14.000000000","message":"It\u0027s better to set the node in maintaining state before migration to avoid booting new VM on this node.","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"30966c437c103a2ca295605cfad14844bfe304f7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":51,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":52,"context_line":"  no solution produced."},{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_d998481c","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":9},"in_reply_to":"1f485f77_7cbcef04","updated":"2017-11-15 10:46:01.000000000","message":"ditto","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"78fcd14c161b834a0264b2de1bd83ba39c5150c9","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":51,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":52,"context_line":"  no solution produced."},{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_24a39902","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":9},"in_reply_to":"1f485f77_d998481c","updated":"2017-11-16 06:22:40.000000000","message":"Done","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"5e7011d9387e8ff11afaa884a8073564d6b73cdc","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  Method No.1 is priority. Only if Method No.1 fails, Method No.2 will"},{"line_number":51,"context_line":"  execute. If both methods fail, this audit fails and raise exception with"},{"line_number":52,"context_line":"  no solution produced."},{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_7cbcef04","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":9},"in_reply_to":"1f485f77_fca9ffde","updated":"2017-11-13 02:10:18.000000000","message":"yes, you are right. It should set the node in maintaining state firstly.","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"2e540a126e7af3c101c54ad5ded4022380028f92","unresolved":false,"context_lines":[{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":57,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":58,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"3f4b6375_4d01b104","line":58,"range":{"start_line":56,"start_character":0,"end_line":58,"end_character":75},"updated":"2017-11-08 11:39:17.000000000","message":"which commands should administrator use to activate maintaining node?","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"78fcd14c161b834a0264b2de1bd83ba39c5150c9","unresolved":false,"context_lines":[{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":57,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":58,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_649d11bb","line":58,"range":{"start_line":56,"start_character":0,"end_line":58,"end_character":75},"in_reply_to":"1f485f77_3993dcfc","updated":"2017-11-16 06:22:40.000000000","message":"Done","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"30966c437c103a2ca295605cfad14844bfe304f7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":57,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":58,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_3993dcfc","line":58,"range":{"start_line":56,"start_character":0,"end_line":58,"end_character":75},"in_reply_to":"1f485f77_7ee9a37e","updated":"2017-11-15 10:46:01.000000000","message":"ditto","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"d30694cb450b05caa14b479dcdff51785e9d6cca","unresolved":false,"context_lines":[{"line_number":53,"context_line":"* Finally, call change_nova_service_state action to set the maintaining node"},{"line_number":54,"context_line":"  in \"maintaining\" state after all VMs migrate out."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"After the maintenance finished, the administrator need to activate the"},{"line_number":57,"context_line":"maintaining node manually(change the node\u0027s state from \"maintaining\" to"},{"line_number":58,"context_line":"\"enabled\" manually), to make the compute node rejoin into compute resource."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1f485f77_7ee9a37e","line":58,"range":{"start_line":56,"start_character":0,"end_line":58,"end_character":75},"in_reply_to":"3f4b6375_4d01b104","updated":"2017-11-10 06:55:55.000000000","message":"Command \"nova service-enable\".\nrefer to https://developer.openstack.org/api-ref/compute/#compute-services-os-services","commit_id":"9413f2bfe5969e0ce7aee3c44cc2d10037bcc220"}]}
