)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"11b39c1ae552916e874d589093f1d3ce5511a0df","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     junjie huang \u003cjunjie.huang@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-02 00:52:04 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"strategy spec for review"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id60550ef3e64c13935f56d65c2390d423c45cb48"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a8ffd7b_b9d87f1f","line":7,"updated":"2015-12-02 13:17:31.000000000","message":"nit: Can you add a reference to the related blueprint please? (see https://wiki.openstack.org/wiki/GitCommitMessages)","commit_id":"fc23f0e728658307bca98fac932ce101792db4da"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"3254094620dcfc5eddd96603a0d81a04665213b3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     junjie huang \u003cjunjie.huang@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-02 00:52:04 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"strategy spec for review"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id60550ef3e64c13935f56d65c2390d423c45cb48"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a8ffd7b_a97ec818","line":7,"updated":"2015-12-03 01:12:50.000000000","message":"please put a better commit message in here. Strategy spec for review is IMO too generic.","commit_id":"fc23f0e728658307bca98fac932ce101792db4da"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Outlet Temperature based migration strategy spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is one of the algorism spec of Intel thermal POC."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"blueprint: outlet-temperature-based-strategy"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a740942_62ae93e7","line":9,"updated":"2015-12-08 15:34:56.000000000","message":"algorithm specifications","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"}],"specs/mitaka/approved/outlet-temperature-based-strategy.rst":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"11b39c1ae552916e874d589093f1d3ce5511a0df","unresolved":false,"context_lines":[{"line_number":1,"context_line":"..\r"},{"line_number":2,"context_line":" This work is licensed under a Creative Commons Attribution 3.0 Unported\r"},{"line_number":3,"context_line":" License.\r"},{"line_number":4,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f94cc743","line":1,"updated":"2015-12-02 13:17:31.000000000","message":"nit: Can you fix the enf of lines to use LF system instead of CRLF (see http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/ to configure your git)","commit_id":"fc23f0e728658307bca98fac932ce101792db4da"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"11b39c1ae552916e874d589093f1d3ce5511a0df","unresolved":false,"context_lines":[{"line_number":14,"context_line":"to measure the server\u0027s thermal/workload status.\r"},{"line_number":15,"context_line":"\r"},{"line_number":16,"context_line":"This spec proposes to introduce a new Watcher migration strategy based on the\r"},{"line_number":17,"context_line":"server\u0027s outlet temperature, the strategy makes decision to move workload to \r"},{"line_number":18,"context_line":"the servers with good thermal condition when the outlet temperature reaches \r"},{"line_number":19,"context_line":"threshold.\r"},{"line_number":20,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_b9739f4d","line":17,"updated":"2015-12-02 13:17:31.000000000","message":"nit: Can you please remove all the trailing whitespaces at the end of each line?","commit_id":"fc23f0e728658307bca98fac932ce101792db4da"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Outlet(Exhaust Air) temperature is a new thermal telemetry which can be used"},{"line_number":14,"context_line":"to measure the server\u0027s thermal/workload status."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This spec proposes to introduce a new Watcher migration strategy based on the"},{"line_number":17,"context_line":"server\u0027s outlet temperature, the strategy makes decision to move workload to"},{"line_number":18,"context_line":"the servers with good thermal condition when the outlet temperature reaches"},{"line_number":19,"context_line":"threshold."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_a4ecf28f","line":16,"updated":"2015-12-07 10:25:03.000000000","message":"This spec proposes a new Watcher migration strategy based on the","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":14,"context_line":"to measure the server\u0027s thermal/workload status."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This spec proposes to introduce a new Watcher migration strategy based on the"},{"line_number":17,"context_line":"server\u0027s outlet temperature, the strategy makes decision to move workload to"},{"line_number":18,"context_line":"the servers with good thermal condition when the outlet temperature reaches"},{"line_number":19,"context_line":"threshold."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_04fe2637","line":17,"updated":"2015-12-07 10:25:03.000000000","message":"outlet temperature of servers. This strategy makes decisions to migrate workloads to","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This spec proposes to introduce a new Watcher migration strategy based on the"},{"line_number":17,"context_line":"server\u0027s outlet temperature, the strategy makes decision to move workload to"},{"line_number":18,"context_line":"the servers with good thermal condition when the outlet temperature reaches"},{"line_number":19,"context_line":"threshold."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_448bcec3","line":18,"updated":"2015-12-07 10:25:03.000000000","message":"servers with good thermal condition when the outlet temperature of source servers reach","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This spec proposes to introduce a new Watcher migration strategy based on the"},{"line_number":17,"context_line":"server\u0027s outlet temperature, the strategy makes decision to move workload to"},{"line_number":18,"context_line":"the servers with good thermal condition when the outlet temperature reaches"},{"line_number":19,"context_line":"threshold."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_473e09c2","line":18,"in_reply_to":"7a740942_448bcec3","updated":"2015-12-08 15:34:56.000000000","message":"what means \"good thermal condition\" ? Is it under a given temperature ? In a temperature frame ? Under a given threshold ?","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":16,"context_line":"This spec proposes to introduce a new Watcher migration strategy based on the"},{"line_number":17,"context_line":"server\u0027s outlet temperature, the strategy makes decision to move workload to"},{"line_number":18,"context_line":"the servers with good thermal condition when the outlet temperature reaches"},{"line_number":19,"context_line":"threshold."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"},{"line_number":22,"context_line":"\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":3,"id":"7a740942_2c016406","line":19,"updated":"2015-12-08 15:34:56.000000000","message":"a configurable threshold.","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In current Data Center, the cooling air supply to servers can be not equal,"},{"line_number":25,"context_line":"When the server is overloaded or the supply air is too hot or both happen, the"},{"line_number":26,"context_line":"outlet temperature telemetry can be used to detect the problem. And it\u0027s not"},{"line_number":27,"context_line":"good to keep running workload in this server, better to move workload to the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_c4bd7e69","line":24,"updated":"2015-12-07 10:25:03.000000000","message":"In current Data Center infrastructure, the cooling air supply to servers can be different,","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In current Data Center, the cooling air supply to servers can be not equal,"},{"line_number":25,"context_line":"When the server is overloaded or the supply air is too hot or both happen, the"},{"line_number":26,"context_line":"outlet temperature telemetry can be used to detect the problem. And it\u0027s not"},{"line_number":27,"context_line":"good to keep running workload in this server, better to move workload to the"},{"line_number":28,"context_line":"server which has good thermal conditions."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_95aeb183","line":25,"updated":"2015-12-07 10:25:03.000000000","message":"When a server is overloaded or the supply air is too hot, the","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In current Data Center, the cooling air supply to servers can be not equal,"},{"line_number":25,"context_line":"When the server is overloaded or the supply air is too hot or both happen, the"},{"line_number":26,"context_line":"outlet temperature telemetry can be used to detect the problem. And it\u0027s not"},{"line_number":27,"context_line":"good to keep running workload in this server, better to move workload to the"},{"line_number":28,"context_line":"server which has good thermal conditions."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_3587bdd8","line":26,"updated":"2015-12-07 10:25:03.000000000","message":"outlet temperature telemetry can be used to detect the problem. In order to","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":24,"context_line":"In current Data Center, the cooling air supply to servers can be not equal,"},{"line_number":25,"context_line":"When the server is overloaded or the supply air is too hot or both happen, the"},{"line_number":26,"context_line":"outlet temperature telemetry can be used to detect the problem. And it\u0027s not"},{"line_number":27,"context_line":"good to keep running workload in this server, better to move workload to the"},{"line_number":28,"context_line":"server which has good thermal conditions."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_9559d15c","line":27,"updated":"2015-12-07 10:25:03.000000000","message":"have the server in a reliable-thermal condition, some of the server\u0027s workloads should be migrated to other server with safer thermal conditions.","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"----------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"End user can enable this migration strategy in Watcher Decision Engine to"},{"line_number":34,"context_line":"detect the problem, and generate action plan for migration."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_a7280d34","line":33,"updated":"2015-12-08 15:34:56.000000000","message":"Administrator can trigger an audit that will be able to","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":31,"context_line":"----------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"End user can enable this migration strategy in Watcher Decision Engine to"},{"line_number":34,"context_line":"detect the problem, and generate action plan for migration."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_3516dd55","line":34,"updated":"2015-12-07 10:25:03.000000000","message":"... generate action plans, e.g. migration, in order to address the problem.","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":31,"context_line":"----------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"End user can enable this migration strategy in Watcher Decision Engine to"},{"line_number":34,"context_line":"detect the problem, and generate action plan for migration."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_67cd4584","line":34,"in_reply_to":"7a740942_3516dd55","updated":"2015-12-08 15:34:56.000000000","message":"detect that a thermal optimization can be triggered, generate action plans...","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"0bd46a9ae1093d331da67b552238a38c1f001a6e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Not relevant because Watcher is not in the big tent so far."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Watcher already has its decision framework, so this strategy should be a new"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_acf28dd0","line":41,"updated":"2015-12-07 07:55:50.000000000","message":"How to configure threshold?","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Not relevant because Watcher is not in the big tent so far."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Watcher already has its decision framework, so this strategy should be a new"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_27d65df1","line":41,"in_reply_to":"7a740942_acf28dd0","updated":"2015-12-08 15:34:56.000000000","message":"you should explain here that you will set the threshold in 2 steps : hard coded first and then through a config file","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Watcher already has its decision framework, so this strategy should be a new"},{"line_number":45,"context_line":"class which extend the base strategy class."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Create a new python class extend the \"BaseStrategy\" class."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Use the Ceilometer client to get Outlet temperature metrics of hypervisors."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_d8147045","line":47,"updated":"2015-12-07 10:25:03.000000000","message":"... to extend ..","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* Use the Nova client to get free CPU/Memory/Disk of hypervisors."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* An algorism to detect if the threshold of Outlet temperature has been"},{"line_number":54,"context_line":"  reached and to choose the migration target server."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_64adaa30","line":53,"updated":"2015-12-07 10:25:03.000000000","message":"An algorithm","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"0bd46a9ae1093d331da67b552238a38c1f001a6e","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* Use the Nova client to get free CPU/Memory/Disk of hypervisors."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* An algorism to detect if the threshold of Outlet temperature has been"},{"line_number":54,"context_line":"  reached and to choose the migration target server."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_0cf641d7","line":53,"updated":"2015-12-07 07:55:50.000000000","message":"s/algorism/algorithm/","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* Use the Nova client to get free CPU/Memory/Disk of hypervisors."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* An algorism to detect if the threshold of Outlet temperature has been"},{"line_number":54,"context_line":"  reached and to choose the migration target server."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_f8928c9e","line":54,"updated":"2015-12-07 10:25:03.000000000","message":"we can think of other strategies in addition to migration.\nIf we cannot do migration, what to do? cut the workload, etc.?","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":91,"context_line":"the Ceilometer database. This is one of the reason why it was rarely used in"},{"line_number":92,"context_line":"production environment. These issues may now be solved thanks to an"},{"line_number":93,"context_line":"abstraction layer which enables anybody to change the underlying metrics"},{"line_number":94,"context_line":"storage backend easily."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Other deployer impact"},{"line_number":97,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_87595190","line":94,"updated":"2015-12-08 15:34:56.000000000","message":"There is also a performance issue when you query the Nova DB to get cpu usage metrics, you should mention it here.","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Other deployer impact"},{"line_number":97,"context_line":"---------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Configuration"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Developer impact"},{"line_number":102,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_c7caf91a","line":99,"updated":"2015-12-08 15:34:56.000000000","message":"change it to \"None\"","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":19539,"name":"Mehdi Sheikhalishahi","email":"mehdi.sheikhalishahi@create-net.org"},"change_message_id":"e9b2751f080ccaf39d8dd1a93b101982928c80fa","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Work Items"},{"line_number":118,"context_line":"----------"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"1. function to use Ceilometer client to get outlet temperature of servers."},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_7809bcdc","line":118,"updated":"2015-12-07 10:25:03.000000000","message":"what does function refer to in the following? better to be more precise.","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Work Items"},{"line_number":118,"context_line":"----------"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"1. function to use Ceilometer client to get outlet temperature of servers."},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_a746cd78","line":118,"in_reply_to":"7a740942_7809bcdc","updated":"2015-12-08 15:34:56.000000000","message":"please rewrite your work items as atomic tasks that can be used for tracking code reviews. You should have one review for each work item.","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":13790,"name":"Zhenzan Zhou","email":"linuxosa@gmail.com","username":"zhenzanzhou"},"change_message_id":"0bd46a9ae1093d331da67b552238a38c1f001a6e","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"2. function to filter servers by Nova basic metrics(free CPU/Memory/Disk)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"3. Rewrite execute function to add the algorism to detect if the threshold"},{"line_number":125,"context_line":"   of outlet T has been reached and choose the target servers, generate"},{"line_number":126,"context_line":"   action plan."},{"line_number":127,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_6cd4a51f","line":124,"updated":"2015-12-07 07:55:50.000000000","message":"s/algorism/algorithm/","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":134,"context_line":"* https://blueprints.launchpad.net/ceilometer/+spec/api-v2-improvement"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* http://docs.openstack.org/admin-guide-cloud/telemetry-measurements.html"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Testing"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_272add90","line":137,"updated":"2015-12-08 15:34:56.000000000","message":"please add a link regarding the Nova DB query on cpu usage","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"3ccb76b9b38642befeefdf9ffb13b37da8859533","unresolved":false,"context_lines":[{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Unit tests on the Watcher Decision Engine"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Documentation Impact"},{"line_number":146,"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":3,"id":"7a740942_22464b4f","line":143,"updated":"2015-12-08 15:34:56.000000000","message":"You need to provide unit tests in your code but also a functional test to run your algorithm. \nWhat if thermal metrics are not available on the running infrastructure ? Do you provide a fake metrics set ?","commit_id":"934819a116e8a2adf3fc53348db2023a9255a68f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"7b3837dd0c7668b0fd52619ce1aad90a93f61aab","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"----------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Administrator can trigger an audit that will be able to detect that a thermal"},{"line_number":34,"context_line":"optimization can be triggered, generate action plans."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a7e1126_453e50db","line":32,"updated":"2015-12-18 13:42:46.000000000","message":"nit: for consistent format with other specs.\ncan you add : \nAs an administrator.","commit_id":"0ec9ad07684578c809deb5dbcbc217d733580f7e"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"7b3837dd0c7668b0fd52619ce1aad90a93f61aab","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"----------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Administrator can trigger an audit that will be able to detect that a thermal"},{"line_number":34,"context_line":"optimization can be triggered, generate action plans."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a7e1126_425ac62b","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":13},"updated":"2015-12-18 13:42:46.000000000","message":"As an administrator.\nI want to be able to trigger an audit that controls the temperature and perform workloads load balancing. \n\nIn order to: \n- reduce the total power consumption spent on cooling\n- cooling effectiveness is a first order factor in determining the lifespan of the data center","commit_id":"0ec9ad07684578c809deb5dbcbc217d733580f7e"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":24,"context_line":"In current Data Center infrastructure, the cooling air supply to servers can"},{"line_number":25,"context_line":"be different. When a server is overloaded or the supply air is too hot, the"},{"line_number":26,"context_line":"outlet temperature telemetry can be used to detect the problem. In order to"},{"line_number":27,"context_line":"have the server in a reliable-thermal condition, some of the server\u0027s"},{"line_number":28,"context_line":"workloads should be migrated to other server with safer thermal conditions."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_eab9c2ed","line":27,"range":{"start_line":27,"start_character":29,"end_line":27,"end_character":30},"updated":"2015-12-22 18:24:25.000000000","message":"replace with space","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":31,"context_line":"----------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As an administrator, I want to be able to trigger an audit that controls the"},{"line_number":34,"context_line":"temperature and perform workloads load balancing."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"In order to :"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_6ace3285","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":33},"updated":"2015-12-22 18:24:25.000000000","message":"workload","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* Reduce the total power consumption spent on cooling."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Cooling effectiveness is a first order factor in determing the lifespan of"},{"line_number":41,"context_line":"  the data center."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_aa817afd","line":40,"updated":"2015-12-22 18:24:25.000000000","message":"Re-word as \"Increase the lifespan of the data center because cooling effectiveness is a first order factor.\"","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Set the threshold in 2 steps : hard coded first, then through the template."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Create a new python class to extend the \"BaseStrategy\" class."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Use the Ceilometer client to get Outlet temperature metrics of hypervisors."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_2a76ea3e","line":56,"range":{"start_line":56,"start_character":15,"end_line":56,"end_character":21},"updated":"2015-12-22 18:24:25.000000000","message":"Python","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Use the Ceilometer client to get Outlet temperature metrics of hypervisors."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Use the Nova client to get free CPU/Memory/Disk of hypervisors."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* An algorithm to detect if the threshold of Outlet temperature has been"},{"line_number":63,"context_line":"  reached and to choose the migration target server."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_2aad8a88","line":60,"updated":"2015-12-22 18:24:25.000000000","message":"Why use Nova client vs. just using the Nova objects framework and skip the REST/RPC calls?  This is the approach many other interdependent projects take as well, especially when they\u0027re all plugged into the same OpenStack instance.","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Use the Nova client to get free CPU/Memory/Disk of hypervisors."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* An algorithm to detect if the threshold of Outlet temperature has been"},{"line_number":63,"context_line":"  reached and to choose the migration target server."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_2af26a9b","line":62,"updated":"2015-12-22 18:24:25.000000000","message":"Note that when the algorithm selects the target servers, it should be an ordering function that\u0027s applied *post* calling select_destinations() from the scheduler\u0027s API.  That is, we want to ensure the first step is getting *viable* targets from the nova scheduler and then *order* the viable candidates based on the \u0027score\u0027 of the outlet temperature re-balancing.","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":102,"context_line":"abstraction layer which enables anybody to change the underlying metrics"},{"line_number":103,"context_line":"storage backend easily."},{"line_number":104,"context_line":"There is also a performance issue when you query the Nova DB to get cpu"},{"line_number":105,"context_line":"usage metrics."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Other deployer impact"},{"line_number":108,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_0acc4e34","line":105,"updated":"2015-12-22 18:24:25.000000000","message":"How will this be solved?  I think we might still run into this problem... it\u0027s not a show-stopper, but I am just wondering what we\u0027re doing to make us think Ceilometer won\u0027t pose a performance problem?  Is there some other caching that\u0027s happening somewhere?","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Work Items"},{"line_number":129,"context_line":"----------"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"1. function to use Ceilometer client to get outlet temperature of servers."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"2. function to filter servers by Nova basic metrics(free CPU/Memory/Disk)"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_cad5e6b9","line":131,"updated":"2015-12-22 18:24:25.000000000","message":"server \u003d hypervisor?  if so, please clarify since \u0027server\u0027 usually means \u0027VM\u0027","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"b8c7c718dbe37e95bde20b5901dbd93f55db3d55","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"1. function to use Ceilometer client to get outlet temperature of servers."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"2. function to filter servers by Nova basic metrics(free CPU/Memory/Disk)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"3. Rewrite execute function to add the algorithm to detect if the threshold"},{"line_number":136,"context_line":"   of outlet T has been reached and choose the target servers, generate"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a7b0d38_6adb92ee","line":133,"updated":"2015-12-22 18:24:25.000000000","message":"Ditto; also note that we should be using the nova scheduler\u0027s select_destinations() API to find viable targets, not re-writing the logic ourselves (since we\u0027d otherwise miss a lot of filters too)","commit_id":"2c170bc2723b71af96d9b8881f98deec5bdc56a8"}]}
