)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a26bd6b8bd0b5af3da2ac02b1865641eae19b764","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Select destination filter for live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This specification aims at dealing with the ability to find the best possible"},{"line_number":10,"context_line":"target host in case of a live migration as a Watcher action. Today the action"},{"line_number":11,"context_line":"of filtering hosts is done inside the strategy but should be done as a"},{"line_number":12,"context_line":"common function for all our strategies."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3afc51ec_1b13d4b9","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":77},"updated":"2016-03-14 13:00:09.000000000","message":"nit: line length over 72 characters here","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"aee0d7c77ca2b99a001f0995b25a427869ac40f5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Select destination filter for live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This specification aims at dealing with the ability to find the best possible"},{"line_number":10,"context_line":"target host in case of a live migration as a Watcher action. Today the action"},{"line_number":11,"context_line":"of filtering hosts is done inside the strategy but should be done as a"},{"line_number":12,"context_line":"common function for all our strategies."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1af94dfe_bf544a21","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":77},"in_reply_to":"3afc51ec_1b13d4b9","updated":"2016-03-16 13:58:04.000000000","message":"Done","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"8488248df8abc2970a1d85f099a457f09befed9a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Select destination filter for live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This specification aims at dealing with the ability to find the best "},{"line_number":10,"context_line":"possible target host in case of a live migration as a Watcher action. "},{"line_number":11,"context_line":"Today the action of filtering hosts is done inside the strategy but "},{"line_number":12,"context_line":"should be done as a common function for all our strategies."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1af94dfe_e3c24fe8","line":9,"updated":"2016-03-18 10:48:09.000000000","message":"nit:could you please remove extra spaces.","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"8488248df8abc2970a1d85f099a457f09befed9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1af94dfe_83042b4a","line":15,"updated":"2016-03-18 10:48:09.000000000","message":"could you please add blueprint tag ?\nblueprint: select-destinations-filter","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"}],"specs/mitaka/approved/select-destinations-filter.rst":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a26bd6b8bd0b5af3da2ac02b1865641eae19b764","unresolved":false,"context_lines":[{"line_number":30,"context_line":"the strategy but this function should be available as a standalone function in"},{"line_number":31,"context_line":"Watcher to allow any strategy developper to rely on only one filtering"},{"line_number":32,"context_line":"function."},{"line_number":33,"context_line":"This function will be maintained by the Watcher team and deeply related to the"},{"line_number":34,"context_line":"`select_destinations()` method in Nova."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afc51ec_8fd95e86","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":39},"updated":"2016-03-14 13:00:09.000000000","message":"IMHO, we need to explain the reason why we are deciding not to make an RPC call to the `select_destinations()` method.","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"aee0d7c77ca2b99a001f0995b25a427869ac40f5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"the strategy but this function should be available as a standalone function in"},{"line_number":31,"context_line":"Watcher to allow any strategy developper to rely on only one filtering"},{"line_number":32,"context_line":"function."},{"line_number":33,"context_line":"This function will be maintained by the Watcher team and deeply related to the"},{"line_number":34,"context_line":"`select_destinations()` method in Nova."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_bf1c4ac2","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":39},"in_reply_to":"3afc51ec_8fd95e86","updated":"2016-03-16 13:58:04.000000000","message":"I added more info in the alternative topic","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a26bd6b8bd0b5af3da2ac02b1865641eae19b764","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Proposed change"},{"line_number":48,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Move the code of the method `score_of_nodes(self, current_model, score)` in"},{"line_number":51,"context_line":"`watcher/decision_engine/strategy/strategies/basic_consolidation.py` outside"},{"line_number":52,"context_line":"of the strategy implementation to be able to use it from any strategy available"},{"line_number":53,"context_line":"in Watcher."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afc51ec_efbf42f9","line":50,"range":{"start_line":50,"start_character":29,"end_line":50,"end_character":43},"updated":"2016-03-14 13:00:09.000000000","message":"To me, `check_migration()` seems to be the one we need to work on here, not `score_of_nodes()`.","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"aee0d7c77ca2b99a001f0995b25a427869ac40f5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Proposed change"},{"line_number":48,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Move the code of the method `score_of_nodes(self, current_model, score)` in"},{"line_number":51,"context_line":"`watcher/decision_engine/strategy/strategies/basic_consolidation.py` outside"},{"line_number":52,"context_line":"of the strategy implementation to be able to use it from any strategy available"},{"line_number":53,"context_line":"in Watcher."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_5f8426d3","line":50,"range":{"start_line":50,"start_character":29,"end_line":50,"end_character":43},"in_reply_to":"3afc51ec_efbf42f9","updated":"2016-03-16 13:58:04.000000000","message":"Done","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a26bd6b8bd0b5af3da2ac02b1865641eae19b764","unresolved":false,"context_lines":[{"line_number":51,"context_line":"`watcher/decision_engine/strategy/strategies/basic_consolidation.py` outside"},{"line_number":52,"context_line":"of the strategy implementation to be able to use it from any strategy available"},{"line_number":53,"context_line":"in Watcher."},{"line_number":54,"context_line":"Rename this method as `select_destinations()`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afc51ec_2fd48a1e","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":46},"updated":"2016-03-14 13:00:09.000000000","message":"Should we only rename it or are we going to expand on it the way the Nova team does it in their filter scheduler (see https://github.com/openstack/nova/blob/master/nova/scheduler/filter_scheduler.py#L46)?\nAs of now, the `check_destination()` method only checks the capacity of a single compute node whereas it should instead work this out from a list of nodes onto which various filters are applied (not just the capacity).","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"aee0d7c77ca2b99a001f0995b25a427869ac40f5","unresolved":false,"context_lines":[{"line_number":51,"context_line":"`watcher/decision_engine/strategy/strategies/basic_consolidation.py` outside"},{"line_number":52,"context_line":"of the strategy implementation to be able to use it from any strategy available"},{"line_number":53,"context_line":"in Watcher."},{"line_number":54,"context_line":"Rename this method as `select_destinations()`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_fff1b26b","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":46},"in_reply_to":"3afc51ec_2fd48a1e","updated":"2016-03-16 13:58:04.000000000","message":"I updated the function name to handle a list of hypervisors instead of a single compute node.","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a26bd6b8bd0b5af3da2ac02b1865641eae19b764","unresolved":false,"context_lines":[{"line_number":122,"context_line":"   the strategy implementation to be able to use it from any strategy"},{"line_number":123,"context_line":"   available in Watcher."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Rename the method as `select_destinations()`."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* Make it available to every strategy developer."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afc51ec_80c5a43d","line":125,"range":{"start_line":125,"start_character":2,"end_line":125,"end_character":47},"updated":"2016-03-14 13:00:09.000000000","message":"ditto","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"aee0d7c77ca2b99a001f0995b25a427869ac40f5","unresolved":false,"context_lines":[{"line_number":122,"context_line":"   the strategy implementation to be able to use it from any strategy"},{"line_number":123,"context_line":"   available in Watcher."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Rename the method as `select_destinations()`."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* Make it available to every strategy developer."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_3fecba8e","line":125,"range":{"start_line":125,"start_character":2,"end_line":125,"end_character":47},"in_reply_to":"3afc51ec_80c5a43d","updated":"2016-03-16 13:58:04.000000000","message":"Done","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a26bd6b8bd0b5af3da2ac02b1865641eae19b764","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* Rename the method as `select_destinations()`."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* Make it available to every strategy developer."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Dependencies"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3afc51ec_604a18ae","line":128,"updated":"2016-03-14 13:00:09.000000000","message":"Should we expose this as a plugin?","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5785854d5a4d1299f7072c1331c3609080a6b7cd","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* Rename the method as `select_destinations()`."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* Make it available to every strategy developer."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Dependencies"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_26b793d9","line":128,"in_reply_to":"1af94dfe_1f645e20","updated":"2016-03-16 15:03:32.000000000","message":"Yes we have to expose this as a plugin otherwise we cannot let our users to use the magic rpc_call","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"aee0d7c77ca2b99a001f0995b25a427869ac40f5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"* Rename the method as `select_destinations()`."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* Make it available to every strategy developer."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Dependencies"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_1f645e20","line":128,"in_reply_to":"3afc51ec_604a18ae","updated":"2016-03-16 13:58:04.000000000","message":"I\u0027m not really clear about the added value of a \"plugin\" here, if you think it\u0027s the best way to provide it to the strategy developer, we can do it.","commit_id":"49eca7fe42a2fa961726e9139e9f4785b8eea39f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"8488248df8abc2970a1d85f099a457f09befed9a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Rename this method as `select_destinations(self, hypervisors)` and update it"},{"line_number":56,"context_line":"to handle a list of possible compute nodes as input that will be filtered"},{"line_number":57,"context_line":"according to the available capacity of each compute node."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af94dfe_a3d687ee","line":58,"updated":"2016-03-18 10:48:09.000000000","message":"We should provide a generic and dynamic system for adding new implementation of select_destinations","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"ec96ad5ca226688d48e8452b631df52ebdfb2fe3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Rename this method as `select_destinations(self, hypervisors)` and update it"},{"line_number":56,"context_line":"to handle a list of possible compute nodes as input that will be filtered"},{"line_number":57,"context_line":"according to the available capacity of each compute node."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa0719c6_4c95b4e2","line":58,"in_reply_to":"1af94dfe_a3d687ee","updated":"2016-03-21 16:53:04.000000000","message":"Done","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"8488248df8abc2970a1d85f099a457f09befed9a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"   the strategy implementation to be able to use it from any strategy"},{"line_number":126,"context_line":"   available in Watcher."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Rename the method as `select_destinations(self, hypervisors)`."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Make it available to every strategy developer."},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af94dfe_235d5779","line":128,"updated":"2016-03-18 10:48:09.000000000","message":"* refactore the available strategies to use select_destinations","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"ec96ad5ca226688d48e8452b631df52ebdfb2fe3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"   the strategy implementation to be able to use it from any strategy"},{"line_number":126,"context_line":"   available in Watcher."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Rename the method as `select_destinations(self, hypervisors)`."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Make it available to every strategy developer."},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa0719c6_6ca4f856","line":128,"in_reply_to":"1af94dfe_235d5779","updated":"2016-03-21 16:53:04.000000000","message":"Done","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"37694bf34851ba64c2b21004706e8c9886ea1ab0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"   the strategy implementation to be able to use it from any strategy"},{"line_number":126,"context_line":"   available in Watcher."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Rename the method as `select_destinations(self, hypervisors)`."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Make it available to every strategy developer."},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa0719c6_ee802749","line":128,"in_reply_to":"1af94dfe_235d5779","updated":"2016-03-20 13:45:56.000000000","message":"Right, should be done as a stevedore extension.","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"ec96ad5ca226688d48e8452b631df52ebdfb2fe3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"   the strategy implementation to be able to use it from any strategy"},{"line_number":126,"context_line":"   available in Watcher."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Rename the method as `select_destinations(self, hypervisors)`."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Make it available to every strategy developer."},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa0719c6_cc89c4cc","line":128,"in_reply_to":"fa0719c6_ee802749","updated":"2016-03-21 16:53:04.000000000","message":"Done","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"8488248df8abc2970a1d85f099a457f09befed9a","unresolved":false,"context_lines":[{"line_number":140,"context_line":"Existing unit tests should continue to pass after moving the method outside"},{"line_number":141,"context_line":"of the basic consolidation strategy."},{"line_number":142,"context_line":"We should also use the `select_destinations(self, hypervisors)` from another"},{"line_number":143,"context_line":"strategy and verify that hosts filtering is still good."},{"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":4,"id":"1af94dfe_a3a84778","line":143,"updated":"2016-03-18 10:48:09.000000000","message":"Unit tests will be needed for:\n- dynamic loading of select_destination implementations\n- the execution of select_destinations","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"ec96ad5ca226688d48e8452b631df52ebdfb2fe3","unresolved":false,"context_lines":[{"line_number":140,"context_line":"Existing unit tests should continue to pass after moving the method outside"},{"line_number":141,"context_line":"of the basic consolidation strategy."},{"line_number":142,"context_line":"We should also use the `select_destinations(self, hypervisors)` from another"},{"line_number":143,"context_line":"strategy and verify that hosts filtering is still good."},{"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":4,"id":"fa0719c6_ac8610b7","line":143,"in_reply_to":"1af94dfe_a3a84778","updated":"2016-03-21 16:53:04.000000000","message":"Done","commit_id":"6031943f784ac10b7865f48fe8e38f0a18a9f669"}]}
