)]}'
{"doc/source/devref/specs/pike/on-end-options.rst":[{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"05615b276199f60acbfa2603d77989f3592e331b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"For host reservation feature, we propose to change the behavior at the end of a"},{"line_number":14,"context_line":"lease to force-delete running instances for avoiding failure of other following"},{"line_number":15,"context_line":"leases. In addition, we propose to add options for the action taken before the"},{"line_number":16,"context_line":"force-deletion."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"},{"line_number":19,"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":1,"id":"5a22e58a_b4f20e6e","line":16,"updated":"2017-03-14 08:34:49.000000000","message":"I propose to add a sentence saying that of course the owner of a lease is free to request an \"update release\" prior to the lease end time to extend the lease (if possible) .","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"1af8236160de27eee989ce3a6c4a6629f4f31848","unresolved":false,"context_lines":[{"line_number":13,"context_line":"For host reservation feature, we propose to change the behavior at the end of a"},{"line_number":14,"context_line":"lease to force-delete running instances for avoiding failure of other following"},{"line_number":15,"context_line":"leases. In addition, we propose to add options for the action taken before the"},{"line_number":16,"context_line":"force-deletion."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"},{"line_number":19,"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":1,"id":"3a1ff146_ab1d3bbf","line":16,"in_reply_to":"5a22e58a_b4f20e6e","updated":"2017-03-15 00:49:47.000000000","message":"Agree. I\u0027ve added the sentence.","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"05615b276199f60acbfa2603d77989f3592e331b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Use Cases"},{"line_number":27,"context_line":"---------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* All user want Blazar to be punctual for guaranteeing a fairness for all"},{"line_number":30,"context_line":"  leases."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* A user wants snapshots of instances if the workload does not finish in the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a22e58a_54aaba1a","line":29,"range":{"start_line":29,"start_character":55,"end_line":29,"end_character":56},"updated":"2017-03-14 08:34:49.000000000","message":"remove the \"a\"","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"05615b276199f60acbfa2603d77989f3592e331b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Use Cases"},{"line_number":27,"context_line":"---------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* All user want Blazar to be punctual for guaranteeing a fairness for all"},{"line_number":30,"context_line":"  leases."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* A user wants snapshots of instances if the workload does not finish in the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a22e58a_147762d5","line":29,"range":{"start_line":29,"start_character":6,"end_line":29,"end_character":10},"updated":"2017-03-14 08:34:49.000000000","message":"s/user/users/","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"1af8236160de27eee989ce3a6c4a6629f4f31848","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Use Cases"},{"line_number":27,"context_line":"---------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* All user want Blazar to be punctual for guaranteeing a fairness for all"},{"line_number":30,"context_line":"  leases."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* A user wants snapshots of instances if the workload does not finish in the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_8b779f01","line":29,"range":{"start_line":29,"start_character":55,"end_line":29,"end_character":56},"in_reply_to":"5a22e58a_54aaba1a","updated":"2017-03-15 00:49:47.000000000","message":"Done","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"05615b276199f60acbfa2603d77989f3592e331b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* All user want Blazar to be punctual for guaranteeing a fairness for all"},{"line_number":30,"context_line":"  leases."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* A user wants snapshots of instances if the workload does not finish in the"},{"line_number":33,"context_line":"  lease period. Then, he will resume the snapshotted instances and restart the"},{"line_number":34,"context_line":"  workload at the next lease period."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a22e58a_7455f61b","line":32,"range":{"start_line":32,"start_character":15,"end_line":32,"end_character":37},"updated":"2017-03-14 08:34:49.000000000","message":"proposal to be more precise about which instances to snapshot:\"to snapshot the instances of the lease\"","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"1af8236160de27eee989ce3a6c4a6629f4f31848","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* All user want Blazar to be punctual for guaranteeing a fairness for all"},{"line_number":30,"context_line":"  leases."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* A user wants snapshots of instances if the workload does not finish in the"},{"line_number":33,"context_line":"  lease period. Then, he will resume the snapshotted instances and restart the"},{"line_number":34,"context_line":"  workload at the next lease period."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_6bd8a3f0","line":32,"range":{"start_line":32,"start_character":15,"end_line":32,"end_character":37},"in_reply_to":"5a22e58a_7455f61b","updated":"2017-03-15 00:49:47.000000000","message":"I\u0027ve updated here to be more precise. thanks!","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"05615b276199f60acbfa2603d77989f3592e331b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Supported before_end actions:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* snapshot : Take snapshots of running instances before deletion."},{"line_number":58,"context_line":"* [Agreed NOT to support] keep_running : Keep instances running."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"We expect other options will be proposed in the future."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a22e58a_b4168ea5","line":58,"range":{"start_line":58,"start_character":3,"end_line":58,"end_character":24},"updated":"2017-03-14 08:34:49.000000000","message":"Agreed NOT to support in this release","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"1af8236160de27eee989ce3a6c4a6629f4f31848","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Supported before_end actions:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* snapshot : Take snapshots of running instances before deletion."},{"line_number":58,"context_line":"* [Agreed NOT to support] keep_running : Keep instances running."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"We expect other options will be proposed in the future."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_6bffc334","line":58,"range":{"start_line":58,"start_character":3,"end_line":58,"end_character":24},"in_reply_to":"5a22e58a_b4168ea5","updated":"2017-03-15 00:49:47.000000000","message":"Done","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"05615b276199f60acbfa2603d77989f3592e331b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"  instances."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* STEP2: Add the before-end action. Implements corresponding methods and"},{"line_number":142,"context_line":"  events, and add\u0027before_end_action\u0027 and \u0027safety_time\u0027 configs."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* STEP3: Add \u0027before_end_action\u0027 and \u0027safety_time\u0027 parameters to REST APIs."},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a22e58a_d4114a5f","line":142,"range":{"start_line":142,"start_character":14,"end_line":142,"end_character":17},"updated":"2017-03-14 08:34:49.000000000","message":"s/add\u0027before/add \u0027before/","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"1af8236160de27eee989ce3a6c4a6629f4f31848","unresolved":false,"context_lines":[{"line_number":139,"context_line":"  instances."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* STEP2: Add the before-end action. Implements corresponding methods and"},{"line_number":142,"context_line":"  events, and add\u0027before_end_action\u0027 and \u0027safety_time\u0027 configs."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* STEP3: Add \u0027before_end_action\u0027 and \u0027safety_time\u0027 parameters to REST APIs."},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_0b9f2f04","line":142,"range":{"start_line":142,"start_character":14,"end_line":142,"end_character":17},"in_reply_to":"5a22e58a_d4114a5f","updated":"2017-03-15 00:49:47.000000000","message":"Done","commit_id":"5b4143266e9b74a92ef600b4e1531c4165a1c0d8"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a658f4c878e8417d17d996e98648927672c68f1f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Change the on_end() method of the PhysicalHostPlugin class to delete running"},{"line_number":44,"context_line":"instances at the end of the lease period by default."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Furthermore, support options for the action taken before the deletion. Add a"},{"line_number":47,"context_line":"new event \u0027action_before_end\u0027 that triggers the actions. This event is"},{"line_number":48,"context_line":"registered and changed at the creation of a lease and update of a lease."},{"line_number":49,"context_line":"A default action can be configured and users can specify the action turough"},{"line_number":50,"context_line":"a parameter of requests."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_fba46a09","line":47,"range":{"start_line":46,"start_character":71,"end_line":47,"end_character":29},"updated":"2017-03-17 15:30:44.000000000","message":"Why do you add the new option?  I thought this bp changes default on_end action from keep_running to delete_instances, then adds new on_end actions, take_snapshot, migration and so on, later.","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"8f21b7af3d64fb18a75be52e42134977dec70f5e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Change the on_end() method of the PhysicalHostPlugin class to delete running"},{"line_number":44,"context_line":"instances at the end of the lease period by default."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Furthermore, support options for the action taken before the deletion. Add a"},{"line_number":47,"context_line":"new event \u0027action_before_end\u0027 that triggers the actions. This event is"},{"line_number":48,"context_line":"registered and changed at the creation of a lease and update of a lease."},{"line_number":49,"context_line":"A default action can be configured and users can specify the action turough"},{"line_number":50,"context_line":"a parameter of requests."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_13761ca4","line":47,"range":{"start_line":46,"start_character":71,"end_line":47,"end_character":29},"in_reply_to":"1a1ced50_fba46a09","updated":"2017-03-21 07:16:57.000000000","message":"I think actions like \"snapshot\" and \"migration\" should be taken before the \"on_end,\" not at the \"on_end.\" So I propose to add a new event \"action_before_end\" which is triggered \u0027safety_time\u0027 prior to the \"on_end.\"","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a658f4c878e8417d17d996e98648927672c68f1f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"deletion of instances. A default safety_time can be configured and users can"},{"line_number":54,"context_line":"specify the the safety_time through a parameter of requrests."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Supported before_end actions:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* snapshot : Take snapshots of running instances before deletion."},{"line_number":59,"context_line":"* [Agreed NOT to support in this release] keep_running : Keep instances"},{"line_number":60,"context_line":"  running."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"We expect other options will be proposed in the future."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_d63e8eb7","line":60,"range":{"start_line":56,"start_character":1,"end_line":60,"end_character":10},"updated":"2017-03-17 15:30:44.000000000","message":"This comment is related to above one.\n\nHow does the before_end action work in first implementation? I can imagine following sequence. If it\u0027s correct, keep_running keeps current behaviors and seems to be a first target, doesn\u0027t it?\n\n1. take a snapshot of instances on reserved hosts at before_end action\n2. wait the snapshot finishes until the safety_time passes\n3. delete the instances at on_end action","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"8f21b7af3d64fb18a75be52e42134977dec70f5e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"deletion of instances. A default safety_time can be configured and users can"},{"line_number":54,"context_line":"specify the the safety_time through a parameter of requrests."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Supported before_end actions:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* snapshot : Take snapshots of running instances before deletion."},{"line_number":59,"context_line":"* [Agreed NOT to support in this release] keep_running : Keep instances"},{"line_number":60,"context_line":"  running."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"We expect other options will be proposed in the future."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_d3180421","line":60,"range":{"start_line":56,"start_character":1,"end_line":60,"end_character":10},"in_reply_to":"1a1ced50_d63e8eb7","updated":"2017-03-21 07:16:57.000000000","message":"My planning sequence is just same with your assumption. However, there is a misunderstanding for \"keep_running\" because my description was not correct. The \"keep_running\" is an option for \"on_end\", NOT for \"action_before_end.\" And we have agreed that running instances should be deleted at on_end by default and NOT to support \"keep_running\" because it can cause a failure of other reservation.\nI\u0027ve removed the \"keep_running\" option.","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"f7aac005dd84b4f5e69bd2bbc607571b10a902ce","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* A new event \u0027action_before_end\u0027 will be added"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* A new \u0027action_before_end\u0027 method will be added to the ManageService class and"},{"line_number":75,"context_line":"  corresponding \u0027before_end\u0027 method will be added to the PhysicalHostPlugin"},{"line_number":76,"context_line":"  class."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_5e80cc46","line":74,"range":{"start_line":74,"start_character":56,"end_line":74,"end_character":69},"updated":"2017-03-20 05:43:01.000000000","message":"s/ManageService/ManagerService/ ?","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"8f21b7af3d64fb18a75be52e42134977dec70f5e","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* A new event \u0027action_before_end\u0027 will be added"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* A new \u0027action_before_end\u0027 method will be added to the ManageService class and"},{"line_number":75,"context_line":"  corresponding \u0027before_end\u0027 method will be added to the PhysicalHostPlugin"},{"line_number":76,"context_line":"  class."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_53a33400","line":74,"range":{"start_line":74,"start_character":56,"end_line":74,"end_character":69},"in_reply_to":"1a1ced50_5e80cc46","updated":"2017-03-21 07:16:57.000000000","message":"Done","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"f7aac005dd84b4f5e69bd2bbc607571b10a902ce","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* URL: POST /v2/leases"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  Add parameters:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  * before_end_action"},{"line_number":86,"context_line":"  * safety_time"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* URL: PUT /v2/leases"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_de5e7c11","line":86,"range":{"start_line":83,"start_character":0,"end_line":86,"end_character":15},"updated":"2017-03-20 05:43:01.000000000","message":"Could you describe where the parameters is added? The request body has json object and it can be nested.","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"8f21b7af3d64fb18a75be52e42134977dec70f5e","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* URL: POST /v2/leases"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  Add parameters:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  * before_end_action"},{"line_number":86,"context_line":"  * safety_time"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* URL: PUT /v2/leases"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_af64fee4","line":86,"range":{"start_line":83,"start_character":0,"end_line":86,"end_character":15},"in_reply_to":"1a1ced50_de5e7c11","updated":"2017-03-21 07:16:57.000000000","message":"I\u0027ve added an example that shows where to add.","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"f7aac005dd84b4f5e69bd2bbc607571b10a902ce","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Security impact"},{"line_number":96,"context_line":"---------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Notifications impact"},{"line_number":101,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_de683c8a","line":98,"updated":"2017-03-20 05:43:01.000000000","message":"Now that I\u0027m thinking of it, we need some validations if users can specify actions with API request.  start_lease/end_lease event call on_start/on_end method in current implementation. If user can specify any method name in API request, it enables user to execute any method in plugin class.\n\nFor security reason, it\u0027s better to make the action method configurable or not by blazar.conf or somewhere.","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"8f21b7af3d64fb18a75be52e42134977dec70f5e","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Security impact"},{"line_number":96,"context_line":"---------------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Notifications impact"},{"line_number":101,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a1ced50_13b8dcc7","line":98,"in_reply_to":"1a1ced50_de683c8a","updated":"2017-03-21 07:16:57.000000000","message":"I plan to add before_end method into the plugin. And I plan the parameter \"action_before_end\" can change only the behavior of before_end method. So, users cannot specify method names and no security impact.","commit_id":"b8f2c7f5745b24a7f2d524474ddcecf2e4123631"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  finish in the lease period. Then, he will resume the snapshotted instances"},{"line_number":35,"context_line":"  and restart the workload at the next lease period."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* A user wants to use instances just temporally. And he wants those instances"},{"line_number":38,"context_line":"  to be just auto-deleted at the end of the lease period."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_5fa939dd","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":47},"updated":"2017-03-24 08:47:09.000000000","message":"temporarily","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  finish in the lease period. Then, he will resume the snapshotted instances"},{"line_number":35,"context_line":"  and restart the workload at the next lease period."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* A user wants to use instances just temporally. And he wants those instances"},{"line_number":38,"context_line":"  to be just auto-deleted at the end of the lease period."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_dc0ba27a","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":47},"in_reply_to":"ffe62b97_5fa939dd","updated":"2017-03-28 02:07:56.000000000","message":"Done","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  and restart the workload at the next lease period."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* A user wants to use instances just temporally. And he wants those instances"},{"line_number":38,"context_line":"  to be just auto-deleted at the end of the lease period."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"},{"line_number":41,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_3f979593","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":12},"updated":"2017-03-24 08:47:09.000000000","message":"\"just\" is not needed","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"  and restart the workload at the next lease period."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* A user wants to use instances just temporally. And he wants those instances"},{"line_number":38,"context_line":"  to be just auto-deleted at the end of the lease period."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Proposed change"},{"line_number":41,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_bc10dea9","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":12},"in_reply_to":"ffe62b97_3f979593","updated":"2017-03-28 02:07:56.000000000","message":"Done","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Furthermore, support options for the action taken before the deletion. For this"},{"line_number":47,"context_line":"purpose, extend the existing before_end_lease event which is used only for the"},{"line_number":48,"context_line":"bofore_end notification for now. We plan to support following actions for the"},{"line_number":49,"context_line":"before_end_lease:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* notification: Notify the lease owner that the lease will end soon. (Currently"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_9fd6a14f","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":10},"updated":"2017-03-24 08:47:09.000000000","message":"typo: before_end","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Furthermore, support options for the action taken before the deletion. For this"},{"line_number":47,"context_line":"purpose, extend the existing before_end_lease event which is used only for the"},{"line_number":48,"context_line":"bofore_end notification for now. We plan to support following actions for the"},{"line_number":49,"context_line":"before_end_lease:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* notification: Notify the lease owner that the lease will end soon. (Currently"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_5c1f92b6","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":10},"in_reply_to":"ffe62b97_9fd6a14f","updated":"2017-03-28 02:07:56.000000000","message":"Done","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* notification: Notify the lease owner that the lease will end soon. (Currently"},{"line_number":52,"context_line":"  supported)"},{"line_number":53,"context_line":"* snapshot: Take snapshots of running instances before deletion."},{"line_number":54,"context_line":"* migration: Magrate running instances."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"We expect other options will be proposed in the future."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_7f599dfc","line":54,"range":{"start_line":54,"start_character":13,"end_line":54,"end_character":20},"updated":"2017-03-24 08:47:09.000000000","message":"typo: Migrate","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* notification: Notify the lease owner that the lease will end soon. (Currently"},{"line_number":52,"context_line":"  supported)"},{"line_number":53,"context_line":"* snapshot: Take snapshots of running instances before deletion."},{"line_number":54,"context_line":"* migration: Magrate running instances."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"We expect other options will be proposed in the future."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_9c6e3a2d","line":54,"range":{"start_line":54,"start_character":13,"end_line":54,"end_character":20},"in_reply_to":"ffe62b97_7f599dfc","updated":"2017-03-28 02:07:56.000000000","message":"Done","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":64,"context_line":"------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Use NOT the before_end_lease BUT the on_end event for the actions like"},{"line_number":67,"context_line":"snapshot. The on_end event triggered at the end of lease for now. Change that"},{"line_number":68,"context_line":"to be triggered at the specific time window prior to the end of lease. Make"},{"line_number":69,"context_line":"the length of the time window configurable."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_df69c98b","line":67,"range":{"start_line":67,"start_character":27,"end_line":67,"end_character":36},"updated":"2017-03-24 08:47:09.000000000","message":"is triggered","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Use NOT the before_end_lease BUT the on_end event for the actions like"},{"line_number":67,"context_line":"snapshot. The on_end event triggered at the end of lease for now. Change that"},{"line_number":68,"context_line":"to be triggered at the specific time window prior to the end of lease. Make"},{"line_number":69,"context_line":"the length of the time window configurable."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_1c646a49","line":67,"range":{"start_line":67,"start_character":27,"end_line":67,"end_character":36},"in_reply_to":"ffe62b97_df69c98b","updated":"2017-03-28 02:07:56.000000000","message":"Done","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Use NOT the before_end_lease BUT the on_end event for the actions like"},{"line_number":67,"context_line":"snapshot. The on_end event triggered at the end of lease for now. Change that"},{"line_number":68,"context_line":"to be triggered at the specific time window prior to the end of lease. Make"},{"line_number":69,"context_line":"the length of the time window configurable."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Data model impact"},{"line_number":72,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_9fd7c124","line":69,"range":{"start_line":69,"start_character":42,"end_line":69,"end_character":43},"updated":"2017-03-24 08:47:09.000000000","message":"Should we provide a short evaluation why we prefer the above aproach to this alternative, e.g. because of its impact on the code?","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Use NOT the before_end_lease BUT the on_end event for the actions like"},{"line_number":67,"context_line":"snapshot. The on_end event triggered at the end of lease for now. Change that"},{"line_number":68,"context_line":"to be triggered at the specific time window prior to the end of lease. Make"},{"line_number":69,"context_line":"the length of the time window configurable."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Data model impact"},{"line_number":72,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_7c0c9640","line":69,"range":{"start_line":69,"start_character":42,"end_line":69,"end_character":43},"in_reply_to":"ffe62b97_9fd7c124","updated":"2017-03-28 02:07:56.000000000","message":"I\u0027ve added the reason why we prefer the above approach.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* URL: POST /v2/leases"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  * Add a new parameter \"before_end_action\""},{"line_number":82,"context_line":"  * Change the parameter \"before_end_lease\" to \"before_end_date\""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    Example:"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_bf896527","line":82,"range":{"start_line":82,"start_character":4,"end_line":82,"end_character":64},"updated":"2017-03-24 08:47:09.000000000","message":"The reason for this change is not provided above. I guess it is to align the terminology as the term \"lease\" is not used on the current JSON parameters as shown below.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* URL: POST /v2/leases"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  * Add a new parameter \"before_end_action\""},{"line_number":82,"context_line":"  * Change the parameter \"before_end_lease\" to \"before_end_date\""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    Example:"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_efd90657","line":82,"range":{"start_line":82,"start_character":4,"end_line":82,"end_character":64},"in_reply_to":"ffe62b97_bf896527","updated":"2017-03-28 02:07:56.000000000","message":"I\u0027ve added the reason for this change.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* URL: PUT /v2/leases"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"  same with the changes for the POST."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Security impact"},{"line_number":111,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_5f9db957","line":108,"range":{"start_line":108,"start_character":2,"end_line":108,"end_character":36},"updated":"2017-03-24 08:47:09.000000000","message":"same changes as for the POST request.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* URL: PUT /v2/leases"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"  same with the changes for the POST."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Security impact"},{"line_number":111,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_8fe83ae2","line":108,"range":{"start_line":108,"start_character":2,"end_line":108,"end_character":36},"in_reply_to":"ffe62b97_5f9db957","updated":"2017-03-28 02:07:56.000000000","message":"Done","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":133,"context_line":"* A deployer should care following configs:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  * before_end_action"},{"line_number":136,"context_line":"  * before_end_window"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Developer impact"},{"line_number":139,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_5feb79af","line":136,"range":{"start_line":136,"start_character":4,"end_line":136,"end_character":21},"updated":"2017-03-24 08:47:09.000000000","message":"This is not introduced/defined anywhere in this document.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":155,"context_line":"* STEP1: Change the behavior at the end of a lease to force-delete running"},{"line_number":156,"context_line":"  instances."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* STEP2: Change the before_end_lease event to support configurable actions."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* STEP3: Change REST APIs."},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_7f34fd4a","line":158,"range":{"start_line":158,"start_character":20,"end_line":158,"end_character":36},"updated":"2017-03-24 08:47:09.000000000","message":"and also rename it to before_end_date as mentioned above","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":155,"context_line":"* STEP1: Change the behavior at the end of a lease to force-delete running"},{"line_number":156,"context_line":"  instances."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* STEP2: Change the before_end_lease event to support configurable actions."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* STEP3: Change REST APIs."},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_8fa4baa7","line":158,"range":{"start_line":158,"start_character":20,"end_line":158,"end_character":36},"in_reply_to":"ffe62b97_7f34fd4a","updated":"2017-03-28 02:07:56.000000000","message":"I\u0027ve added the explanation for this.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"9ee7678df4f1083ff100694b44e7844124ea2457","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* Unit tests"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"  * STEP1: Check all running instances being deleted at the end of lease."},{"line_number":176,"context_line":"  * STEP2: Check the before_end_lease action being triggered and completed."},{"line_number":177,"context_line":"  * STEP3: Check the new parameters being correctly processed."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_ff47edbb","line":176,"range":{"start_line":176,"start_character":21,"end_line":176,"end_character":37},"updated":"2017-03-24 08:47:09.000000000","message":"before_end_date","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"0666d7a7554e8f00d9507ce1232783a171546cc1","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* Unit tests"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"  * STEP1: Check all running instances being deleted at the end of lease."},{"line_number":176,"context_line":"  * STEP2: Check the before_end_lease action being triggered and completed."},{"line_number":177,"context_line":"  * STEP3: Check the new parameters being correctly processed."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ffe62b97_4fd8f21c","line":176,"range":{"start_line":176,"start_character":21,"end_line":176,"end_character":37},"in_reply_to":"ffe62b97_ff47edbb","updated":"2017-03-28 02:07:56.000000000","message":"I\u0027m sorry for confusing but its correct. \"before_end_lease\" is a name of event that triggers actions like snapshot, and \"before_end_date\" is a name of time which is set for the \"before_end_lease\" event.","commit_id":"b6c9f2232e87d18839f86f14dc799aef0476dde4"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"442dee5351aa509d976183a35c5ac78d1b874805","unresolved":false,"context_lines":[{"line_number":71,"context_line":"This change may complicates the event handling because the end_lease event"},{"line_number":72,"context_line":"can trigger multiple actions, e.g., take snapshot and then delete the instance,"},{"line_number":73,"context_line":"while the before_end_lease solution keeps one-event-to-one-action relationship."},{"line_number":74,"context_line":"Therefore, we prefer the before_end_lease solution."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_129d71bb","line":74,"updated":"2017-03-28 02:25:10.000000000","message":"I agree that it\u0027s more complicate.","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"442dee5351aa509d976183a35c5ac78d1b874805","unresolved":false,"context_lines":[{"line_number":82,"context_line":"REST API impact"},{"line_number":83,"context_line":"---------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* URL: POST /v2/leases"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  * Add a new parameter \"before_end_action\""},{"line_number":88,"context_line":"  * Change the parameter \"before_end_lease\" to \"before_end_date\". This change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_d21f0959","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":22},"updated":"2017-03-28 02:25:10.000000000","message":"How does the v1 API work with the change?  Blazar officially supports v1 API now. If this also has an impact to v1 it\u0027s better to mention it.\n\nFor instance, if users can change the action with only v2 API it\u0027s good to write the constraints.","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"5c9847e0484448d39f33e6efca00cf091adbaf0f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"REST API impact"},{"line_number":83,"context_line":"---------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* URL: POST /v2/leases"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  * Add a new parameter \"before_end_action\""},{"line_number":88,"context_line":"  * Change the parameter \"before_end_lease\" to \"before_end_date\". This change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_edc90eac","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":22},"in_reply_to":"ffe62b97_d21f0959","updated":"2017-03-28 05:17:24.000000000","message":"v1 doesn\u0027t support \"before_end_lease\" field and I plan to support these new parameters only for v2 API. I\u0027ve added the notice.\nWe should decide when to completely move to v2 (or new v3) though.","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"442dee5351aa509d976183a35c5ac78d1b874805","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"      {"},{"line_number":96,"context_line":"          \"name\": \"lease_foo\","},{"line_number":97,"context_line":"\t  \"start_date\": \"2017-3-21 15:00\","},{"line_number":98,"context_line":"\t  \"end_date\": \"2017-03-24 15:00\","},{"line_number":99,"context_line":"\t  \"before_end_date\": \"2017-3-24 14:00\","},{"line_number":100,"context_line":"\t  \"reservations\": ["},{"line_number":101,"context_line":"\t      {"},{"line_number":102,"context_line":"\t          \"resource_id\": \"1234\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_12d45147","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":40},"updated":"2017-03-28 02:25:10.000000000","message":"For event date, it\u0027s ok not to be in event objects since one event is combined to one lease.","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"442dee5351aa509d976183a35c5ac78d1b874805","unresolved":false,"context_lines":[{"line_number":107,"context_line":"\t\t  \"before_end_action\": \"snapshot\""},{"line_number":108,"context_line":"\t      }"},{"line_number":109,"context_line":"\t  ],"},{"line_number":110,"context_line":"\t  \"events\": []"},{"line_number":111,"context_line":"      }"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* URL: PUT /v2/leases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_5233f9f6","line":110,"range":{"start_line":110,"start_character":3,"end_line":110,"end_character":15},"updated":"2017-03-28 02:25:10.000000000","message":"I thought details of an event should be defined here like following.  It\u0027s easy to handle the db data in server side and to make the *event* data generic.\n\n\"events\" [\n  {\n    \"event_type\": \"before_end_lease\",\n    \"action\": \"snapshot\",\n    ..snippet..\n  }\n]","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":23840,"name":"Hiroaki Kobayashi","email":"kobayashi.hiroaki@lab.ntt.co.jp","username":"hiro-kobayashi"},"change_message_id":"5c9847e0484448d39f33e6efca00cf091adbaf0f","unresolved":false,"context_lines":[{"line_number":107,"context_line":"\t\t  \"before_end_action\": \"snapshot\""},{"line_number":108,"context_line":"\t      }"},{"line_number":109,"context_line":"\t  ],"},{"line_number":110,"context_line":"\t  \"events\": []"},{"line_number":111,"context_line":"      }"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* URL: PUT /v2/leases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_9e962a4c","line":110,"range":{"start_line":110,"start_character":3,"end_line":110,"end_character":15},"in_reply_to":"ffe62b97_5233f9f6","updated":"2017-03-28 05:17:24.000000000","message":"One lease can contain multiple reservations. And I think before_end action should be set per the reservation (nearly equal to \"per resource plugin\").\n\nSo I think the \"action\" parameter should be contained not in event table but in the reservation table. That means one \"before_end_lease\" event triggers one action per reservation (per resource-plugin). So, I plan to specify before_end_time per lease and before_end_action per reservation.\n\nHowever, \"notification\" is exceptional. I think it is not needed to send before_end notification per reservation. So, \"notification\" should be \"one per lease\" while other actions like \"snapshot\" should be \"one per reservation.\" Possible solution is to make the before_end notification as a default action per lease, and take additional actions like snapshot per reservation. e.g. If the lease contains 3 reservations, ONE notification will be sent and an additional action will be taken per reservation (3 additional actions in total) at the before_end_lease event. How do you think?","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"717a47783f9af83b3b873abd292a51de6bafd894","unresolved":false,"context_lines":[{"line_number":107,"context_line":"\t\t  \"before_end_action\": \"snapshot\""},{"line_number":108,"context_line":"\t      }"},{"line_number":109,"context_line":"\t  ],"},{"line_number":110,"context_line":"\t  \"events\": []"},{"line_number":111,"context_line":"      }"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* URL: PUT /v2/leases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_a9e7fe46","line":110,"range":{"start_line":110,"start_character":3,"end_line":110,"end_character":15},"in_reply_to":"ffe62b97_5bd42648","updated":"2017-03-30 11:37:19.000000000","message":"It makes sense.","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"},{"author":{"_account_id":17352,"name":"Gerald Kunzmann","email":"kunzmann@docomolab-euro.com","username":"GeraldK"},"change_message_id":"e649efcbb155590bd1dfef0515072c4b7f425759","unresolved":false,"context_lines":[{"line_number":107,"context_line":"\t\t  \"before_end_action\": \"snapshot\""},{"line_number":108,"context_line":"\t      }"},{"line_number":109,"context_line":"\t  ],"},{"line_number":110,"context_line":"\t  \"events\": []"},{"line_number":111,"context_line":"      }"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* URL: PUT /v2/leases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffe62b97_5bd42648","line":110,"range":{"start_line":110,"start_character":3,"end_line":110,"end_character":15},"in_reply_to":"ffe62b97_9e962a4c","updated":"2017-03-28 10:23:50.000000000","message":"It may be beneficial -as you propose- to allow for different on_end actions per reservation in a lease.\nI agree, it would be sufficient to send a single notification about the lease to end soon.","commit_id":"aa1c903199f88e87271e6cbfb8c7f51d7610f7b2"}]}
