)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-05-15 15:16:37 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"extend-node-status"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Icc0ff3cb83c3aa8a0b42177da1fb1cd87436e6e3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f013ff3_c2c69217","line":8,"updated":"2017-05-15 08:26:47.000000000","message":"Could you add \"Implements: blueprint your-blueprint-name\" for traceability?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"}],"specs/pike/approved/extend-node-status.rst":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_42ae02e8","line":19,"range":{"start_line":18,"start_character":67,"end_line":19,"end_character":10},"updated":"2017-05-15 08:26:47.000000000","message":"Could you explain why new strategy needs extended node status?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_79ae50e8","line":19,"range":{"start_line":18,"start_character":67,"end_line":19,"end_character":10},"in_reply_to":"1f013ff3_42ae02e8","updated":"2017-09-26 09:00:16.000000000","message":"I will add a new strategy for cluster maintaning, which will need to extend node status. I will commit the spec lately.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"How to descript a compute node in maintaning status in CDM."},{"line_number":24,"context_line":"How to descript a compute node in poweroff status in CDM."},{"line_number":25,"context_line":"And so on."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_a20946de","line":23,"range":{"start_line":23,"start_character":55,"end_line":23,"end_character":59},"updated":"2017-05-15 08:26:47.000000000","message":"Could you make clear which data model, compute, baremetal or storage?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"How to descript a compute node in maintaning status in CDM."},{"line_number":24,"context_line":"How to descript a compute node in poweroff status in CDM."},{"line_number":25,"context_line":"And so on."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_02b8fa27","line":23,"updated":"2017-05-15 08:26:47.000000000","message":"Could you write as the following:\"As a strategy developer, I want to...\" ?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"How to descript a compute node in maintaning status in CDM."},{"line_number":24,"context_line":"How to descript a compute node in poweroff status in CDM."},{"line_number":25,"context_line":"And so on."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_c2833256","line":23,"range":{"start_line":23,"start_character":6,"end_line":23,"end_character":15},"updated":"2017-05-15 08:26:47.000000000","message":"describe?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"How to descript a compute node in maintaning status in CDM."},{"line_number":24,"context_line":"How to descript a compute node in poweroff status in CDM."},{"line_number":25,"context_line":"And so on."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_99afdc93","line":23,"range":{"start_line":23,"start_character":55,"end_line":23,"end_character":59},"in_reply_to":"1f013ff3_a20946de","updated":"2017-09-26 09:00:16.000000000","message":"thx,i will do it.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"How to descript a compute node in maintaning status in CDM."},{"line_number":24,"context_line":"How to descript a compute node in poweroff status in CDM."},{"line_number":25,"context_line":"And so on."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_22e3f607","line":24,"range":{"start_line":24,"start_character":53,"end_line":24,"end_character":56},"updated":"2017-05-15 08:26:47.000000000","message":"ditto","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":24,"context_line":"How to descript a compute node in poweroff status in CDM."},{"line_number":25,"context_line":"And so on."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Project Priority"},{"line_number":28,"context_line":"----------------"},{"line_number":29,"context_line":"None"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_42272214","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":16},"updated":"2017-05-15 08:26:47.000000000","message":"This section is remove in latest format.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"},{"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":"This blueprint allow to extend new node status in CDM for new strategies."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one node."},{"line_number":36,"context_line":"That is not enough for new strategies."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_02f0fac8","line":33,"range":{"start_line":33,"start_character":49,"end_line":33,"end_character":53},"updated":"2017-05-15 08:26:47.000000000","message":"ditto","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one node."},{"line_number":36,"context_line":"That is not enough for new strategies."},{"line_number":37,"context_line":"When a node is \"disabled\", we can use \"disabled_reason\"(prefix \"watcher_\")"},{"line_number":38,"context_line":"to show the specific status.For example, if a node is \"disabled\", and"},{"line_number":39,"context_line":"\"disabled_reason\" is \"watcher_disabled\", the node in the CDM is in \"disabled\""},{"line_number":40,"context_line":"status; if a node is \"disabled\", and \"disabled_reason\" is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_82276a65","line":37,"range":{"start_line":37,"start_character":38,"end_line":37,"end_character":55},"updated":"2017-05-15 08:26:47.000000000","message":"Where disabled_reason is come from?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one node."},{"line_number":36,"context_line":"That is not enough for new strategies."},{"line_number":37,"context_line":"When a node is \"disabled\", we can use \"disabled_reason\"(prefix \"watcher_\")"},{"line_number":38,"context_line":"to show the specific status.For example, if a node is \"disabled\", and"},{"line_number":39,"context_line":"\"disabled_reason\" is \"watcher_disabled\", the node in the CDM is in \"disabled\""},{"line_number":40,"context_line":"status; if a node is \"disabled\", and \"disabled_reason\" is"},{"line_number":41,"context_line":"\"watcher_maintaning\", the node in the CDM is in \"maintaning\" status; if a node"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_2294168b","line":38,"updated":"2017-05-15 08:26:47.000000000","message":"space is required.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":38,"context_line":"to show the specific status.For example, if a node is \"disabled\", and"},{"line_number":39,"context_line":"\"disabled_reason\" is \"watcher_disabled\", the node in the CDM is in \"disabled\""},{"line_number":40,"context_line":"status; if a node is \"disabled\", and \"disabled_reason\" is"},{"line_number":41,"context_line":"\"watcher_maintaning\", the node in the CDM is in \"maintaning\" status; if a node"},{"line_number":42,"context_line":"is \"disabled\", and \"disabled_reason\" is \"watcher_poweroff\", the node in the"},{"line_number":43,"context_line":"CDM is in \"poweroff\" status. If a node is \"disabled\", and \"disabled_reason\" is"},{"line_number":44,"context_line":"null, we remove it from CDM, because the administrator disable the compute"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_021b5a1b","line":41,"range":{"start_line":41,"start_character":8,"end_line":41,"end_character":19},"updated":"2017-05-15 08:26:47.000000000","message":"maintaining?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"to show the specific status.For example, if a node is \"disabled\", and"},{"line_number":39,"context_line":"\"disabled_reason\" is \"watcher_disabled\", the node in the CDM is in \"disabled\""},{"line_number":40,"context_line":"status; if a node is \"disabled\", and \"disabled_reason\" is"},{"line_number":41,"context_line":"\"watcher_maintaning\", the node in the CDM is in \"maintaning\" status; if a node"},{"line_number":42,"context_line":"is \"disabled\", and \"disabled_reason\" is \"watcher_poweroff\", the node in the"},{"line_number":43,"context_line":"CDM is in \"poweroff\" status. If a node is \"disabled\", and \"disabled_reason\" is"},{"line_number":44,"context_line":"null, we remove it from CDM, because the administrator disable the compute"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_396d6898","line":41,"range":{"start_line":41,"start_character":8,"end_line":41,"end_character":19},"in_reply_to":"1f013ff3_021b5a1b","updated":"2017-09-26 09:00:16.000000000","message":"yes, for a new strategy.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Data model impact"},{"line_number":54,"context_line":"-----------------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Yes, extend more status to desc the node status."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"REST API impact"},{"line_number":59,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_6288de1e","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":48},"updated":"2017-05-15 08:26:47.000000000","message":"If you will not extend database/database schema, this section is \"None\".","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Data model impact"},{"line_number":54,"context_line":"-----------------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Yes, extend more status to desc the node status."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"REST API impact"},{"line_number":59,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_79f890c3","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":48},"in_reply_to":"1f013ff3_6288de1e","updated":"2017-09-26 09:00:16.000000000","message":"ok,I misunderstood it.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Notifications impact"},{"line_number":68,"context_line":"--------------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Need to analyze the \"disabled_reason\" in payload when deal with"},{"line_number":71,"context_line":"\u0027service.update\u0027 notifications."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_2291b653","line":70,"range":{"start_line":70,"start_character":20,"end_line":70,"end_character":37},"updated":"2017-05-15 08:26:47.000000000","message":"I know nova service.update notification emits diabled_reason,\nbut cinder does not.\nCould you describe which OpenStack project like \"Nova \u0027service.update\u0027 notifications\"?","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Notifications impact"},{"line_number":68,"context_line":"--------------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Need to analyze the \"disabled_reason\" in payload when deal with"},{"line_number":71,"context_line":"\u0027service.update\u0027 notifications."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_d93204a8","line":70,"range":{"start_line":70,"start_character":20,"end_line":70,"end_character":37},"in_reply_to":"1f013ff3_2291b653","updated":"2017-09-26 09:00:16.000000000","message":"This is just nova.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Work Items"},{"line_number":103,"context_line":"----------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Dependencies"},{"line_number":106,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_22c89653","line":104,"updated":"2017-05-15 08:26:47.000000000","message":"Please write work items.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Dependencies"},{"line_number":106,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Testing"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_42a2829c","line":107,"updated":"2017-05-15 08:26:47.000000000","message":"If you extend baremetal CDM or cinder CDM, add those blueprints,please.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Dependencies"},{"line_number":106,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Testing"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_19c62c69","line":107,"in_reply_to":"1f013ff3_42a2829c","updated":"2017-09-26 09:00:16.000000000","message":"just extend compute CDM.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f0e7eb90da3fc3c30f1614172376db112ae3cd87","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Testing"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"None"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Documentation Impact"},{"line_number":114,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_02ac7a8a","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":4},"updated":"2017-05-15 08:26:47.000000000","message":"Please add or modify tests.","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Testing"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"None"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Documentation Impact"},{"line_number":114,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f013ff3_19ed0cef","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":4},"in_reply_to":"1f013ff3_02ac7a8a","updated":"2017-09-26 09:00:16.000000000","message":"ok","commit_id":"b88ad063780a75f67a9d8c93c67b1a528a083972"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"04186dfca13832cc18d1b86aebe6de7d73393dc6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies.Such as a new strategy for cluster-maintaning.."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_9377993b","line":19,"range":{"start_line":19,"start_character":56,"end_line":19,"end_character":58},"updated":"2017-05-16 10:00:04.000000000","message":".","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"04186dfca13832cc18d1b86aebe6de7d73393dc6","unresolved":false,"context_lines":[{"line_number":29,"context_line":"This blueprint allow to extend new node status in compute CDM for new"},{"line_number":30,"context_line":"strategies."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":33,"context_line":"node. That is not enough for new strategies."},{"line_number":34,"context_line":"When a compute node is \"disabled\", we can use \"disabled_reason\"(prefix"},{"line_number":35,"context_line":"\"watcher_\") to show the specific status."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_1399496d","line":32,"range":{"start_line":32,"start_character":55,"end_line":32,"end_character":63},"updated":"2017-05-16 10:00:04.000000000","message":"describe","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"04186dfca13832cc18d1b86aebe6de7d73393dc6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"For example:"},{"line_number":37,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":38,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":39,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknow reason,,"},{"line_number":40,"context_line":"we remove it from compute CDM, because the administrator disable the"},{"line_number":41,"context_line":"compute node for a privately reason, we need\u0027t optim it."},{"line_number":42,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_d3cbe150","line":39,"range":{"start_line":39,"start_character":71,"end_line":39,"end_character":73},"updated":"2017-05-16 10:00:04.000000000","message":",","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"04186dfca13832cc18d1b86aebe6de7d73393dc6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"For example:"},{"line_number":37,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":38,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":39,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknow reason,,"},{"line_number":40,"context_line":"we remove it from compute CDM, because the administrator disable the"},{"line_number":41,"context_line":"compute node for a privately reason, we need\u0027t optim it."},{"line_number":42,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_13b269e7","line":39,"range":{"start_line":39,"start_character":58,"end_line":39,"end_character":64},"updated":"2017-05-16 10:00:04.000000000","message":"unknown","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"04186dfca13832cc18d1b86aebe6de7d73393dc6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":38,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":39,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknow reason,,"},{"line_number":40,"context_line":"we remove it from compute CDM, because the administrator disable the"},{"line_number":41,"context_line":"compute node for a privately reason, we need\u0027t optim it."},{"line_number":42,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":43,"context_line":"the node in the compute CDM is in \"maintaning\" status."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_73f08d91","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":29},"updated":"2017-05-16 10:00:04.000000000","message":"IMHO, we should enhance the CDM to show the reason but instead of removing the node if the disable_reason is \"watcher_maintaining\", we should let the strategy make the correlation between the 2 attributes.","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"d14bfcc6885dd7525ea518c0b48e37113ace679f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":38,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":39,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknow reason,,"},{"line_number":40,"context_line":"we remove it from compute CDM, because the administrator disable the"},{"line_number":41,"context_line":"compute node for a privately reason, we need\u0027t optim it."},{"line_number":42,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":43,"context_line":"the node in the compute CDM is in \"maintaning\" status."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_1f3ca891","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":29},"in_reply_to":"1f013ff3_73f08d91","updated":"2017-05-16 12:16:40.000000000","message":"\"watcher_maintaining\" is specific for cluster_maintaning strategy, and we donn\u0027t remove the miantaning node, just set the node status \"maintaning\" in the compute CDM.\nWe only remove the node disabled for private or unknown purpose. For example, the administrator disabled the node instead not by watcher, we should remove the node from CDM, to avoid potential problem.","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"04186dfca13832cc18d1b86aebe6de7d73393dc6","unresolved":false,"context_lines":[{"line_number":39,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknow reason,,"},{"line_number":40,"context_line":"we remove it from compute CDM, because the administrator disable the"},{"line_number":41,"context_line":"compute node for a privately reason, we need\u0027t optim it."},{"line_number":42,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":43,"context_line":"the node in the compute CDM is in \"maintaning\" status."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_73c2cd35","line":42,"range":{"start_line":42,"start_character":51,"end_line":42,"end_character":69},"updated":"2017-05-16 10:00:04.000000000","message":"watcher_maintaining","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"d14bfcc6885dd7525ea518c0b48e37113ace679f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknow reason,,"},{"line_number":40,"context_line":"we remove it from compute CDM, because the administrator disable the"},{"line_number":41,"context_line":"compute node for a privately reason, we need\u0027t optim it."},{"line_number":42,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":43,"context_line":"the node in the compute CDM is in \"maintaning\" status."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_5f18f01b","line":42,"range":{"start_line":42,"start_character":51,"end_line":42,"end_character":69},"in_reply_to":"1f013ff3_73c2cd35","updated":"2017-05-16 12:16:40.000000000","message":"not spell problem, the same meaning.","commit_id":"8f3899c06ad3e8d3cecc1167237bff9a3c1b8951"},{"author":{"_account_id":21984,"name":"Michael Qiu","email":"qdy220091330@gmail.com"},"change_message_id":"5f389d04809b429af10c8767e9fcb2eec0922d64","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies.Such as a new strategy for cluster-maintaning."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_1aee3d88","line":19,"range":{"start_line":19,"start_character":21,"end_line":19,"end_character":56},"updated":"2017-05-17 11:27:19.000000000","message":"Better to share the link or any docs about this strategy","commit_id":"0d6261bad1c6e28d762195f03fd8338705747a14"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"28fbc07012faecec4d7ebb5a937b96298a412b88","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies.Such as a new strategy for cluster-maintaning."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_fd494332","line":19,"range":{"start_line":19,"start_character":21,"end_line":19,"end_character":56},"in_reply_to":"ff0f0b1f_1aee3d88","updated":"2017-05-17 11:36:45.000000000","message":"ok","commit_id":"0d6261bad1c6e28d762195f03fd8338705747a14"},{"author":{"_account_id":21984,"name":"Michael Qiu","email":"qdy220091330@gmail.com"},"change_message_id":"5f389d04809b429af10c8767e9fcb2eec0922d64","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Now we just use for words(up/down/enabled/disabled) to describe one compute"},{"line_number":33,"context_line":"node. That is not enough for new strategies."},{"line_number":34,"context_line":"When a compute node is \"disabled\", we can use \"disabled_reason\"(prefix"},{"line_number":35,"context_line":"\"watcher_\") to show the specific status."},{"line_number":36,"context_line":"For example:"},{"line_number":37,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":38,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_da20c5b3","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":40},"updated":"2017-05-17 11:27:19.000000000","message":"Do you want to add this in status? If so please narrow down the exactly reasons here, and explain the details about each reason.\n\nAlso, who could design or add a new reason with prefix \"watcher_\"?","commit_id":"0d6261bad1c6e28d762195f03fd8338705747a14"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"28fbc07012faecec4d7ebb5a937b96298a412b88","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Now we just use for words(up/down/enabled/disabled) to describe one compute"},{"line_number":33,"context_line":"node. That is not enough for new strategies."},{"line_number":34,"context_line":"When a compute node is \"disabled\", we can use \"disabled_reason\"(prefix"},{"line_number":35,"context_line":"\"watcher_\") to show the specific status."},{"line_number":36,"context_line":"For example:"},{"line_number":37,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":38,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_fdf703d4","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":40},"in_reply_to":"ff0f0b1f_da20c5b3","updated":"2017-05-17 11:36:45.000000000","message":"I will show the details.","commit_id":"0d6261bad1c6e28d762195f03fd8338705747a14"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies. Such as a new strategy for cluster-maintaning."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_b5e9e2e6","line":19,"range":{"start_line":19,"start_character":47,"end_line":19,"end_character":57},"updated":"2017-05-24 00:49:49.000000000","message":"maintaining","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies. Such as a new strategy for cluster-maintaning."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Use Cases"},{"line_number":22,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_5f97153b","line":19,"range":{"start_line":19,"start_character":47,"end_line":19,"end_character":57},"in_reply_to":"ff0f0b1f_b5e9e2e6","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"As an OpenStack administrator or user, I want to describe a compute node"},{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for diffrent purposes in compute CDM."},{"line_number":27,"context_line":"And so on."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_35bf12d2","line":25,"updated":"2017-05-24 00:49:49.000000000","message":"Could you add blank line?","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":22,"context_line":"---------"},{"line_number":23,"context_line":"As an OpenStack administrator or user, I want to describe a compute node"},{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for diffrent purposes in compute CDM."},{"line_number":27,"context_line":"And so on."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_1fa51da2","line":25,"in_reply_to":"ff0f0b1f_35bf12d2","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9d19d8b5ff868ec948418d3d76d827e7ce7724d8","unresolved":false,"context_lines":[{"line_number":23,"context_line":"As an OpenStack administrator or user, I want to describe a compute node"},{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for diffrent purposes in compute CDM."},{"line_number":27,"context_line":"And so on."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_1c21d29f","line":26,"range":{"start_line":26,"start_character":13,"end_line":26,"end_character":21},"updated":"2017-05-24 06:14:56.000000000","message":"different","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":23,"context_line":"As an OpenStack administrator or user, I want to describe a compute node"},{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for diffrent purposes in compute CDM."},{"line_number":27,"context_line":"And so on."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_dfaa056f","line":26,"range":{"start_line":26,"start_character":13,"end_line":26,"end_character":21},"in_reply_to":"ff0f0b1f_1c21d29f","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for diffrent purposes in compute CDM."},{"line_number":27,"context_line":"And so on."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"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":6,"id":"ff0f0b1f_35a4b2b9","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":10},"updated":"2017-05-24 00:49:49.000000000","message":"Could you add other use cases if you have ones?","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for diffrent purposes in compute CDM."},{"line_number":27,"context_line":"And so on."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"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":6,"id":"ff0f0b1f_bfd3d100","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":10},"in_reply_to":"ff0f0b1f_35a4b2b9","updated":"2017-05-25 07:11:32.000000000","message":"Useful to this commit, about bp/cluster-maintaining\nhttps://github.com/sue-fly/watcher/commit/809fe85b41fb53ff971160b8c91142945ed67590\n \nand useful to bp/power-saving under development.\n\nI will  implement cluster-maintaining to master branch after this bp been received.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9d19d8b5ff868ec948418d3d76d827e7ce7724d8","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"This blueprint allows to extend new node status in compute CDM for new"},{"line_number":32,"context_line":"strategies."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_bc39c6d7","line":31,"range":{"start_line":31,"start_character":22,"end_line":31,"end_character":31},"updated":"2017-05-24 06:14:56.000000000","message":"extending","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"This blueprint allows to extend new node status in compute CDM for new"},{"line_number":32,"context_line":"strategies."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_5ffef56a","line":31,"range":{"start_line":31,"start_character":22,"end_line":31,"end_character":31},"in_reply_to":"ff0f0b1f_bc39c6d7","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"This blueprint allows to extend new node status in compute CDM for new"},{"line_number":32,"context_line":"strategies."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":35,"context_line":"node. That is not enough for new strategies."},{"line_number":36,"context_line":"Prospective node status:"},{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_15376e01","line":34,"range":{"start_line":34,"start_character":16,"end_line":34,"end_character":26},"updated":"2017-05-24 00:49:49.000000000","message":"We use two words for status: enabled or disabled.\nWe use two words for state: up or down.\nhttps://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/element/node.py","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":31,"context_line":"This blueprint allows to extend new node status in compute CDM for new"},{"line_number":32,"context_line":"strategies."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":35,"context_line":"node. That is not enough for new strategies."},{"line_number":36,"context_line":"Prospective node status:"},{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_e233ecf4","line":34,"range":{"start_line":34,"start_character":16,"end_line":34,"end_character":26},"in_reply_to":"ff0f0b1f_15376e01","updated":"2017-05-25 07:11:32.000000000","message":"yes, but not enough for future.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"cdcfbdf35477a00bc16caf523d4689d155d13c40","unresolved":false,"context_lines":[{"line_number":31,"context_line":"This blueprint allows to extend new node status in compute CDM for new"},{"line_number":32,"context_line":"strategies."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":35,"context_line":"node. That is not enough for new strategies."},{"line_number":36,"context_line":"Prospective node status:"},{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f201791_4c756d63","line":34,"range":{"start_line":34,"start_character":16,"end_line":34,"end_character":26},"in_reply_to":"ff0f0b1f_e233ecf4","updated":"2017-10-25 08:20:18.000000000","message":"status and state is different.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":35,"context_line":"node. That is not enough for new strategies."},{"line_number":36,"context_line":"Prospective node status:"},{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_35095295","line":36,"range":{"start_line":36,"start_character":17,"end_line":36,"end_character":24},"updated":"2017-05-24 00:49:49.000000000","message":"Could you itemize statuses?","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":35,"context_line":"node. That is not enough for new strategies."},{"line_number":36,"context_line":"Prospective node status:"},{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_9f16cda7","line":36,"range":{"start_line":36,"start_character":17,"end_line":36,"end_character":24},"in_reply_to":"ff0f0b1f_35095295","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_752d8aa6","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":55},"updated":"2017-05-24 00:49:49.000000000","message":"\u0027disabled\u0027 is already used.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":37,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_3f0fc188","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":55},"in_reply_to":"ff0f0b1f_752d8aa6","updated":"2017-05-25 07:11:32.000000000","message":"yes, but a little different.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_182e8591","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":63},"updated":"2017-05-24 00:49:49.000000000","message":"Do you want to add unknown and maintaining?\nI found Nova host maintenance mode:https://blueprints.launchpad.net/nova/+spec/host-maintenance-mode.\nDo you want to take this bp into account?","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9d19d8b5ff868ec948418d3d76d827e7ce7724d8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_fccdfeb6","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":10},"updated":"2017-05-24 06:14:56.000000000","message":"MAITAINING\u003d\u0027maintaining\u0027","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"8cce90e32f6faabbe99f9095400fd2f4b3515bc5","unresolved":false,"context_lines":[{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_0d107aa7","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":62},"updated":"2017-05-24 08:23:55.000000000","message":"There are some confusion, maybe add a new filed \u0027disabled_reason\u0027 is better.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":38,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_dfe205a0","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":63},"in_reply_to":"ff0f0b1f_182e8591","updated":"2017-05-25 07:11:32.000000000","message":"yes.It lasts a long time and has not been finished util now.\nI think it\u0027s better to have watcher to do it.\nAnd I have developed it and want to port this code to watcher master branch.\nrefer:\nhttps://github.com/sue-fly/watcher/commit/809fe85b41fb53ff971160b8c91142945ed67590","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":39,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":40,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":41,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_1f2abdd9","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":10},"in_reply_to":"ff0f0b1f_fccdfeb6","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":46,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":47,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":48,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_38eca928","line":45,"range":{"start_line":45,"start_character":29,"end_line":45,"end_character":46},"updated":"2017-05-24 00:49:49.000000000","message":"Could you explain when and how we add this prefix?","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":42,"context_line":"MAINTANING \u003d \u0027maintaning \u0027# compute node disabled for maintance"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":46,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":47,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":48,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_9f1c8d78","line":45,"range":{"start_line":45,"start_character":29,"end_line":45,"end_character":46},"in_reply_to":"ff0f0b1f_38eca928","updated":"2017-05-25 07:11:32.000000000","message":"When watcher use nova api to disable one compute node, the disabled_reason with this prefix will show specific reason.\nSo it would separate from administator and other services.\nMore like memory， who alloc who release. As to compute nodes,\nwho disable them, who active them.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9d19d8b5ff868ec948418d3d76d827e7ce7724d8","unresolved":false,"context_lines":[{"line_number":48,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":49,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknown reason,"},{"line_number":50,"context_line":"the node in the compute CDM is in \"unknown\" status."},{"line_number":51,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":52,"context_line":"the node in the compute CDM is in \"maintaning\" status."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_dc435a41","line":51,"range":{"start_line":51,"start_character":59,"end_line":51,"end_character":69},"updated":"2017-05-24 06:14:56.000000000","message":"maintaining","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":48,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":49,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknown reason,"},{"line_number":50,"context_line":"the node in the compute CDM is in \"unknown\" status."},{"line_number":51,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":52,"context_line":"the node in the compute CDM is in \"maintaning\" status."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_5f127563","line":51,"range":{"start_line":51,"start_character":59,"end_line":51,"end_character":69},"in_reply_to":"ff0f0b1f_dc435a41","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"9d19d8b5ff868ec948418d3d76d827e7ce7724d8","unresolved":false,"context_lines":[{"line_number":49,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknown reason,"},{"line_number":50,"context_line":"the node in the compute CDM is in \"unknown\" status."},{"line_number":51,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":52,"context_line":"the node in the compute CDM is in \"maintaning\" status."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_dc4d9a3e","line":52,"range":{"start_line":52,"start_character":34,"end_line":52,"end_character":45},"updated":"2017-05-24 06:14:56.000000000","message":"ditto","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":49,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknown reason,"},{"line_number":50,"context_line":"the node in the compute CDM is in \"unknown\" status."},{"line_number":51,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_maintaning\","},{"line_number":52,"context_line":"the node in the compute CDM is in \"maintaning\" status."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_bf007103","line":52,"range":{"start_line":52,"start_character":34,"end_line":52,"end_character":45},"in_reply_to":"ff0f0b1f_dc4d9a3e","updated":"2017-05-25 07:11:32.000000000","message":"ok","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Work Items"},{"line_number":111,"context_line":"----------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Dependencies"},{"line_number":114,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_18d8c578","line":112,"updated":"2017-05-24 00:49:49.000000000","message":"We will work.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Documentation Impact"},{"line_number":122,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"None"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"References"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_f83f5184","line":124,"range":{"start_line":124,"start_character":0,"end_line":124,"end_character":4},"updated":"2017-05-24 00:49:49.000000000","message":"We will update some document.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"578a47817fe8e5583b32eab0e839bce9dc1863f8","unresolved":false,"context_lines":[{"line_number":126,"context_line":"References"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"History"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_186685c2","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":4},"updated":"2017-05-24 00:49:49.000000000","message":"Could you add \u0027new strategy\u0027 which needs this spec?","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8059c5b0c35ea67ed2512eb9ea8ed57bd373a08","unresolved":false,"context_lines":[{"line_number":126,"context_line":"References"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"History"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff0f0b1f_4223b8a7","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":4},"in_reply_to":"ff0f0b1f_186685c2","updated":"2017-05-25 07:11:32.000000000","message":"bp/cluster-maintaining.\nbp/power-saving in development.","commit_id":"b156783cde19ae13eff4988d7944ee75b0aec9fb"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"c79d02a5dbab3428ba482af2671d6f47d46a6d8f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for different purposes in compute CDM."},{"line_number":27,"context_line":"As an OpenStack administrator or developer, I want to discript the compute"},{"line_number":28,"context_line":"nodes disabled for maintaining in compute CDM."},{"line_number":29,"context_line":"And so on."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1f1a1f67_afbdedb7","line":27,"updated":"2017-10-25 08:24:26.000000000","message":"s/disc","commit_id":"05261fc2c96e3e8a43f4c7bec784470ad9c14893"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"955783eaabbca3296522aadb1e26c8ba570a3f07","unresolved":false,"context_lines":[{"line_number":40,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":41,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":42,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":43,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":44,"context_line":"MAINTAINING \u003d \u0027maintaining \u0027# compute node disabled for maintaining"},{"line_number":45,"context_line":"POWEROFF \u003d \u0027poweroff\u0027  #compute node disable for poweroff"},{"line_number":46,"context_line":"When a compute node in \u0027maintaining\u0027 or \u0027unknown\u0027 status, it wouldn\u0027t allow"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f231b9d_f7fe3a69","line":43,"range":{"start_line":43,"start_character":11,"end_line":43,"end_character":18},"updated":"2017-06-16 09:28:56.000000000","message":"IMHO it is littile confusing, unknown can mean, the node status is not known.","commit_id":"05261fc2c96e3e8a43f4c7bec784470ad9c14893"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"d89a0f9ac46c2ba2cf62fdb339bc14378baeccda","unresolved":false,"context_lines":[{"line_number":40,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":41,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":42,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":43,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":44,"context_line":"MAINTAINING \u003d \u0027maintaining \u0027# compute node disabled for maintaining"},{"line_number":45,"context_line":"POWEROFF \u003d \u0027poweroff\u0027  #compute node disable for poweroff"},{"line_number":46,"context_line":"When a compute node in \u0027maintaining\u0027 or \u0027unknown\u0027 status, it wouldn\u0027t allow"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f231b9d_c8a374b1","line":43,"range":{"start_line":43,"start_character":11,"end_line":43,"end_character":18},"in_reply_to":"7f231b9d_f7fe3a69","updated":"2017-06-19 08:51:30.000000000","message":"nova-compute service status is \u0027disabled\u0027, but the reason is just unkown to watcher. For example, the compute nodes disabled not by watcher, should they be selected by watcher for future migration of servers? If so, there may be some conflict.\nSo, it\u0027s better to exclude the \u0027unknown\u0027 nodes when every audit.","commit_id":"05261fc2c96e3e8a43f4c7bec784470ad9c14893"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"955783eaabbca3296522aadb1e26c8ba570a3f07","unresolved":false,"context_lines":[{"line_number":47,"context_line":"VMs to migrate in."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":51,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":52,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":53,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f231b9d_d747be76","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":27},"updated":"2017-06-16 09:28:56.000000000","message":"suggestion, use disabled_reason or status reason is better then extending node status, IMHO only using status_reason with status will work.","commit_id":"05261fc2c96e3e8a43f4c7bec784470ad9c14893"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"d89a0f9ac46c2ba2cf62fdb339bc14378baeccda","unresolved":false,"context_lines":[{"line_number":47,"context_line":"VMs to migrate in."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":51,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":52,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":53,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f231b9d_e8c2b052","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":27},"in_reply_to":"7f231b9d_d747be76","updated":"2017-06-19 08:51:30.000000000","message":"IMHO, it is just another way to solve this problem, complex and not obvious.","commit_id":"05261fc2c96e3e8a43f4c7bec784470ad9c14893"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"cdcfbdf35477a00bc16caf523d4689d155d13c40","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":37,"context_line":"node. That is not enough for new strategies."},{"line_number":38,"context_line":"Prospective node status:"},{"line_number":39,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":40,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":41,"context_line":"ENABLED \u003d \u0027enabled\u0027"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f201791_2c3d912a","line":38,"range":{"start_line":38,"start_character":17,"end_line":38,"end_character":23},"updated":"2017-10-25 08:20:18.000000000","message":"As I commented, status and state are different:\nhttps://github.com/openstack/watcher/blob/master/watcher/decision_engine/model/element/node.py#L37-L38\n\nCurrent status is only enabled or disabled.","commit_id":"08cbd5c970e19d07da6303eef91ee78ae46b6393"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"cdcfbdf35477a00bc16caf523d4689d155d13c40","unresolved":false,"context_lines":[{"line_number":45,"context_line":"POWEROFF \u003d \u0027poweroff\u0027# compute node disabled and power-off by watcher"},{"line_number":46,"context_line":"POWERON \u003d \u0027poweron\u0027# compute node disabled and power-on by watcher"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"A node state must change in order:"},{"line_number":49,"context_line":"1)workload_balancing/thermal_optimization/airflow_optimization react"},{"line_number":50,"context_line":"  on enabled nodes. They won\u0027t change nodes\u0027 state."},{"line_number":51,"context_line":"2)server_consolidation react on enabled or disabled nodes. They will"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f201791_e0e0bd28","line":48,"range":{"start_line":48,"start_character":24,"end_line":48,"end_character":33},"updated":"2017-10-25 08:20:18.000000000","message":"This means all strategy executed the following order?","commit_id":"08cbd5c970e19d07da6303eef91ee78ae46b6393"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"cdcfbdf35477a00bc16caf523d4689d155d13c40","unresolved":false,"context_lines":[{"line_number":46,"context_line":"POWERON \u003d \u0027poweron\u0027# compute node disabled and power-on by watcher"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"A node state must change in order:"},{"line_number":49,"context_line":"1)workload_balancing/thermal_optimization/airflow_optimization react"},{"line_number":50,"context_line":"  on enabled nodes. They won\u0027t change nodes\u0027 state."},{"line_number":51,"context_line":"2)server_consolidation react on enabled or disabled nodes. They will"},{"line_number":52,"context_line":"  disable unused nodes, or enable disabled nodes."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f201791_ccf17d6d","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":2},"updated":"2017-10-25 08:20:18.000000000","message":"Is this change? I propose current strategy won\u0027t change.","commit_id":"08cbd5c970e19d07da6303eef91ee78ae46b6393"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"cdcfbdf35477a00bc16caf523d4689d155d13c40","unresolved":false,"context_lines":[{"line_number":48,"context_line":"A node state must change in order:"},{"line_number":49,"context_line":"1)workload_balancing/thermal_optimization/airflow_optimization react"},{"line_number":50,"context_line":"  on enabled nodes. They won\u0027t change nodes\u0027 state."},{"line_number":51,"context_line":"2)server_consolidation react on enabled or disabled nodes. They will"},{"line_number":52,"context_line":"  disable unused nodes, or enable disabled nodes."},{"line_number":53,"context_line":"3)power_saving react on unused nodes(disabled by server_consolidation)."},{"line_number":54,"context_line":"  According to the rules,it power-off or power-on the nodes."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f201791_acf64162","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":2},"updated":"2017-10-25 08:20:18.000000000","message":"ditto","commit_id":"08cbd5c970e19d07da6303eef91ee78ae46b6393"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"2d16898168be225ec95eb4970e83a0351edd7eb7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for different purposes in compute CDM."},{"line_number":27,"context_line":"As an OpenStack administrator or developer, I want to discript the compute"},{"line_number":28,"context_line":"nodes disabled for maintaining in compute CDM."},{"line_number":29,"context_line":"And so on."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_12b7663c","line":27,"range":{"start_line":27,"start_character":54,"end_line":27,"end_character":62},"updated":"2017-07-19 10:10:04.000000000","message":"describe?","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"262005a1eb95fe1b0ad0abd33ae6005c86a29cb7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for different purposes in compute CDM."},{"line_number":27,"context_line":"As an OpenStack administrator or developer, I want to discript the compute"},{"line_number":28,"context_line":"nodes disabled for maintaining in compute CDM."},{"line_number":29,"context_line":"And so on."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_afe28dd3","line":27,"updated":"2017-07-19 09:48:14.000000000","message":"s/discript/discriminate","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"17a4362cc6364fffb0e1deeef06de21f77f1db6a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"which is in a new status in compute CDM."},{"line_number":25,"context_line":"As an OpenStack administrator or user, I want to distinguish the compute nodes"},{"line_number":26,"context_line":"disabled for different purposes in compute CDM."},{"line_number":27,"context_line":"As an OpenStack administrator or developer, I want to discript the compute"},{"line_number":28,"context_line":"nodes disabled for maintaining in compute CDM."},{"line_number":29,"context_line":"And so on."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_93a7dca8","line":27,"range":{"start_line":27,"start_character":54,"end_line":27,"end_character":62},"in_reply_to":"1f1a1f67_12b7663c","updated":"2017-07-20 04:49:33.000000000","message":"describe","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"262005a1eb95fe1b0ad0abd33ae6005c86a29cb7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":37,"context_line":"node. That is not enough for new strategies."},{"line_number":38,"context_line":"Prospective node status:"},{"line_number":39,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":40,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":41,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":42,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_cf65c91f","line":39,"updated":"2017-07-19 09:48:14.000000000","message":"Please state what is the difference between ONLINE and, ENABLED state.","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"17a4362cc6364fffb0e1deeef06de21f77f1db6a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Now we just use four words(up/down/enabled/disabled) to describe one compute"},{"line_number":37,"context_line":"node. That is not enough for new strategies."},{"line_number":38,"context_line":"Prospective node status:"},{"line_number":39,"context_line":"ONLINE \u003d \u0027up\u0027"},{"line_number":40,"context_line":"OFFLINE \u003d \u0027down\u0027"},{"line_number":41,"context_line":"ENABLED \u003d \u0027enabled\u0027"},{"line_number":42,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_f67b9e26","line":39,"in_reply_to":"1f1a1f67_cf65c91f","updated":"2017-07-20 04:49:33.000000000","message":"ONLINE means the nova-compute service is up, and connect to controller.\nENABLED/DISABLED is a stamp for the nova-compute node, it means whether new instances can scheduler into this node.","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"2d16898168be225ec95eb4970e83a0351edd7eb7","unresolved":false,"context_lines":[{"line_number":42,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":43,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":44,"context_line":"MAINTAINING \u003d \u0027maintaining \u0027# compute node disabled for maintaining"},{"line_number":45,"context_line":"POWEROFF \u003d \u0027poweroff\u0027# compute node disabled and power-off by watcher"},{"line_number":46,"context_line":"POWERON \u003d \u0027poweron\u0027# compute node disabled and power-on by watcher"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"A node state must change in order:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_d2168ea8","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":66},"updated":"2017-07-19 10:10:04.000000000","message":"IMHO, if \"poweroff\" and \"poweron\" are used to describe compute node (disabled, power-off) and (disabled, power-on) respectively, then there should also be two states to describe compute node (enabled, power-off) and (enabled, power-on).","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"17a4362cc6364fffb0e1deeef06de21f77f1db6a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"DISABLED \u003d \u0027disabled\u0027# compute node disabled by watcher"},{"line_number":43,"context_line":"UNKNOWN \u003d \u0027unknown\u0027\u0027# compute node disabled for unknown reason"},{"line_number":44,"context_line":"MAINTAINING \u003d \u0027maintaining \u0027# compute node disabled for maintaining"},{"line_number":45,"context_line":"POWEROFF \u003d \u0027poweroff\u0027# compute node disabled and power-off by watcher"},{"line_number":46,"context_line":"POWERON \u003d \u0027poweron\u0027# compute node disabled and power-on by watcher"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"A node state must change in order:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_f6f71e8c","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":66},"in_reply_to":"1f1a1f67_d2168ea8","updated":"2017-07-20 04:49:33.000000000","message":"No. Refer to 3) below, power_saving react on unused nodes(disabled by server_consolidation).There should not be compute node (enabled, power-off) and (enabled, power-on). If we restrict existing strategies to their own default scope, Eventhough there will be such nodes, no strategy will react to them.","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"262005a1eb95fe1b0ad0abd33ae6005c86a29cb7","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  into \u0027maintaining\u0027 state, after all instances evacuate."},{"line_number":61,"context_line":"  A \u0027maintaining\u0027 node won\u0027t rejion the cluster resource until the"},{"line_number":62,"context_line":"  administrator active it manually."},{"line_number":63,"context_line":"When a compute node in other states intead of \u0027enabled\u0027 and \u0027disabled\u0027,"},{"line_number":64,"context_line":"it wouldn\u0027t allow VMs to migrate in."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Because diffrent strategy react on diffrent node scope, so extending"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_cff26970","line":63,"range":{"start_line":63,"start_character":36,"end_line":63,"end_character":42},"updated":"2017-07-19 09:48:14.000000000","message":"s/intead/instead","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"17a4362cc6364fffb0e1deeef06de21f77f1db6a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  into \u0027maintaining\u0027 state, after all instances evacuate."},{"line_number":61,"context_line":"  A \u0027maintaining\u0027 node won\u0027t rejion the cluster resource until the"},{"line_number":62,"context_line":"  administrator active it manually."},{"line_number":63,"context_line":"When a compute node in other states intead of \u0027enabled\u0027 and \u0027disabled\u0027,"},{"line_number":64,"context_line":"it wouldn\u0027t allow VMs to migrate in."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Because diffrent strategy react on diffrent node scope, so extending"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_96eeaab2","line":63,"range":{"start_line":63,"start_character":36,"end_line":63,"end_character":42},"in_reply_to":"1f1a1f67_cff26970","updated":"2017-07-20 04:49:33.000000000","message":"yes","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"262005a1eb95fe1b0ad0abd33ae6005c86a29cb7","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  A \u0027maintaining\u0027 node won\u0027t rejion the cluster resource until the"},{"line_number":62,"context_line":"  administrator active it manually."},{"line_number":63,"context_line":"When a compute node in other states intead of \u0027enabled\u0027 and \u0027disabled\u0027,"},{"line_number":64,"context_line":"it wouldn\u0027t allow VMs to migrate in."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Because diffrent strategy react on diffrent node scope, so extending"},{"line_number":67,"context_line":"node state in compute CDM is necessary."}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_4f8bf9c1","line":64,"updated":"2017-07-19 09:48:14.000000000","message":"even if the compute node is in OFFLINE/ONLINE state it won\u0027t allow VM to migrate??","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"17a4362cc6364fffb0e1deeef06de21f77f1db6a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  A \u0027maintaining\u0027 node won\u0027t rejion the cluster resource until the"},{"line_number":62,"context_line":"  administrator active it manually."},{"line_number":63,"context_line":"When a compute node in other states intead of \u0027enabled\u0027 and \u0027disabled\u0027,"},{"line_number":64,"context_line":"it wouldn\u0027t allow VMs to migrate in."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Because diffrent strategy react on diffrent node scope, so extending"},{"line_number":67,"context_line":"node state in compute CDM is necessary."}],"source_content_type":"text/x-rst","patch_set":12,"id":"1f1a1f67_f6539e6b","line":64,"in_reply_to":"1f1a1f67_4f8bf9c1","updated":"2017-07-20 04:49:33.000000000","message":"yes.","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"ff8fea7ad03dedbf86eeb1ebc13d076d23987550","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Because diffrent strategy react on diffrent node scope, so extending"},{"line_number":67,"context_line":"node state in compute CDM is necessary."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":70,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":71,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":72,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":12,"id":"df3967d1_04c2ffe9","line":69,"range":{"start_line":69,"start_character":12,"end_line":69,"end_character":47},"updated":"2017-08-02 07:39:00.000000000","message":"Is disabled_reason new element in compute CDM or column we can get vi nova-api?","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"23c5364194f541bb5d93f1e2664972a783573d8b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Because diffrent strategy react on diffrent node scope, so extending"},{"line_number":67,"context_line":"node state in compute CDM is necessary."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":70,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":71,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":72,"context_line":"the node in the compute CDM is in \"disabled\" status."}],"source_content_type":"text/x-rst","patch_set":12,"id":"df3967d1_a7f9f5c8","line":69,"range":{"start_line":69,"start_character":12,"end_line":69,"end_character":47},"in_reply_to":"df3967d1_04c2ffe9","updated":"2017-08-02 10:41:05.000000000","message":"we can get disabled_reason via nova-api. It is not new element in compute CDM, but we extend node state based on it, and specify the node is disabled by watcher.","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"ff8fea7ad03dedbf86eeb1ebc13d076d23987550","unresolved":false,"context_lines":[{"line_number":67,"context_line":"node state in compute CDM is necessary."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":70,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":71,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":72,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":73,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknown reason,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df3967d1_c4175751","line":70,"range":{"start_line":70,"start_character":31,"end_line":70,"end_character":77},"updated":"2017-08-02 07:39:00.000000000","message":"CDM represents physical and logical layer condition as is.\nWe should not change it\u0027s value by other means.","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"23c5364194f541bb5d93f1e2664972a783573d8b","unresolved":false,"context_lines":[{"line_number":67,"context_line":"node state in compute CDM is necessary."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"We can use \"disabled_reason\"(prefix \"watcher_\") to show the specific reason"},{"line_number":70,"context_line":"to disabled compute nodes, and distinguish them when building the compute CDM."},{"line_number":71,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is \"watcher_disabled\","},{"line_number":72,"context_line":"the node in the compute CDM is in \"disabled\" status."},{"line_number":73,"context_line":"If a node is \"disabled\", and \"disabled_reason\" is null or unknown reason,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df3967d1_56c0b87b","line":70,"range":{"start_line":70,"start_character":31,"end_line":70,"end_character":77},"in_reply_to":"df3967d1_c4175751","updated":"2017-08-02 10:41:05.000000000","message":"It does\u0027t change the compute CDM, just improved for new strategies.\nThis spec is mostly a proposal. You could see how it is useful\nfor power_saving and cluster_maintaining.Please refer to\nhttps://github.com/sue-fly/watcher/commits/master","commit_id":"2333285a123043e766ef9ba4091d8bf0d863f8ea"}],"specs/queens/approved/extend-node-status.rst":[{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"69bdbe59bacc297ae1416f6b0f72802851f2ee92","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix \"watcher_\")"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"},{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."}],"source_content_type":"text/x-rst","patch_set":17,"id":"9f436f4f_dff05e6a","line":43,"range":{"start_line":43,"start_character":65,"end_line":43,"end_character":75},"updated":"2017-08-10 09:11:22.000000000","message":"s/\"watcher_\"/`watcher_`","commit_id":"074722ef847422cefbd21b5d8974ee56a9501f5d"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"c31cd150356074d8af833a1fd46c110b21e1b9ca","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"},{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies."},{"line_number":20,"context_line":"Moreover, there are some potential problems in usage. For example, activated"},{"line_number":21,"context_line":"one compute node which is not disabled not by watcher, it will conflict."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_0f8b1a6e","line":21,"range":{"start_line":16,"start_character":0,"end_line":21,"end_character":72},"updated":"2017-08-28 01:58:01.000000000","message":"Please explain \"potential problem\" in detail, not \"For example\".\n\nI understand the problem as the following:\n\nOperator changes Nova service status for maintaining compute nodes. Watcher also does for optimizing compute nodes.\n\nWatcher can not distinguish compute node being disabled for maintenance from that for optimizing by Watcher.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"96ff73aabe5e7f1db1d424a60e43275f0404f12d","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"},{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":"We can get a node status through CDM(cluster data model) in watcher. Most of"},{"line_number":17,"context_line":"the strategies rely on the node\u0027s status. But the existing status just meets"},{"line_number":18,"context_line":"existing strategies. We need to extend nodes status description for new"},{"line_number":19,"context_line":"strategies."},{"line_number":20,"context_line":"Moreover, there are some potential problems in usage. For example, activated"},{"line_number":21,"context_line":"one compute node which is not disabled not by watcher, it will conflict."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_c4a710bd","line":21,"range":{"start_line":16,"start_character":0,"end_line":21,"end_character":72},"in_reply_to":"7f287b81_0f8b1a6e","updated":"2017-08-29 09:46:04.000000000","message":"One, but not all.\nIn some compute HA solutions, once it check some slight failure, it will firstly try to disable the nova-compute service and migrate all instances on the compute node.\nI will not enumerate them in this spec, because that will make us lost the key points.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"c31cd150356074d8af833a1fd46c110b21e1b9ca","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_afc76696","line":26,"range":{"start_line":25,"start_character":15,"end_line":26,"end_character":23},"updated":"2017-08-28 01:58:01.000000000","message":"If my understanding is correct, the following is more straightforward.\n\"I want Watcher to enable a compute node which is disabled by Watcher not by operator manually.\"","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_04451843","line":26,"range":{"start_line":25,"start_character":15,"end_line":26,"end_character":23},"in_reply_to":"7f287b81_afc76696","updated":"2017-08-29 09:34:42.000000000","message":"I agree with Hidekazu","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"96ff73aabe5e7f1db1d424a60e43275f0404f12d","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_c4bef0b2","line":26,"range":{"start_line":25,"start_character":15,"end_line":26,"end_character":23},"in_reply_to":"7f287b81_afc76696","updated":"2017-08-29 09:46:04.000000000","message":"the same meaning, but I think the origin is better.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"4066f269202a757647f270dbc6887a92c236b4ab","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Use Cases"},{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_2ec1eee5","line":26,"range":{"start_line":25,"start_character":15,"end_line":26,"end_character":23},"in_reply_to":"7f287b81_c4bef0b2","updated":"2017-08-30 12:34:52.000000000","message":"Done","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"44b729813f4e95a373b5e7de708280cc79d12704","unresolved":false,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_ddc25034","line":27,"range":{"start_line":27,"start_character":26,"end_line":27,"end_character":35},"updated":"2017-08-29 03:05:36.000000000","message":"s/descript/describe","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"c31cd150356074d8af833a1fd46c110b21e1b9ca","unresolved":false,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_ef0c4eed","line":28,"range":{"start_line":27,"start_character":15,"end_line":28,"end_character":12},"updated":"2017-08-28 01:58:01.000000000","message":"If my understanding of the problem is correct, this is not needed.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"4066f269202a757647f270dbc6887a92c236b4ab","unresolved":false,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_4e8c3ad6","line":28,"range":{"start_line":27,"start_character":15,"end_line":28,"end_character":12},"in_reply_to":"7f287b81_a4e404e1","updated":"2017-08-30 12:34:52.000000000","message":"Done","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"96ff73aabe5e7f1db1d424a60e43275f0404f12d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_a4e404e1","line":28,"range":{"start_line":27,"start_character":15,"end_line":28,"end_character":12},"in_reply_to":"7f287b81_ef0c4eed","updated":"2017-08-29 09:46:04.000000000","message":"Yes, I will remove it.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":24,"context_line":"---------"},{"line_number":25,"context_line":"As an end user, I don\u0027t want watcher to activate a compute node which is"},{"line_number":26,"context_line":"disabled not by watcher."},{"line_number":27,"context_line":"As a developer, I want to descript a compute node in maintaning status in"},{"line_number":28,"context_line":"compute CDM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_6405fc45","line":28,"range":{"start_line":27,"start_character":15,"end_line":28,"end_character":12},"in_reply_to":"7f287b81_ef0c4eed","updated":"2017-08-29 09:34:42.000000000","message":"You can use disabled_reason field (https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L95) to let Nova and Watcher know whether Watcher has changed node\u0027s status or not.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"44b729813f4e95a373b5e7de708280cc79d12704","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_1dcd7865","line":38,"range":{"start_line":38,"start_character":55,"end_line":38,"end_character":63},"updated":"2017-08-29 03:05:36.000000000","message":"s/descript/describe","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"4066f269202a757647f270dbc6887a92c236b4ab","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_2ef32e76","line":38,"range":{"start_line":38,"start_character":55,"end_line":38,"end_character":63},"in_reply_to":"7f287b81_1dcd7865","updated":"2017-08-30 12:34:52.000000000","message":"Done","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"c31cd150356074d8af833a1fd46c110b21e1b9ca","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_afd1a625","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":52},"updated":"2017-08-28 01:58:01.000000000","message":"It is not good we add status which is not Nova in compute CDM.\nIn my understanding, adding diabled_reason to compute CDM is enough.\nIf diabled_reason is watcher_diabled, strategy will enable compute node.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"44b729813f4e95a373b5e7de708280cc79d12704","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_d88ede77","line":41,"range":{"start_line":41,"start_character":57,"end_line":41,"end_character":65},"updated":"2017-08-29 03:05:36.000000000","message":"s/descript/describe","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"fd9b7dcd32f6ef2f1a98e223ac6ec2ad5d604731","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_be6e33c6","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":52},"in_reply_to":"7f287b81_310ddf8f","updated":"2017-08-30 09:33:18.000000000","message":"We will do nothing to the UNKNOWN node. We keep it in watcher, because it can help us to get a whole scope of the compute CDM.\nIt is necessary to have a whole scope of compute CDM. And it make no harm if we restrict the strategies to their default scope.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"7936920ad5106c1a8ff4682e4ad618b9dc58a8ad","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_9675a9fc","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":52},"in_reply_to":"7f287b81_5f23ed56","updated":"2017-08-29 23:34:40.000000000","message":"I found Nova code you wrote here. i am sorry my ignorance.\nhttps://github.com/openstack/nova/blob/master/nova/objects/fields.py#L696-L704","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"ee41e0ab223b740c5d749f348b249fa42c6cb90e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_310ddf8f","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":52},"in_reply_to":"7f287b81_9675a9fc","updated":"2017-08-30 00:20:02.000000000","message":"Code is there, but we can not update status to UNKNOWN via API. Please check api-ref:\nhttps://developer.openstack.org/api-ref/compute/#update-compute-service\nAPI request can include status which is only one of enabled or disabled.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_a45404ff","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":52},"in_reply_to":"7f287b81_afd1a625","updated":"2017-08-29 09:34:42.000000000","message":"I agree with Hidekazu","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"96ff73aabe5e7f1db1d424a60e43275f0404f12d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Now we just use for words(up/down/enabled/disabled) to descript one compute"},{"line_number":39,"context_line":"node. That is not enough."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* This spec will add \u0027unknown\u0027 status in compute CDM, to descript the compute"},{"line_number":42,"context_line":"  nodes disabled not by watcher. It will avoid potential usage problems."},{"line_number":43,"context_line":"  When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher_`)"},{"line_number":44,"context_line":"  to specify the compute nodes disabled by watcher. When building compute CDM,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_5f23ed56","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":52},"in_reply_to":"7f287b81_afd1a625","updated":"2017-08-29 09:46:04.000000000","message":"actully, it has unknown status in nova, but with a diffrent meaning.\n\nclass HostStatus(Enum):\n\n    UP \u003d \"UP\"  # The nova-compute is up.\n    DOWN \u003d \"DOWN\"  # The nova-compute is forced_down.\n    MAINTENANCE \u003d \"MAINTENANCE\"  # The nova-compute is disabled.\n    UNKNOWN \u003d \"UNKNOWN\"  # The nova-compute has not reported.\n    NONE \u003d \"\"  # No host or nova-compute.\n\n    ALL \u003d (UP, DOWN, MAINTENANCE, UNKNOWN, NONE)\n\nI suggest we keep it in watcher. because it can help us to get a whole scope of the compute CDM.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_f9bd19d8","line":48,"range":{"start_line":48,"start_character":35,"end_line":48,"end_character":43},"updated":"2017-08-29 09:34:42.000000000","message":"ditto","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_d9d93d57","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":21},"updated":"2017-08-29 09:34:42.000000000","message":"s/diffrent/different","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_19eb45dc","line":48,"range":{"start_line":48,"start_character":22,"end_line":48,"end_character":30},"updated":"2017-08-29 09:34:42.000000000","message":"s/stratege/strategies","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"c31cd150356074d8af833a1fd46c110b21e1b9ca","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"},{"line_number":52,"context_line":"  with up state and enabled status."},{"line_number":53,"context_line":"  Server_consolidation goal react on enabled or disabled nodes, so"},{"line_number":54,"context_line":"  restrict default scope to compute nodes with up state and"},{"line_number":55,"context_line":"  enabled/disabled status."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This spec also gives proposal for cluster_maintaining strategy."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_0fa8ba8a","line":55,"range":{"start_line":48,"start_character":0,"end_line":55,"end_character":26},"updated":"2017-08-28 01:58:01.000000000","message":"This does not resolve problem in my understanding. this is rather fixing bug or improving logic. IMHO, this is enough for bug or bug as wishlist.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"},{"line_number":52,"context_line":"  with up state and enabled status."},{"line_number":53,"context_line":"  Server_consolidation goal react on enabled or disabled nodes, so"},{"line_number":54,"context_line":"  restrict default scope to compute nodes with up state and"},{"line_number":55,"context_line":"  enabled/disabled status."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This spec also gives proposal for cluster_maintaining strategy."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_04a63854","line":55,"range":{"start_line":48,"start_character":0,"end_line":55,"end_character":26},"in_reply_to":"7f287b81_0fa8ba8a","updated":"2017-08-29 09:34:42.000000000","message":"I agree, it would be better to report a bug and bind it to the existing commit.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"96ff73aabe5e7f1db1d424a60e43275f0404f12d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"},{"line_number":52,"context_line":"  with up state and enabled status."},{"line_number":53,"context_line":"  Server_consolidation goal react on enabled or disabled nodes, so"},{"line_number":54,"context_line":"  restrict default scope to compute nodes with up state and"},{"line_number":55,"context_line":"  enabled/disabled status."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This spec also gives proposal for cluster_maintaining strategy."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_5f408da5","line":55,"range":{"start_line":48,"start_character":0,"end_line":55,"end_character":26},"in_reply_to":"7f287b81_0fa8ba8a","updated":"2017-08-29 09:46:04.000000000","message":"I agree. \nBecause they were both stuff of CDM scope, so I put them together. Should we separate this part as one bug fix?","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"4066f269202a757647f270dbc6887a92c236b4ab","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":46,"context_line":"  in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Meanwhile, diffrent stratege has diffrent default scope, restrict them to"},{"line_number":49,"context_line":"  their default scope will also avoid potential usage problems."},{"line_number":50,"context_line":"  Workload_balancing/thermal_optimization/airflow_optimization goals"},{"line_number":51,"context_line":"  react on enabled nodes, so restrict default scope to compute nodes"},{"line_number":52,"context_line":"  with up state and enabled status."},{"line_number":53,"context_line":"  Server_consolidation goal react on enabled or disabled nodes, so"},{"line_number":54,"context_line":"  restrict default scope to compute nodes with up state and"},{"line_number":55,"context_line":"  enabled/disabled status."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This spec also gives proposal for cluster_maintaining strategy."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_eee8867c","line":55,"range":{"start_line":48,"start_character":0,"end_line":55,"end_character":26},"in_reply_to":"7f287b81_5f408da5","updated":"2017-08-30 12:34:52.000000000","message":"Done","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"44b729813f4e95a373b5e7de708280cc79d12704","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This spec also gives proposal for cluster_maintaining strategy."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Add \u0027maintaining\u0027 status in compute CDM, to descript the compute nodes"},{"line_number":60,"context_line":"  in \u0027maintaining\u0027 state set by watcher. When building compute CDM,"},{"line_number":61,"context_line":"  if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_maintaining\u0027,"},{"line_number":62,"context_line":"  we set them in \u0027maintaining\u0027 status, then no instances will migrate"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_f8f63ad7","line":59,"range":{"start_line":59,"start_character":46,"end_line":59,"end_character":54},"updated":"2017-08-29 03:05:36.000000000","message":"s/descript/describe","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"ca2f3885fbbaf0e57cd65827433536455c7a69aa","unresolved":false,"context_lines":[{"line_number":120,"context_line":"----------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":" * Restrict existing strategies to their default scope."},{"line_number":123,"context_line":" * add \u0027UNKNOWN\u0027 status in compute CDM, for compute nodes disabled not"},{"line_number":124,"context_line":"   by watcher."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Dependencies"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7f287b81_ff15f9e5","line":124,"range":{"start_line":123,"start_character":1,"end_line":124,"end_character":14},"updated":"2017-08-29 09:34:42.000000000","message":"I\u0027m not sure about it since you can use disabled_reason field.","commit_id":"a3676d184da01f159f075f663d73667b5b8b620a"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"d815cf1e79048fe235a19e142a51c9d67121d27a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher`)"},{"line_number":42,"context_line":"to specify the compute nodes disabled by watcher. When building compute CDM,"},{"line_number":43,"context_line":"if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":44,"context_line":"in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_ffc15255","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":60},"updated":"2017-08-30 14:01:54.000000000","message":"Status in compute CDM should be the same as one in Nova.\nIf we set them \u0027unknown\u0027 status only in compute CDM, they becomes different.\n\nwe can distinguish compute node disabled by Watcher from one disabled by others from disabled_reason \u003d\u003d \u0027watcher_disabled\u0027 or not.","commit_id":"62f08afcf65813fda66896e5ad95264d0328ed50"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"49bb97fa2ca6244cdc0ac75c3548ed971aa2a7a4","unresolved":false,"context_lines":[{"line_number":41,"context_line":"When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher`)"},{"line_number":42,"context_line":"to specify the compute nodes disabled by watcher. When building compute CDM,"},{"line_number":43,"context_line":"if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":44,"context_line":"in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_834efe35","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":60},"in_reply_to":"7f287b81_6f031711","updated":"2017-09-05 12:02:54.000000000","message":"Done","commit_id":"62f08afcf65813fda66896e5ad95264d0328ed50"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"49bb97fa2ca6244cdc0ac75c3548ed971aa2a7a4","unresolved":false,"context_lines":[{"line_number":41,"context_line":"When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher`)"},{"line_number":42,"context_line":"to specify the compute nodes disabled by watcher. When building compute CDM,"},{"line_number":43,"context_line":"if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":44,"context_line":"in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_c344061c","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":60},"in_reply_to":"7f287b81_ffc15255","updated":"2017-09-05 12:02:54.000000000","message":"Done","commit_id":"62f08afcf65813fda66896e5ad95264d0328ed50"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"d2e92313ffe289b096458ab71a873a6f6c2f4fd2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"When a node is \"disabled\", we can use \"disabled_reason\"(prefix `watcher`)"},{"line_number":42,"context_line":"to specify the compute nodes disabled by watcher. When building compute CDM,"},{"line_number":43,"context_line":"if the disabled nodes with \u0027disabled_reason\u0027 \u0027watcher_disabled\u0027, we set them"},{"line_number":44,"context_line":"in \u0027disabled\u0027 status, otherwise set them in \u0027unknown\u0027 status."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7f287b81_6f031711","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":60},"in_reply_to":"7f287b81_ffc15255","updated":"2017-09-04 03:18:15.000000000","message":"agreed, use the disabled_reason field to distinguish","commit_id":"62f08afcf65813fda66896e5ad95264d0328ed50"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"1718db9698847061b0436bf088c1d65a66542db2","unresolved":false,"context_lines":[{"line_number":26,"context_line":"disabled by watcher not by others."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Project Priority"},{"line_number":30,"context_line":"----------------"},{"line_number":31,"context_line":"None"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"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":23,"id":"7f287b81_f140db09","line":31,"range":{"start_line":29,"start_character":0,"end_line":31,"end_character":4},"updated":"2017-09-06 00:10:13.000000000","message":"This section was remove in latest version.","commit_id":"9390722259ae593b2dd37c3a20a0c1e27aa6f0df"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c56748405bdb918b9bea657aacdfa6e27443bfa5","unresolved":false,"context_lines":[{"line_number":26,"context_line":"disabled by watcher not by others."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Project Priority"},{"line_number":30,"context_line":"----------------"},{"line_number":31,"context_line":"None"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"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":23,"id":"7f287b81_ca5e4475","line":31,"range":{"start_line":29,"start_character":0,"end_line":31,"end_character":4},"in_reply_to":"7f287b81_f140db09","updated":"2017-09-06 03:21:26.000000000","message":"Done","commit_id":"9390722259ae593b2dd37c3a20a0c1e27aa6f0df"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"1718db9698847061b0436bf088c1d65a66542db2","unresolved":false,"context_lines":[{"line_number":110,"context_line":"Testing"},{"line_number":111,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"None"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Documentation Impact"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":23,"id":"7f287b81_113a4797","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":4},"updated":"2017-09-06 00:10:13.000000000","message":"Unit tests are updated.","commit_id":"9390722259ae593b2dd37c3a20a0c1e27aa6f0df"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"c56748405bdb918b9bea657aacdfa6e27443bfa5","unresolved":false,"context_lines":[{"line_number":110,"context_line":"Testing"},{"line_number":111,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"None"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Documentation Impact"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":23,"id":"7f287b81_aa553852","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":4},"in_reply_to":"7f287b81_113a4797","updated":"2017-09-06 03:21:26.000000000","message":"Done","commit_id":"9390722259ae593b2dd37c3a20a0c1e27aa6f0df"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"248d0c4d16db6c15d184da2aaa148012ce2268c2","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"None"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Data model impact"},{"line_number":49,"context_line":"-----------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":25,"id":"7f287b81_ccf99dc8","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":17},"updated":"2017-09-07 03:28:26.000000000","message":"I think this bp impact the data model.\nThe new disabled_reason field is a part of the data model:)","commit_id":"00807552927cf6382a890d62a43dfba5109a179e"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"a2b72f82c3b8c8444e82d6704445e42ca05b1e2c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"None"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Data model impact"},{"line_number":49,"context_line":"-----------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":25,"id":"7f287b81_f3853bae","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":17},"in_reply_to":"7f287b81_ccf99dc8","updated":"2017-09-07 23:34:12.000000000","message":"hi licanwei,\nYou are right, but data model in this section means new data objects and/or database schema. Cluster data model is not included.\nsee the temlate: https://github.com/openstack/watcher-specs/blob/master/specs/queens-template.rst#data-model-impact","commit_id":"00807552927cf6382a890d62a43dfba5109a179e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"e8a10bac6e38a53d87bb41b2873405555c28008b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"None"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Data model impact"},{"line_number":49,"context_line":"-----------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":25,"id":"7f515b1d_b8ada532","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":17},"in_reply_to":"7f287b81_f3853bae","updated":"2017-09-26 09:00:16.000000000","message":"agree with Hidekazu Nakamura.","commit_id":"00807552927cf6382a890d62a43dfba5109a179e"}]}
