)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"da1d220ab1b109c03cd0ad446c4ae21fbfe14d5b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zengchen \u003cchenzeng2@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-31 18:20:56 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"schedule service design"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements: blueprint schedule-service-design"},{"line_number":10,"context_line":"Change-Id: Icc9acc0c10a4ae586c78a87426df0dcd13e544e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa69d971_6ecb4ba6","line":7,"updated":"2016-01-04 10:13:45.000000000","message":"This service name has changed to OperationEngine","commit_id":"21d2d5ba365f4a90a649e0ff05b6cec84053a1de"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"5a98768961b2f6a08cf99625d18b834e20d6d81c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zengchen \u003cchenzeng2@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-31 18:20:56 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"schedule service design"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements: blueprint schedule-service-design"},{"line_number":10,"context_line":"Change-Id: Icc9acc0c10a4ae586c78a87426df0dcd13e544e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa69d971_5a293a36","line":7,"in_reply_to":"fa69d971_6ecb4ba6","updated":"2016-01-05 03:51:23.000000000","message":"got it. I have changed it","commit_id":"21d2d5ba365f4a90a649e0ff05b6cec84053a1de"}],"doc/source/schedule-service/create_scheduled_operation_seq_diagram.pu":[{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"participant API_Service as AS"},{"line_number":8,"context_line":"participant API_Service_DB as ASDB"},{"line_number":9,"context_line":"participant Schedule_Service as SS"},{"line_number":10,"context_line":"participant Schedule_Service_DB as SSDB"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"User -\u003e AS:create scheduled operation"},{"line_number":13,"context_line":"activate AS"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa69d971_fa93a7f8","line":10,"range":{"start_line":10,"start_character":12,"end_line":10,"end_character":31},"updated":"2015-12-31 08:12:09.000000000","message":"i suggest to combine the API_Service_DB and Schedule_Service_DB with one DB instance.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"da1d220ab1b109c03cd0ad446c4ae21fbfe14d5b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"User -\u003e AS:create scheduled operation"},{"line_number":13,"context_line":"activate AS"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"AS -\u003e ASDB:get trigger info"},{"line_number":16,"context_line":"activate ASDB"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"ASDB --\u003e AS:trigger info"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"fa69d971_91458218","line":15,"updated":"2016-01-04 10:13:45.000000000","message":"Trigger is only used by Schedule_Service.\nMaybe store trigger info in Schedule_Service_DB would be better.\nWe can discuss this with Eran.","commit_id":"21d2d5ba365f4a90a649e0ff05b6cec84053a1de"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"85499487fc3a4131dcb86036de44a2d39a8f2888","unresolved":false,"context_lines":[{"line_number":12,"context_line":"User -\u003e AS:create scheduled operation"},{"line_number":13,"context_line":"activate AS"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"AS -\u003e ASDB:get trigger info"},{"line_number":16,"context_line":"activate ASDB"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"ASDB --\u003e AS:trigger info"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"fa69d971_5ae05afa","line":15,"in_reply_to":"fa69d971_91458218","updated":"2016-01-05 03:52:54.000000000","message":"maybe we should use one DB. please give your idea!","commit_id":"21d2d5ba365f4a90a649e0ff05b6cec84053a1de"}],"doc/source/schedule-service/create_trigger_seq_diagram.pu":[{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"reate Trigger"},{"line_number":2,"context_line":"hide footbox"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"actor User"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa69d971_da4fc390","line":1,"updated":"2015-12-31 08:12:09.000000000","message":"i got a message \"syntax error\" when opening it, please check if it\u0027s correct.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"}],"doc/source/schedule-service/delete_trigger_seq_diagram.pu":[{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"User -\u003e AS:delete trigger"},{"line_number":11,"context_line":"activate AS"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"AS -\u003e ASDB:get trigger info"},{"line_number":14,"context_line":"activate ASDB"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"ASDB --\u003e AS:trigger info"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa69d971_fdb9612f","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":15},"updated":"2015-12-31 08:12:09.000000000","message":"i think we should consider the consistency of status between the two DB,  i wonder if it\u0027s necessary to add an intermediate status \"deleting\" to record that the trigger status in API db when using two DB.\nbut, i really like to use one DB.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"91fc9dd38a46319631696674ef56400d590005d2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"User -\u003e AS:delete trigger"},{"line_number":11,"context_line":"activate AS"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"AS -\u003e ASDB:get trigger info"},{"line_number":14,"context_line":"activate ASDB"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"ASDB --\u003e AS:trigger info"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa69d971_57011369","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":15},"in_reply_to":"fa69d971_fdb9612f","updated":"2016-01-05 03:17:46.000000000","message":"1.Maybe we should use one DB.\n2.the trigger is stateless, which can simplify the operations. please see the sequence diagrams, the create/list/get operations of Trigger only affect the trigger table. the delete operation has two step, first notify the schedule service to delete the scheduled operations binding with this trigger, second delete the trigger. so there is no need to record the state of trigger.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"94b0ae4abb0867c20af8f7d125dd4f2c9e46b896","unresolved":false,"context_lines":[{"line_number":12,"context_line":"User -\u003e AS:delete trigger"},{"line_number":13,"context_line":"activate AS"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"AS -\u003e SS:delete trigger"},{"line_number":16,"context_line":"activate SS"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"SS -\u003e SSDB:delete all scheduled operations binded with trigger"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"da6ed579_f7f01eff","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":2},"updated":"2016-01-14 16:24:03.000000000","message":"As we discussed we should block in the API layer delete operation on triggers that are actively used in one of the Schedule Operation.\nSo there is no need to update the Operation Engine Service it should be a DB operation only that return an error if it is used","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"}],"doc/source/schedule-service/list_or_get_scheduled_operation_seq_diagram.pu":[{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"st/get scheduled operation"},{"line_number":2,"context_line":"hide footbox"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"actor User"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa69d971_7df3310b","line":1,"updated":"2015-12-31 08:12:09.000000000","message":"please check syntax.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"94b0ae4abb0867c20af8f7d125dd4f2c9e46b896","unresolved":false,"context_lines":[{"line_number":17,"context_line":"SS -\u003e SSDB:list/get scheduled operation"},{"line_number":18,"context_line":"activate SSDB"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"SSDB --\u003e SS:scheduled operation info"},{"line_number":21,"context_line":"deactivate SSDB"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"SS -\u003e AS:scheduled operation info"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"da6ed579_776aee82","line":20,"range":{"start_line":20,"start_character":12,"end_line":20,"end_character":21},"updated":"2016-01-14 16:24:03.000000000","message":"If the only scheduled operation info we return is next occurrence there is no need to pass this call to the operation engine service this could be a DB operation in the API + calculating the next occurrence \nif later we will need any additional info then we should send it to the OE service","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"}],"doc/source/schedule-service/schedule_service_design.rst":[{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Schedule Service\r"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":3,"context_line":"\r"},{"line_number":4,"context_line":"Architecture\r"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa69d971_bad3ef37","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":16},"updated":"2015-12-31 08:12:09.000000000","message":"please follow the template: \nhttps://review.openstack.org/#/c/261913/4/doc/source/specs/template.rst","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"It can support more operation types by defining OperationDefinition subclass and \r"},{"line_number":8,"context_line":"corresponding interface in the API-Service.\r"},{"line_number":9,"context_line":"\r"},{"line_number":10,"context_line":"2. API-Service and Schedule-Service have their own DB respectively. If they are deployed on\r"},{"line_number":11,"context_line":"the same node, they can use the same DB. As all the data of Schedule-Service are stored \r"},{"line_number":12,"context_line":"in the DB, the availability of Schedule-Service can be guaranteed.\r"},{"line_number":13,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa69d971_da9a6314","line":10,"range":{"start_line":10,"start_character":54,"end_line":10,"end_character":66},"updated":"2015-12-31 08:12:09.000000000","message":"i wonder why not use one DB? i think the api-service and schedule-service just use their own table.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"edeba7118e8038c4de282ee8c57a0e6c0de91298","unresolved":false,"context_lines":[{"line_number":7,"context_line":"It can support more operation types by defining OperationDefinition subclass and \r"},{"line_number":8,"context_line":"corresponding interface in the API-Service.\r"},{"line_number":9,"context_line":"\r"},{"line_number":10,"context_line":"2. API-Service and Schedule-Service have their own DB respectively. If they are deployed on\r"},{"line_number":11,"context_line":"the same node, they can use the same DB. As all the data of Schedule-Service are stored \r"},{"line_number":12,"context_line":"in the DB, the availability of Schedule-Service can be guaranteed.\r"},{"line_number":13,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa69d971_ce2b8181","line":10,"range":{"start_line":10,"start_character":54,"end_line":10,"end_character":66},"in_reply_to":"fa69d971_da9a6314","updated":"2015-12-31 09:57:20.000000000","message":"my thinking is that it can improve the performance of schedule-service if it has its own DB. Certainly, I know all most projects of Openstack have only one DB. Let\u0027s take a look at the opinions of others.","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"315334819c17d6e8a941e81cda5cfdcf69b5fdf2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\r"},{"line_number":40,"context_line":"API-Service DB\r"},{"line_number":41,"context_line":"--------------\r"},{"line_number":42,"context_line":"1. Trigger\r"},{"line_number":43,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":44,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":45,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa69d971_9ab5cbce","line":42,"range":{"start_line":42,"start_character":3,"end_line":42,"end_character":10},"updated":"2015-12-31 08:12:09.000000000","message":"i\u0027m confused why there are two Trigger, please check line 21 if it is a mistake here?","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"edeba7118e8038c4de282ee8c57a0e6c0de91298","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\r"},{"line_number":40,"context_line":"API-Service DB\r"},{"line_number":41,"context_line":"--------------\r"},{"line_number":42,"context_line":"1. Trigger\r"},{"line_number":43,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":44,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":45,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa69d971_e3f1bece","line":42,"range":{"start_line":42,"start_character":3,"end_line":42,"end_character":10},"in_reply_to":"fa69d971_9ab5cbce","updated":"2015-12-31 09:57:20.000000000","message":"yes, it is a mistake. Here is the Schedule-Service DB","commit_id":"8463a0dfc9df899758c7f83e2aa96c181435b49d"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"94b0ae4abb0867c20af8f7d125dd4f2c9e46b896","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Schedule Service\r"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":3,"context_line":"\r"},{"line_number":4,"context_line":"Architecture\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da6ed579_12e060f9","line":1,"range":{"start_line":1,"start_character":9,"end_line":1,"end_character":16},"updated":"2016-01-14 16:24:03.000000000","message":"Lets discus about this tomorrow it is not clear to me on which of the DB tables we are talking.\n\nOn the Scheduling side the Operation must have a state \ninit\nscheduled \nTriggered\nRunning \n....\nDone \n\nWe need to add a filed to induct which operation service is handling this Operation","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"98be9861cd4ebd061d258ab72a1e3cff4a47034a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Architecture\r"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":6,"context_line":"1. Currently, the operation type which can be scheduled by Schedule-Service is protect.\r"},{"line_number":7,"context_line":"It can support more operation types by defining OperationDefinition subclass and \r"},{"line_number":8,"context_line":"corresponding interface in the API-Service.\r"},{"line_number":9,"context_line":"\r"},{"line_number":10,"context_line":"2. API-Service and Schedule-Service have their own DB respectively. If they are deployed on\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa69d971_ebccc5bc","line":7,"range":{"start_line":7,"start_character":80,"end_line":7,"end_character":81},"updated":"2016-01-05 16:25:59.000000000","message":"rouge whitespace","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"98be9861cd4ebd061d258ab72a1e3cff4a47034a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"corresponding interface in the API-Service.\r"},{"line_number":9,"context_line":"\r"},{"line_number":10,"context_line":"2. API-Service and Schedule-Service have their own DB respectively. If they are deployed on\r"},{"line_number":11,"context_line":"the same node, they can use the same DB. As all the data of Schedule-Service are stored \r"},{"line_number":12,"context_line":"in the DB, the availability of Schedule-Service can be guaranteed.\r"},{"line_number":13,"context_line":"\r"},{"line_number":14,"context_line":"3. Administrator can load any kinds of Triggers by conf file. Each Trigger runs on a single\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa69d971_4bbcf105","line":11,"range":{"start_line":11,"start_character":87,"end_line":11,"end_character":88},"updated":"2016-01-05 16:25:59.000000000","message":"rouge whitespace","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"94b0ae4abb0867c20af8f7d125dd4f2c9e46b896","unresolved":false,"context_lines":[{"line_number":23,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":24,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":25,"context_line":"| id                 | varchar(64)  | NO   | PRI | NULL    |       |\r"},{"line_number":26,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":27,"context_line":"| type               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":28,"context_line":"| property           | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":29,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da6ed579_3201e405","line":26,"range":{"start_line":26,"start_character":2,"end_line":26,"end_character":6},"updated":"2016-01-14 16:24:03.000000000","message":"we are missing all the property\u0027s of TimeTrigger \nstart_time:\tstring *\ntrigger_window:\tinteger *\nrecurrence:\tstring *","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"94b0ae4abb0867c20af8f7d125dd4f2c9e46b896","unresolved":false,"context_lines":[{"line_number":38,"context_line":"+----------------------------------+-----------------------+-----------------+-------------------------------+\r"},{"line_number":39,"context_line":"\r"},{"line_number":40,"context_line":"API-Service DB\r"},{"line_number":41,"context_line":"--------------\r"},{"line_number":42,"context_line":"1. Trigger\r"},{"line_number":43,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":44,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da6ed579_57380aef","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":14},"updated":"2016-01-14 16:24:03.000000000","message":"You have two tables with the API Service DB Trigger","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"94b0ae4abb0867c20af8f7d125dd4f2c9e46b896","unresolved":false,"context_lines":[{"line_number":46,"context_line":"| id                 | varchar(64)  | NO   | PRI | NULL    |       |\r"},{"line_number":47,"context_line":"| windows            | int(3)       | NO   |     | NULL    |       |\r"},{"line_number":48,"context_line":"| recurrence         | varchar(128) | NO   |     | NULL    |       |\r"},{"line_number":49,"context_line":"| next_execute_time  | datetime     | NO   |     | NULL    |       |\r"},{"line_number":50,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":51,"context_line":"\r"},{"line_number":52,"context_line":"2. ScheduledOperation\r"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da6ed579_7232fcf3","line":49,"range":{"start_line":49,"start_character":2,"end_line":49,"end_character":19},"updated":"2016-01-14 16:24:03.000000000","message":"you should not put it in the DB \n\nthis will be calculated in runtime","commit_id":"696a3d0006576565c78c915f861534e5876d83c9"}],"doc/source/specs/operation-engine/create_scheduled_operation_seq_diagram.pu":[{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"31c614016cb94b9b97841b5a8c09e992b24be400","unresolved":false,"context_lines":[{"line_number":12,"context_line":"User -\u003e AS:create scheduled operation"},{"line_number":13,"context_line":"activate AS"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"AS -\u003e OE:create scheduled operation"},{"line_number":16,"context_line":"activate OE"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"OE -\u003e DB:create operation and set status to init"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"da6ed579_ab22dfff","line":15,"range":{"start_line":15,"start_character":9,"end_line":15,"end_character":15},"updated":"2016-01-16 09:50:04.000000000","message":"This is RPC Queue interface if I understand your meaning\n\nplease add another entity for the MSQ-Queue and show the put and get on the queue","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"67172d496282301f6f1c1d4918c2cac665508ce5","unresolved":false,"context_lines":[{"line_number":12,"context_line":"User -\u003e AS:create scheduled operation"},{"line_number":13,"context_line":"activate AS"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"AS -\u003e OE:create scheduled operation"},{"line_number":16,"context_line":"activate OE"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"OE -\u003e DB:create operation and set status to init"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"da6ed579_e2d0e3f9","line":15,"range":{"start_line":15,"start_character":9,"end_line":15,"end_character":15},"in_reply_to":"da6ed579_ab22dfff","updated":"2016-01-18 02:46:37.000000000","message":"understand.thanks.","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"}],"doc/source/specs/operation-engine/delete_scheduled_operation_seq_diagram.pu":[{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"31c614016cb94b9b97841b5a8c09e992b24be400","unresolved":false,"context_lines":[{"line_number":15,"context_line":"AS -\u003e OE:delete scheduled operation"},{"line_number":16,"context_line":"activate OE"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"OE -\u003e DB:update operation\u0027s status to deleted"},{"line_number":19,"context_line":"activate DB"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DB --\u003e OE:finish"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"da6ed579_8bf7db8b","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":2},"updated":"2016-01-16 09:50:04.000000000","message":"First delete operation form the operation agent then set the value to deleted (you always need to think that you need to be able to recover the state and operation engine could be remote) \nyou can add a state to be deleted and then set it to deleted state only after you removed the task from the operation engine","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"67172d496282301f6f1c1d4918c2cac665508ce5","unresolved":false,"context_lines":[{"line_number":15,"context_line":"AS -\u003e OE:delete scheduled operation"},{"line_number":16,"context_line":"activate OE"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"OE -\u003e DB:update operation\u0027s status to deleted"},{"line_number":19,"context_line":"activate DB"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"DB --\u003e OE:finish"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"da6ed579_e22463c7","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":2},"in_reply_to":"da6ed579_8bf7db8b","updated":"2016-01-18 02:46:37.000000000","message":"if I first remove the operation and then delete from DB, there is a problem. if the service crashes when removing the operation, OperationEngine will not delete this operation again when it restores, because it doesn\u0027t know this operation need be deleted. Otherwise, if set the status to deleted firstly and then service crashes, OperationEngine will delete the operation again when it restores.","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"}],"doc/source/specs/operation-engine/operation_engine_design.rst":[{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"31c614016cb94b9b97841b5a8c09e992b24be400","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Data model impact\r"},{"line_number":31,"context_line":"-----------------\r"},{"line_number":32,"context_line":"There are 4 talbes in th DB.\r"},{"line_number":33,"context_line":"1. Trigger\r"},{"line_number":34,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":35,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":36,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":13,"id":"da6ed579_0b5f6b76","line":33,"range":{"start_line":33,"start_character":3,"end_line":33,"end_character":10},"updated":"2016-01-16 09:50:04.000000000","message":"This is being defined by chenying in the API spec \nI think that there is an overlap between you two","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"5f6fd792b4abe9f137af5586ae9b1613f6c4a697","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Data model impact\r"},{"line_number":31,"context_line":"-----------------\r"},{"line_number":32,"context_line":"There are 4 talbes in th DB.\r"},{"line_number":33,"context_line":"1. Trigger\r"},{"line_number":34,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":35,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":36,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":13,"id":"da6ed579_e2c30389","line":33,"range":{"start_line":33,"start_character":3,"end_line":33,"end_character":10},"in_reply_to":"da6ed579_0b5f6b76","updated":"2016-01-18 02:10:08.000000000","message":"you mean Trigger and ScheduledOperation tables are defined by API-Service. If OperationEngine need use these tables and add other information(like service info), define another table and reference them by uuid.","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"31c614016cb94b9b97841b5a8c09e992b24be400","unresolved":false,"context_lines":[{"line_number":68,"context_line":"| 0354ca9ddcd046b693340d78759fd255 | operation engine one   | 192.168.100.100  |\r"},{"line_number":69,"context_line":"+----------------------------------+------------------------+------------------+\r"},{"line_number":70,"context_line":"\r"},{"line_number":71,"context_line":"3. ScheduledOperation\r"},{"line_number":72,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":73,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":74,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":13,"id":"da6ed579_cbe633b0","line":71,"range":{"start_line":71,"start_character":3,"end_line":71,"end_character":21},"updated":"2016-01-16 09:50:04.000000000","message":"This is being defined by chenying in the API spec \nif you need another table just reference the uuid","commit_id":"688de47a2b73260612f66acf51412a29f780eec3"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\r"},{"line_number":30,"context_line":"Data model impact\r"},{"line_number":31,"context_line":"-----------------\r"},{"line_number":32,"context_line":"There are 4 talbes in th DB.\r"},{"line_number":33,"context_line":"1. Trigger\r"},{"line_number":34,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":35,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_5d30b207","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":28},"updated":"2016-01-18 06:21:11.000000000","message":"time_triggers and scheduled_operations thest two tables also be defined in resoure controller db design. We should keep them same in design doc. Or with Eran\u0027s suggest,you define other tables ,should have only uuid mapped to these tables.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\r"},{"line_number":30,"context_line":"Data model impact\r"},{"line_number":31,"context_line":"-----------------\r"},{"line_number":32,"context_line":"There are 4 talbes in th DB.\r"},{"line_number":33,"context_line":"1. Trigger\r"},{"line_number":34,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":35,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_cbdc8ae6","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":28},"in_reply_to":"da6ed579_5d30b207","updated":"2016-01-22 11:54:27.000000000","message":"yes, the db only keeps one table for the same object.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Data model impact\r"},{"line_number":31,"context_line":"-----------------\r"},{"line_number":32,"context_line":"There are 4 talbes in th DB.\r"},{"line_number":33,"context_line":"1. Trigger\r"},{"line_number":34,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":35,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":36,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_786264af","line":33,"range":{"start_line":33,"start_character":3,"end_line":33,"end_character":10},"updated":"2016-01-18 06:21:11.000000000","message":"suppose to be time_triggers. In usual, The database tables in openstack is all lowercase. It represent a collection of resources. So it should be plural, add s.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Data model impact\r"},{"line_number":31,"context_line":"-----------------\r"},{"line_number":32,"context_line":"There are 4 talbes in th DB.\r"},{"line_number":33,"context_line":"1. Trigger\r"},{"line_number":34,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":35,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":36,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_ebfe2e37","line":33,"range":{"start_line":33,"start_character":3,"end_line":33,"end_character":10},"in_reply_to":"da6ed579_786264af","updated":"2016-01-22 11:54:27.000000000","message":"understand. thanks.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"| id                 | varchar(36)  | NO   | PRI | NULL    |       |\r"},{"line_number":38,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":39,"context_line":"| type               | varchar(12)  | NO   |     | NULL    |       |\r"},{"line_number":40,"context_line":"| property           | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":41,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":42,"context_line":"\r"},{"line_number":43,"context_line":"instance:\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_d8e6f015","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":10},"updated":"2016-01-18 06:21:11.000000000","message":"refer to the API /{project_id}/triggers  suppose to add these fields: project_id  start_time  recurrence created_at deleted_at deleted.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"| id                 | varchar(36)  | NO   | PRI | NULL    |       |\r"},{"line_number":38,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":39,"context_line":"| type               | varchar(12)  | NO   |     | NULL    |       |\r"},{"line_number":40,"context_line":"| property           | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":41,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":42,"context_line":"\r"},{"line_number":43,"context_line":"instance:\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_772d4094","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":10},"in_reply_to":"da6ed579_d8e6f015","updated":"2016-01-22 11:54:27.000000000","message":"there will be many kinds of trigger. so keep a combinational field to store the data of trigger.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"|                                  |                       |                 | }                             |\r"},{"line_number":53,"context_line":"+----------------------------------+-----------------------+-----------------+-------------------------------+\r"},{"line_number":54,"context_line":"\r"},{"line_number":55,"context_line":"2. Service\r"},{"line_number":56,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":57,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":58,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_58b9a0eb","line":55,"range":{"start_line":55,"start_character":3,"end_line":55,"end_character":10},"updated":"2016-01-18 06:21:11.000000000","message":"suppose to be services.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":52,"context_line":"|                                  |                       |                 | }                             |\r"},{"line_number":53,"context_line":"+----------------------------------+-----------------------+-----------------+-------------------------------+\r"},{"line_number":54,"context_line":"\r"},{"line_number":55,"context_line":"2. Service\r"},{"line_number":56,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":57,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":58,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_f73930d8","line":55,"range":{"start_line":55,"start_character":3,"end_line":55,"end_character":10},"in_reply_to":"da6ed579_58b9a0eb","updated":"2016-01-22 11:54:27.000000000","message":"aggree","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":59,"context_line":"| id                 | varchar(36)  | NO   | PRI | NULL    |       |\r"},{"line_number":60,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":61,"context_line":"| ipv4               | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":62,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":63,"context_line":"\r"},{"line_number":64,"context_line":"instance:\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_36415c3a","line":61,"range":{"start_line":61,"start_character":1,"end_line":61,"end_character":7},"updated":"2016-01-18 06:21:11.000000000","message":"https://wiki.openstack.org/wiki/Neutron/IPv6  IPv6 Support in Neutron. Do we consider adding  ipv4 support?","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":59,"context_line":"| id                 | varchar(36)  | NO   | PRI | NULL    |       |\r"},{"line_number":60,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":61,"context_line":"| ipv4               | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":62,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":63,"context_line":"\r"},{"line_number":64,"context_line":"instance:\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_37a828db","line":61,"range":{"start_line":61,"start_character":1,"end_line":61,"end_character":7},"in_reply_to":"da6ed579_36415c3a","updated":"2016-01-22 11:54:27.000000000","message":"this table just is used to keep the information where the service starts. as we discussing, use the services table instead.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"| 0354ca9ddcd046b693340d78759fd255 | operation engine one   | 192.168.100.100  |\r"},{"line_number":69,"context_line":"+----------------------------------+------------------------+------------------+\r"},{"line_number":70,"context_line":"\r"},{"line_number":71,"context_line":"3. ScheduledOperation\r"},{"line_number":72,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":73,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":74,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_78a584b3","line":71,"range":{"start_line":71,"start_character":3,"end_line":71,"end_character":21},"updated":"2016-01-18 06:21:11.000000000","message":"suppose to be scheduled_operations.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"| 0354ca9ddcd046b693340d78759fd255 | operation engine one   | 192.168.100.100  |\r"},{"line_number":69,"context_line":"+----------------------------------+------------------------+------------------+\r"},{"line_number":70,"context_line":"\r"},{"line_number":71,"context_line":"3. ScheduledOperation\r"},{"line_number":72,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":73,"context_line":"| Field              | Type         | Null | Key | Default | Extra |\r"},{"line_number":74,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_f7ae10e5","line":71,"range":{"start_line":71,"start_character":3,"end_line":71,"end_character":21},"in_reply_to":"da6ed579_78a584b3","updated":"2016-01-22 11:54:27.000000000","message":"agree.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"79e5dbb6f1d08c19045803e8e23e574fd7dca260","unresolved":false,"context_lines":[{"line_number":76,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":77,"context_line":"| operation_type     | varchar(24)  | NO   |     | NULL    |       |\r"},{"line_number":78,"context_line":"| project_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_fcce63b3","line":79,"range":{"start_line":79,"start_character":2,"end_line":79,"end_character":12},"updated":"2016-01-20 16:17:26.000000000","message":"What is service id for?","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":76,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":77,"context_line":"| operation_type     | varchar(24)  | NO   |     | NULL    |       |\r"},{"line_number":78,"context_line":"| project_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_935e1a75","line":79,"range":{"start_line":79,"start_character":2,"end_line":79,"end_character":12},"updated":"2016-01-18 06:21:11.000000000","message":"Why not add service_id here?","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":76,"context_line":"| name               | varchar(64)  | NO   |     | NULL    |       |\r"},{"line_number":77,"context_line":"| operation_type     | varchar(24)  | NO   |     | NULL    |       |\r"},{"line_number":78,"context_line":"| project_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_9791d4f3","line":79,"range":{"start_line":79,"start_character":2,"end_line":79,"end_character":12},"in_reply_to":"9a68dd71_fcce63b3","updated":"2016-01-22 11:54:27.000000000","message":"service_id is used to indicate that which OperationEngine Service is triggering this operation. if there are two OperationEngine service and the OperationEngine service which this operation belongs to crashes, then the another service can know which operations it need to trigger.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"| project_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":83,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":84,"context_line":"FOREIGN KEY(trigger_id) REFERENCES Trigger(id)\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_53ff4234","line":81,"range":{"start_line":81,"start_character":2,"end_line":81,"end_character":18},"updated":"2016-01-18 06:21:11.000000000","message":"I do not think should add operation_definition here? only suppose to add trigger_id and plan_id here.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":78,"context_line":"| project_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":83,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":84,"context_line":"FOREIGN KEY(trigger_id) REFERENCES Trigger(id)\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_1742c468","line":81,"range":{"start_line":81,"start_character":2,"end_line":81,"end_character":18},"in_reply_to":"da6ed579_53ff4234","updated":"2016-01-22 11:54:27.000000000","message":"i need to confirm it","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"79e5dbb6f1d08c19045803e8e23e574fd7dca260","unresolved":false,"context_lines":[{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":83,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":84,"context_line":"FOREIGN KEY(trigger_id) REFERENCES Trigger(id)\r"},{"line_number":85,"context_line":"FOREIGN KEY(service_id) REFERENCES Service(id)\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_7c5273df","line":82,"range":{"start_line":82,"start_character":2,"end_line":82,"end_character":8},"updated":"2016-01-20 16:17:26.000000000","message":"Shouldn\u0027t status be part of the instance and not the operation itself.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":83,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":84,"context_line":"FOREIGN KEY(trigger_id) REFERENCES Trigger(id)\r"},{"line_number":85,"context_line":"FOREIGN KEY(service_id) REFERENCES Service(id)\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_933ffad5","line":82,"range":{"start_line":82,"start_character":2,"end_line":82,"end_character":8},"updated":"2016-01-18 06:21:11.000000000","message":"as Eran\u0027s suggest. I have added satus field too.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":79,"context_line":"| service_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":80,"context_line":"| trigger_id         | varchar(36)  | NO   |     | NULL    |       |\r"},{"line_number":81,"context_line":"| operation_define   | varchar(256) | NO   |     | NULL    |       |\r"},{"line_number":82,"context_line":"| status             | varchar(16)  | NO   |     | NULL    |       |\r"},{"line_number":83,"context_line":"+--------------------+--------------+------+-----+---------+-------+\r"},{"line_number":84,"context_line":"FOREIGN KEY(trigger_id) REFERENCES Trigger(id)\r"},{"line_number":85,"context_line":"FOREIGN KEY(service_id) REFERENCES Service(id)\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_7af0c5fe","line":82,"range":{"start_line":82,"start_character":2,"end_line":82,"end_character":8},"in_reply_to":"9a68dd71_7c5273df","updated":"2016-01-22 11:54:27.000000000","message":"every operation record has a status which is use to record the every action. you can see the sequence diagram to get the details. if the operation is triggered, then create a record to the OperationExeInfo table. there is a status field to record the status of running. the meaning of status in these two tables are different.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"63c6984a2bc49378f62c8031eafc10ebfab9bc7a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"+----------------------------------+------------------------+-----------------+--------------------------------------+---------------------------------\r"},{"line_number":100,"context_line":"+----------------------------------+------------------------------------------------------+-----------|\r"},{"line_number":101,"context_line":"\r"},{"line_number":102,"context_line":"4. OperationExeInfo\r"},{"line_number":103,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"},{"line_number":104,"context_line":"| Field                | Type         | Null | Key | Default | Extra |\r"},{"line_number":105,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"da6ed579_736cc608","line":102,"range":{"start_line":102,"start_character":3,"end_line":102,"end_character":19},"updated":"2016-01-18 06:21:11.000000000","message":"suppose to be  operation_exeinfo","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"44153ad86185b38c25f887d9a3824ae52411c1f2","unresolved":false,"context_lines":[{"line_number":99,"context_line":"+----------------------------------+------------------------+-----------------+--------------------------------------+---------------------------------\r"},{"line_number":100,"context_line":"+----------------------------------+------------------------------------------------------+-----------|\r"},{"line_number":101,"context_line":"\r"},{"line_number":102,"context_line":"4. OperationExeInfo\r"},{"line_number":103,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"},{"line_number":104,"context_line":"| Field                | Type         | Null | Key | Default | Extra |\r"},{"line_number":105,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a68dd71_b753b838","line":102,"range":{"start_line":102,"start_character":3,"end_line":102,"end_character":19},"in_reply_to":"da6ed579_736cc608","updated":"2016-01-22 11:54:27.000000000","message":"agree","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"1e633bc55b4bc7cfc3fb282c36af84c88ab5d20f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"   the optional values of scheduled_operations.status are init, registerd, triggered, running and deleted.\r"},{"line_number":37,"context_line":"\r"},{"line_number":38,"context_line":"   These three tables are defined at `https://blueprints.launchpad.net/openstack/?searchtext\u003dapi-service-design`. Please see the bp\r"},{"line_number":39,"context_line":"to get the details.\r"},{"line_number":40,"context_line":"\r"},{"line_number":41,"context_line":"4. operation_exe_infos\r"},{"line_number":42,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a5de9d1_c9a4caa7","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":7},"updated":"2016-01-28 14:52:09.000000000","message":"I think that we are missing a operation table with the status and ID Link to the API database entry \n\nAs I comments in the API spec we need to separate the operation engine table form the API table","commit_id":"1563098b08e7660646bd3ac8dfa08c20b4cb5f2d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"a440cb674778ada73a608500a0600e145352263f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"   the optional values of scheduled_operations.status are init, registerd, triggered, running and deleted.\r"},{"line_number":37,"context_line":"\r"},{"line_number":38,"context_line":"   These three tables are defined at `https://blueprints.launchpad.net/openstack/?searchtext\u003dapi-service-design`. Please see the bp\r"},{"line_number":39,"context_line":"to get the details.\r"},{"line_number":40,"context_line":"\r"},{"line_number":41,"context_line":"4. operation_exe_infos\r"},{"line_number":42,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a5de9d1_2f21b79f","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":7},"in_reply_to":"7a5de9d1_c9a4caa7","updated":"2016-01-29 06:39:32.000000000","message":"Done","commit_id":"1563098b08e7660646bd3ac8dfa08c20b4cb5f2d"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"1e633bc55b4bc7cfc3fb282c36af84c88ab5d20f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   These three tables are defined at `https://blueprints.launchpad.net/openstack/?searchtext\u003dapi-service-design`. Please see the bp\r"},{"line_number":39,"context_line":"to get the details.\r"},{"line_number":40,"context_line":"\r"},{"line_number":41,"context_line":"4. operation_exe_infos\r"},{"line_number":42,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"},{"line_number":43,"context_line":"| Field                | Type         | Null | Key | Default | Extra |\r"},{"line_number":44,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a5de9d1_698cb635","line":41,"range":{"start_line":41,"start_character":3,"end_line":41,"end_character":22},"updated":"2016-01-28 14:52:09.000000000","message":"This is the Operation LOG table so we should give a more descriptive name","commit_id":"1563098b08e7660646bd3ac8dfa08c20b4cb5f2d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"a440cb674778ada73a608500a0600e145352263f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   These three tables are defined at `https://blueprints.launchpad.net/openstack/?searchtext\u003dapi-service-design`. Please see the bp\r"},{"line_number":39,"context_line":"to get the details.\r"},{"line_number":40,"context_line":"\r"},{"line_number":41,"context_line":"4. operation_exe_infos\r"},{"line_number":42,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"},{"line_number":43,"context_line":"| Field                | Type         | Null | Key | Default | Extra |\r"},{"line_number":44,"context_line":"+----------------------+--------------+------+-----+---------+-------+\r"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a5de9d1_2f58d731","line":41,"range":{"start_line":41,"start_character":3,"end_line":41,"end_character":22},"in_reply_to":"7a5de9d1_698cb635","updated":"2016-01-29 06:39:32.000000000","message":"I have change the table name to operation_exe_logs. please give me your opinion, thanks.","commit_id":"1563098b08e7660646bd3ac8dfa08c20b4cb5f2d"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"9da9ad5ba86cf622200c15553ec1d0688f572199","unresolved":false,"context_lines":[{"line_number":50,"context_line":"|                    |              |      |     |         | registered     |\r"},{"line_number":51,"context_line":"|                    |              |      |     |         | triggered      |\r"},{"line_number":52,"context_line":"|                    |              |      |     |         | running        |\r"},{"line_number":53,"context_line":"|                    |              |      |     |         | deleted        |\r"},{"line_number":54,"context_line":"| deleted            | tinyint(1)   | NO   |     | NULL    |                |\r"},{"line_number":55,"context_line":"+--------------------+--------------+------+-----+---------+----------------+\r"},{"line_number":56,"context_line":"FOREIGN KEY(operation_id) REFERENCES scheduled_operations(id)\r"}],"source_content_type":"text/x-rst","patch_set":21,"id":"5a5ae5dd_2ad54eb8","line":53,"range":{"start_line":53,"start_character":61,"end_line":53,"end_character":68},"updated":"2016-02-04 07:05:06.000000000","message":"Eran, saggi @ everyone: I think the \u0027triggered\u0027 and \u0027running\u0027 are no sense. Because they are the internal states and the state of operation will exchange between them since the operation is registered. so we don\u0027t need to keep these two state. hope for your opinions, thanks.","commit_id":"2ec95a645fe156f4514f30ed57abf7061c219f85"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"e3282e3da6c4a1de42b350c82c01873e3298acb9","unresolved":false,"context_lines":[{"line_number":50,"context_line":"|                    |              |      |     |         | registered     |\r"},{"line_number":51,"context_line":"|                    |              |      |     |         | triggered      |\r"},{"line_number":52,"context_line":"|                    |              |      |     |         | running        |\r"},{"line_number":53,"context_line":"|                    |              |      |     |         | deleted        |\r"},{"line_number":54,"context_line":"| deleted            | tinyint(1)   | NO   |     | NULL    |                |\r"},{"line_number":55,"context_line":"+--------------------+--------------+------+-----+---------+----------------+\r"},{"line_number":56,"context_line":"FOREIGN KEY(operation_id) REFERENCES scheduled_operations(id)\r"}],"source_content_type":"text/x-rst","patch_set":21,"id":"dae33548_cfde2edc","line":53,"range":{"start_line":53,"start_character":61,"end_line":53,"end_character":68},"in_reply_to":"5a5ae5dd_2ad54eb8","updated":"2016-02-18 12:26:02.000000000","message":"Currently the Trigger engine will also run the Work(job) \nSo this does not have meaning .\nBut we want to be able in the future to run the Job on a different operation engine host depending on his load.\nWhen we do that we will need that state","commit_id":"2ec95a645fe156f4514f30ed57abf7061c219f85"}],"doc/source/specs/operation-engine/operation_state_diagram.pu":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"3ea152c8d03411cabd58d839e428fefd07f10a6c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"init --\u003e deleted"},{"line_number":14,"context_line":"registered --\u003e deleted"},{"line_number":15,"context_line":"triggered --\u003e deleted"},{"line_number":16,"context_line":"running --\u003e deleted"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"deleted --\u003e [*]"},{"line_number":19,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"ba63e191_063af936","line":16,"updated":"2016-01-19 06:57:18.000000000","message":"Why running status can directly switch to deleted?","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"a5c5fd40bbb091b9b40db40636d595013efd6660","unresolved":false,"context_lines":[{"line_number":13,"context_line":"init --\u003e deleted"},{"line_number":14,"context_line":"registered --\u003e deleted"},{"line_number":15,"context_line":"triggered --\u003e deleted"},{"line_number":16,"context_line":"running --\u003e deleted"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"deleted --\u003e [*]"},{"line_number":19,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"9a68dd71_2b10c6a7","line":16,"in_reply_to":"ba63e191_063af936","updated":"2016-01-22 11:19:40.000000000","message":"Because the deleting of operation can happen when the operation is running. So when the operation finishes, it will check whether the record is exist in DB, if not, do nothing, otherwise, change the status to registered.","commit_id":"09be3db81f9be241e2fca5a93e08279a099eb54f"}]}
