)]}'
{"doc/source/strategies/saving_energy.rst":[{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0077445ef338b874b3321fbb3849adf4f55e27e8","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_387332ea","line":14,"updated":"2017-09-11 02:16:08.000000000","message":"Remove \u0027This\u0027","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"732aa3e2333671d9075a7c6e67341a00dd2d7d8c","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_cecb2d51","line":14,"in_reply_to":"5f2577a7_387332ea","updated":"2017-10-12 03:56:19.000000000","message":"Done","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"24fc086f08a5e6d43faa3231df52f743c9828748","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_609e9864","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":11},"updated":"2017-09-11 15:23:23.000000000","message":"Another/The other","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"732aa3e2333671d9075a7c6e67341a00dd2d7d8c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_aec8e154","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":11},"in_reply_to":"5f2577a7_609e9864","updated":"2017-10-12 03:56:19.000000000","message":"Done","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"3b796ddcdfab20163df25b06fd0cbfe89c2f459b","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"**goal**: ``saving_energy``"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"},{"line_number":18,"context_line":"  and the unneeded  hosts are powered off."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  After consolidation, Saving Energy Strategy produces a solution of powering"},{"line_number":21,"context_line":"  off/on according to the following detailed policy:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  In this policy, a preset number(min_free_hosts_num) is given by user, and"},{"line_number":24,"context_line":"  this min_free_hosts_num describes minimum free compute nodes that users"},{"line_number":25,"context_line":"  expect to have, where \"free compute nodes\" refers to those nodes unused"},{"line_number":26,"context_line":"  but still powered on."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  If the actual number of unused nodes(in power-on state) is larger than the"},{"line_number":29,"context_line":"  given number, randomly select the redundant nodes and power off them;"},{"line_number":30,"context_line":"  If the actual number of unused nodes(in poweron state) is smaller than the"},{"line_number":31,"context_line":"  given number and there are spare unused nodes(in poweroff state), randomly"},{"line_number":32,"context_line":"  select some nodes(unused,poweroff) and power on them."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  In this policy, in order to calculate the min_free_hosts_num,"},{"line_number":35,"context_line":"  users must provide two parameters:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."},{"line_number":44,"context_line":"    The nodes with VMs refer to those nodes with VMs running on it."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Then chose the larger one as the final min_free_hosts_num"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Requirements"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f287b81_66e08027","line":46,"range":{"start_line":12,"start_character":2,"end_line":46,"end_character":59},"updated":"2017-09-07 08:37:48.000000000","message":"Could you use watcher-term as basic-server-consolidation.rst\ndoes?","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"732aa3e2333671d9075a7c6e67341a00dd2d7d8c","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"**goal**: ``saving_energy``"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"},{"line_number":18,"context_line":"  and the unneeded  hosts are powered off."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  After consolidation, Saving Energy Strategy produces a solution of powering"},{"line_number":21,"context_line":"  off/on according to the following detailed policy:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  In this policy, a preset number(min_free_hosts_num) is given by user, and"},{"line_number":24,"context_line":"  this min_free_hosts_num describes minimum free compute nodes that users"},{"line_number":25,"context_line":"  expect to have, where \"free compute nodes\" refers to those nodes unused"},{"line_number":26,"context_line":"  but still powered on."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  If the actual number of unused nodes(in power-on state) is larger than the"},{"line_number":29,"context_line":"  given number, randomly select the redundant nodes and power off them;"},{"line_number":30,"context_line":"  If the actual number of unused nodes(in poweron state) is smaller than the"},{"line_number":31,"context_line":"  given number and there are spare unused nodes(in poweroff state), randomly"},{"line_number":32,"context_line":"  select some nodes(unused,poweroff) and power on them."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  In this policy, in order to calculate the min_free_hosts_num,"},{"line_number":35,"context_line":"  users must provide two parameters:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."},{"line_number":44,"context_line":"    The nodes with VMs refer to those nodes with VMs running on it."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Then chose the larger one as the final min_free_hosts_num"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Requirements"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_8ec5253f","line":46,"range":{"start_line":12,"start_character":2,"end_line":46,"end_character":59},"in_reply_to":"5f2577a7_585f1e41","updated":"2017-10-12 03:56:19.000000000","message":"Done","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"bb609f2c97a92a0a9ee1a15597a233ec2dea056c","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"**goal**: ``saving_energy``"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"},{"line_number":18,"context_line":"  and the unneeded  hosts are powered off."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  After consolidation, Saving Energy Strategy produces a solution of powering"},{"line_number":21,"context_line":"  off/on according to the following detailed policy:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  In this policy, a preset number(min_free_hosts_num) is given by user, and"},{"line_number":24,"context_line":"  this min_free_hosts_num describes minimum free compute nodes that users"},{"line_number":25,"context_line":"  expect to have, where \"free compute nodes\" refers to those nodes unused"},{"line_number":26,"context_line":"  but still powered on."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  If the actual number of unused nodes(in power-on state) is larger than the"},{"line_number":29,"context_line":"  given number, randomly select the redundant nodes and power off them;"},{"line_number":30,"context_line":"  If the actual number of unused nodes(in poweron state) is smaller than the"},{"line_number":31,"context_line":"  given number and there are spare unused nodes(in poweroff state), randomly"},{"line_number":32,"context_line":"  select some nodes(unused,poweroff) and power on them."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  In this policy, in order to calculate the min_free_hosts_num,"},{"line_number":35,"context_line":"  users must provide two parameters:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."},{"line_number":44,"context_line":"    The nodes with VMs refer to those nodes with VMs running on it."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Then chose the larger one as the final min_free_hosts_num"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Requirements"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f4e5783_083575f7","line":46,"range":{"start_line":12,"start_character":2,"end_line":46,"end_character":59},"in_reply_to":"5f2577a7_eeeb89ad","updated":"2017-10-13 04:43:19.000000000","message":"https://review.openstack.org/#/c/511148/ seems to be complete description.","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0077445ef338b874b3321fbb3849adf4f55e27e8","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"**goal**: ``saving_energy``"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"},{"line_number":18,"context_line":"  and the unneeded  hosts are powered off."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  After consolidation, Saving Energy Strategy produces a solution of powering"},{"line_number":21,"context_line":"  off/on according to the following detailed policy:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  In this policy, a preset number(min_free_hosts_num) is given by user, and"},{"line_number":24,"context_line":"  this min_free_hosts_num describes minimum free compute nodes that users"},{"line_number":25,"context_line":"  expect to have, where \"free compute nodes\" refers to those nodes unused"},{"line_number":26,"context_line":"  but still powered on."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  If the actual number of unused nodes(in power-on state) is larger than the"},{"line_number":29,"context_line":"  given number, randomly select the redundant nodes and power off them;"},{"line_number":30,"context_line":"  If the actual number of unused nodes(in poweron state) is smaller than the"},{"line_number":31,"context_line":"  given number and there are spare unused nodes(in poweroff state), randomly"},{"line_number":32,"context_line":"  select some nodes(unused,poweroff) and power on them."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  In this policy, in order to calculate the min_free_hosts_num,"},{"line_number":35,"context_line":"  users must provide two parameters:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."},{"line_number":44,"context_line":"    The nodes with VMs refer to those nodes with VMs running on it."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Then chose the larger one as the final min_free_hosts_num"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Requirements"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_585f1e41","line":46,"range":{"start_line":12,"start_character":2,"end_line":46,"end_character":59},"in_reply_to":"7f287b81_66e08027","updated":"2017-09-11 02:16:08.000000000","message":"/chose/choose","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"732aa3e2333671d9075a7c6e67341a00dd2d7d8c","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"**goal**: ``saving_energy``"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  Saving Energy Strategy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  This Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":15,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":16,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":17,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"},{"line_number":18,"context_line":"  and the unneeded  hosts are powered off."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  After consolidation, Saving Energy Strategy produces a solution of powering"},{"line_number":21,"context_line":"  off/on according to the following detailed policy:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  In this policy, a preset number(min_free_hosts_num) is given by user, and"},{"line_number":24,"context_line":"  this min_free_hosts_num describes minimum free compute nodes that users"},{"line_number":25,"context_line":"  expect to have, where \"free compute nodes\" refers to those nodes unused"},{"line_number":26,"context_line":"  but still powered on."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"  If the actual number of unused nodes(in power-on state) is larger than the"},{"line_number":29,"context_line":"  given number, randomly select the redundant nodes and power off them;"},{"line_number":30,"context_line":"  If the actual number of unused nodes(in poweron state) is smaller than the"},{"line_number":31,"context_line":"  given number and there are spare unused nodes(in poweroff state), randomly"},{"line_number":32,"context_line":"  select some nodes(unused,poweroff) and power on them."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  In this policy, in order to calculate the min_free_hosts_num,"},{"line_number":35,"context_line":"  users must provide two parameters:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":38,"context_line":"    This number should be int type and larger than zero."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  * Another parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":41,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":42,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":43,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."},{"line_number":44,"context_line":"    The nodes with VMs refer to those nodes with VMs running on it."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Then chose the larger one as the final min_free_hosts_num"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Requirements"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_eeeb89ad","line":46,"range":{"start_line":12,"start_character":2,"end_line":46,"end_character":59},"in_reply_to":"7f287b81_66e08027","updated":"2017-10-12 03:56:19.000000000","message":"Will add watcher-term just as basic-server-consolidation.rst does. But still want to keep the description since https://github.com/openstack/watcher/blob/master/doc/source/strategies/strategy-template.rst#synopsis also suggest \"Add here a complete description of your strategy\"","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"3b796ddcdfab20163df25b06fd0cbfe89c2f459b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Metrics"},{"line_number":52,"context_line":"*******"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This feature will use Ironic to do the power on/off actions, therefore"},{"line_number":55,"context_line":"this feature requires that the ironic component is configured."},{"line_number":56,"context_line":"And the compute node should be managed by Ironic."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":"additional software             service name      plugins comment"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":"bare metal management software Bare Metal Service  Ironic  none"},{"line_number":62,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Ironic installation: https://docs.openstack.org/ironic/latest/install/index.html"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Cluster data model"},{"line_number":67,"context_line":"******************"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f287b81_66fc00b5","line":64,"range":{"start_line":54,"start_character":0,"end_line":64,"end_character":80},"updated":"2017-09-07 08:37:48.000000000","message":"This section is for metrics such as ceilometer, gnocchi or monasca. energy saving strategy does not use metric.","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"bb609f2c97a92a0a9ee1a15597a233ec2dea056c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Metrics"},{"line_number":52,"context_line":"*******"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This feature will use Ironic to do the power on/off actions, therefore"},{"line_number":55,"context_line":"this feature requires that the ironic component is configured."},{"line_number":56,"context_line":"And the compute node should be managed by Ironic."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":"additional software             service name      plugins comment"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":"bare metal management software Bare Metal Service  Ironic  none"},{"line_number":62,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Ironic installation: https://docs.openstack.org/ironic/latest/install/index.html"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Cluster data model"},{"line_number":67,"context_line":"******************"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f4e5783_c8707ddf","line":64,"range":{"start_line":54,"start_character":0,"end_line":64,"end_character":80},"in_reply_to":"5f2577a7_31a8ec1d","updated":"2017-10-13 04:43:19.000000000","message":"I see patch set 4, simply explained ironic installation.\nLGTM for me.","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0077445ef338b874b3321fbb3849adf4f55e27e8","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Metrics"},{"line_number":52,"context_line":"*******"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This feature will use Ironic to do the power on/off actions, therefore"},{"line_number":55,"context_line":"this feature requires that the ironic component is configured."},{"line_number":56,"context_line":"And the compute node should be managed by Ironic."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":"additional software             service name      plugins comment"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":"bare metal management software Bare Metal Service  Ironic  none"},{"line_number":62,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Ironic installation: https://docs.openstack.org/ironic/latest/install/index.html"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Cluster data model"},{"line_number":67,"context_line":"******************"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_18599659","line":64,"range":{"start_line":54,"start_character":0,"end_line":64,"end_character":80},"in_reply_to":"7f287b81_66fc00b5","updated":"2017-09-11 02:16:08.000000000","message":"+1","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"732aa3e2333671d9075a7c6e67341a00dd2d7d8c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Metrics"},{"line_number":52,"context_line":"*******"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This feature will use Ironic to do the power on/off actions, therefore"},{"line_number":55,"context_line":"this feature requires that the ironic component is configured."},{"line_number":56,"context_line":"And the compute node should be managed by Ironic."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":"additional software             service name      plugins comment"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":"bare metal management software Bare Metal Service  Ironic  none"},{"line_number":62,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Ironic installation: https://docs.openstack.org/ironic/latest/install/index.html"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Cluster data model"},{"line_number":67,"context_line":"******************"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_31a8ec1d","line":64,"range":{"start_line":54,"start_character":0,"end_line":64,"end_character":80},"in_reply_to":"7f287b81_66fc00b5","updated":"2017-10-12 03:56:19.000000000","message":"Hi Hidekazu,\nCorrect me if my understanding is inaccurate. According to https://github.com/openstack/watcher/blob/master/doc/source/strategies/strategy-template.rst#metrics   \"If these metrics requires specific Telemetry plugin or other additional software, please explain here how to deploy them (and add link to dedicated installation guide).\"  But I\u0027m not sure if I should change the subtitle to \"Additional Software\" or something else?","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"3b796ddcdfab20163df25b06fd0cbfe89c2f459b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Actions"},{"line_number":74,"context_line":"*******"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":"        action                            description"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":"change_node_power_state This action powers on/off a compute node."},{"line_number":80,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":".. _change_node_power_state : https://github.com/openstack/watcher/blob/master/watcher/applier/actions/change_node_power_state.py"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f287b81_26d95856","line":80,"range":{"start_line":76,"start_character":0,"end_line":80,"end_character":65},"updated":"2017-09-07 08:37:48.000000000","message":"Could you use list-table and watcher-term as basic-server-consolidation.rst does?","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"732aa3e2333671d9075a7c6e67341a00dd2d7d8c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Actions"},{"line_number":74,"context_line":"*******"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":"        action                            description"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":"change_node_power_state This action powers on/off a compute node."},{"line_number":80,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":".. _change_node_power_state : https://github.com/openstack/watcher/blob/master/watcher/applier/actions/change_node_power_state.py"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_aef6a18e","line":80,"range":{"start_line":76,"start_character":0,"end_line":80,"end_character":65},"in_reply_to":"7f287b81_26d95856","updated":"2017-10-12 03:56:19.000000000","message":"Done","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"3b796ddcdfab20163df25b06fd0cbfe89c2f459b","unresolved":false,"context_lines":[{"line_number":112,"context_line":".. watcher-func::"},{"line_number":113,"context_line":"  :format: literal_block"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  watcher.decision_engine.goal.efficacy.specs.ServerConsolidation.get_global_efficacy_indicator"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Algorithm"},{"line_number":118,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f287b81_e6b350e8","line":115,"range":{"start_line":115,"start_character":2,"end_line":115,"end_character":95},"updated":"2017-09-07 08:37:48.000000000","message":"Energy saving strategy efficacy indicator is unclassified.\n\nhttps://github.com/openstack/watcher/blob/master/watcher/decision_engine/goal/goals.py#L215-L218","commit_id":"da7e224346f0b35aa0faee209065e1d4e9ab922b"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"8a708d57e3f27bb04e78bba8fcf9ac349458b82f","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    .. watcher-term:: watcher.decision_engine.strategy.strategies.saving_energy"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"  Saving Energy Strategy"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"  Saving Energy Strategy together with VM Workload Consolidation Strategy"},{"line_number":17,"context_line":"  can perform the Dynamic Power Management (DPM) functionality which tries to"},{"line_number":18,"context_line":"  save power by dynamically consolidating workloads even further during periods"},{"line_number":19,"context_line":"  of low resource utilization. Virtual machines are migrated onto fewer hosts"},{"line_number":20,"context_line":"  and the unneeded  hosts are powered off."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"  After consolidation, Saving Energy Strategy produces a solution of powering"},{"line_number":23,"context_line":"  off/on according to the following detailed policy:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  In this policy, a preset number(min_free_hosts_num) is given by user, and"},{"line_number":26,"context_line":"  this min_free_hosts_num describes minimum free compute nodes that users"},{"line_number":27,"context_line":"  expect to have, where \"free compute nodes\" refers to those nodes unused"},{"line_number":28,"context_line":"  but still powered on."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  If the actual number of unused nodes(in power-on state) is larger than the"},{"line_number":31,"context_line":"  given number, randomly select the redundant nodes and power off them;"},{"line_number":32,"context_line":"  If the actual number of unused nodes(in poweron state) is smaller than the"},{"line_number":33,"context_line":"  given number and there are spare unused nodes(in poweroff state), randomly"},{"line_number":34,"context_line":"  select some nodes(unused,poweroff) and power on them."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  In this policy, in order to calculate the min_free_hosts_num,"},{"line_number":37,"context_line":"  users must provide two parameters:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  * One parameter(\"min_free_hosts_num\") is a constant int number."},{"line_number":40,"context_line":"    This number should be int type and larger than zero."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  * The other parameter(\"free_used_percent\") is a percentage number, which"},{"line_number":43,"context_line":"    describes the quotient of min_free_hosts_num/nodes_with_VMs_num,"},{"line_number":44,"context_line":"    where nodes_with_VMs_num is the number of nodes with VMs running on it."},{"line_number":45,"context_line":"    This parameter is used to calculate a dynamic min_free_hosts_num."},{"line_number":46,"context_line":"    The nodes with VMs refer to those nodes with VMs running on it."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  Then choose the larger one as the final min_free_hosts_num"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Requirements"},{"line_number":51,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f2577a7_e325b2c3","line":48,"range":{"start_line":14,"start_character":1,"end_line":48,"end_character":60},"updated":"2017-09-13 15:33:26.000000000","message":"Please move to SavingEnergy class comment as docstring.","commit_id":"1d095f08e75cae799b234d8a3eaf1f5cbe723ccf"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"8a708d57e3f27bb04e78bba8fcf9ac349458b82f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Requirements"},{"line_number":51,"context_line":"------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Additional Software"},{"line_number":54,"context_line":"*******************"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"This feature will use Ironic to do the power on/off actions, therefore"},{"line_number":57,"context_line":"this feature requires that the ironic component is configured."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f2577a7_832a6e8d","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":19},"updated":"2017-09-13 15:33:26.000000000","message":"IMHO, This is not needed.","commit_id":"1d095f08e75cae799b234d8a3eaf1f5cbe723ccf"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"8a708d57e3f27bb04e78bba8fcf9ac349458b82f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"this feature requires that the ironic component is configured."},{"line_number":58,"context_line":"And the compute node should be managed by Ironic."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":"additional software             service name      plugins comment"},{"line_number":62,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":63,"context_line":"bare metal management software Bare Metal Service  Ironic  none"},{"line_number":64,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Ironic installation: https://docs.openstack.org/ironic/latest/install/index.html"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f2577a7_5e00dd01","line":64,"range":{"start_line":60,"start_character":0,"end_line":64,"end_character":65},"updated":"2017-09-13 15:33:26.000000000","message":"IMHO, this is not needed.","commit_id":"1d095f08e75cae799b234d8a3eaf1f5cbe723ccf"}]}
