)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Outlines a proposal to implement scheduled backups in Trove by"},{"line_number":10,"context_line":"utilizing the triggers workflow features of Mistral."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"APIImpact"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia5d55d93f95c331177fe1bfaeeffaacf1a9c0673"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_896a5118","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":9},"updated":"2016-06-14 17:21:05.000000000","message":"Since this seems to only affect the CLI, the generation of the doc upon release of the client should suffice.","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"utilizing the triggers workflow features of Mistral."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"APIImpact"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia5d55d93f95c331177fe1bfaeeffaacf1a9c0673"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_a96aadb0","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":9},"updated":"2016-06-14 17:21:05.000000000","message":"I believe this tag refers to ReST API changes, not ones to the python API.","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"}],"specs/newton/scheduled-backup.rst":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"               message: \u003c% \u0027Backup complete\u0027 %\u003e"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"All changes will be withing the python-troveclient module."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"If your specification proposes any changes to the Trove REST API such"},{"line_number":70,"context_line":"as changing parameters which can be returned or accepted, or even"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_2984fd5b","line":67,"range":{"start_line":67,"start_character":26,"end_line":67,"end_character":27},"updated":"2016-06-14 17:21:05.000000000","message":"typo","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"All changes will be withing the python-troveclient module."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"If your specification proposes any changes to the Trove REST API such"},{"line_number":70,"context_line":"as changing parameters which can be returned or accepted, or even"},{"line_number":71,"context_line":"the semantics of what happens when a client calls into the API, then"},{"line_number":72,"context_line":"you should add the APIImpact flag to the commit message. Specifications with"},{"line_number":73,"context_line":"the APIImpact flag can be found with the following query:"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"https://review.openstack.org/#/q/status:open+project:openstack/trove-specs+message:apiimpact,n,z"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_497d096c","line":75,"range":{"start_line":69,"start_character":0,"end_line":75,"end_character":96},"updated":"2016-06-14 17:21:05.000000000","message":"can be removed","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. code-block:: bash"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    $ trove schedule-create \"*/2 * * * *\" m myback"},{"line_number":165,"context_line":"    +---------------------+----------------------------------------------------------------------------------------------------------------+"},{"line_number":166,"context_line":"    | Property            | Value                                                                                                          |"},{"line_number":167,"context_line":"    +---------------------+----------------------------------------------------------------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_e9c67566","line":164,"range":{"start_line":164,"start_character":28,"end_line":164,"end_character":50},"updated":"2016-06-14 17:21:05.000000000","message":"(-1) In every other CLI command that takes an instance ID, the instance ID comes first in the list - we should follow that pattern here as well.","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":258,"context_line":"scheduled backups for an instance.  This will lead to a chain of"},{"line_number":259,"context_line":"panels for scheduled backups, details of a schedule, and executions of"},{"line_number":260,"context_line":"a schedule.  The scheduled backups list will have an option to create"},{"line_number":261,"context_line":"a new schedule.  The panels which list chedules and executions will"},{"line_number":262,"context_line":"have an action to delete the corresponding resource."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_098dc130","line":261,"range":{"start_line":261,"start_character":39,"end_line":261,"end_character":47},"updated":"2016-06-14 17:21:05.000000000","message":"typo","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"a7f4d79cc0a961da540e94f511468240912d826e","unresolved":false,"context_lines":[{"line_number":292,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"No upgrade implications."},{"line_number":295,"context_line":"For more information about the DocImpact keyword, refer to"},{"line_number":296,"context_line":"https://wiki.openstack.org/wiki/Documentation/DocImpact"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Note: Documentation for the CLI commands are automatically generated"},{"line_number":299,"context_line":"from the help strings when a new version of the CLI is released, so"},{"line_number":300,"context_line":"a DocImpact keyword is not typically required for python-troveclient"},{"line_number":301,"context_line":"changes."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_c94299aa","line":301,"range":{"start_line":295,"start_character":0,"end_line":301,"end_character":8},"updated":"2016-06-14 17:21:05.000000000","message":"As long as the help strings are clear enough, we probably don\u0027t need the DocImpact keyword either, as the CLI doc is generated.","commit_id":"90e2a711b57d56bd7b668907830cb572d947b184"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"61dff0c8893b5cc8c1949ab8117c739694b92cd6","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        \"\"\""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def execution_list(self, schedule, mistral_client\u003dNone,"},{"line_number":130,"context_line":"\t\t       marker\u003d\u0027\u0027, limit\u003dNone):"},{"line_number":131,"context_line":"        \"\"\"Get a list of all executions of a scheduled backup."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        :param: schedule for which to list executions."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1aa78d24_e0b7da37","line":130,"updated":"2016-07-06 18:15:29.000000000","message":"some whitespace issues here (tabs?)","commit_id":"6de0ece722bf43b85b24798240a0a3c9548c5ca4"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"scheduled backups and their executions."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"All changes will be within the python-troveclient module."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_bd760704","line":45,"updated":"2016-07-14 21:30:33.000000000","message":"Morgan, can you give a brief description of how this will work. For example, here are some of the questions I have:\n- My understanding is that using these new api\u0027s, user will create a schedule/manage the schedules. Then, load a trove workbook to Mistral which manages the actual scheduling(What is in this trove workbook? can you give a brief description or provide a reference to mistral if available).\n\n- In case of an error in Mistral in processing any of these requests, it is not very clear how this will be propagated to Trove and how Trove will handle this.","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":42,"context_line":"scheduled backups and their executions."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"All changes will be within the python-troveclient module."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_76f9954d","line":45,"in_reply_to":"1aa78d24_bd760704","updated":"2016-07-15 20:34:05.000000000","message":"- I\u0027ll paste a copy of the workbook into the appendix and reference it here.\n\n- Trove won\u0027t be handling the errors at all (is my understanding).  When you list the executions you would see if they succeeded or not, but that comes directly from Mistral.","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        \"\"\"Create a new schedule to backup the given instance."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param instance: instance to backup."},{"line_number":79,"context_line":"        :param pattern: cron pattern for schedule."},{"line_number":80,"context_line":"        :param name: name for backup."},{"line_number":81,"context_line":"        :param description: (optional)."},{"line_number":82,"context_line":"        :param parent_id: base for incremental backup (optional)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_fd808f4b","line":79,"updated":"2016-07-14 21:30:33.000000000","message":"I am not sure what this pattern for a schedule means. I saw the example given below wasn\u0027t clear what it meant. If there is a reference to what a pattern denotes in mistral, could you include it. Thanks Morgan","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        \"\"\"Create a new schedule to backup the given instance."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param instance: instance to backup."},{"line_number":79,"context_line":"        :param pattern: cron pattern for schedule."},{"line_number":80,"context_line":"        :param name: name for backup."},{"line_number":81,"context_line":"        :param description: (optional)."},{"line_number":82,"context_line":"        :param parent_id: base for incremental backup (optional)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_969369fa","line":79,"in_reply_to":"1aa78d24_fd808f4b","updated":"2016-07-15 20:34:05.000000000","message":"This is the standard \u0027cron\u0027 pattern.  I\u0027ll see if I can find a link on the web that explains it and include a reference.  Mistral has adopted the pattern (maybe it uses cron to do it\u0027s scheduling?).","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        \"\"\"Remove a given backup schedule."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        :param schedule: schedule to delete."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def execution_list(self, schedule, mistral_client\u003dNone,"},{"line_number":107,"context_line":"                       marker\u003d\u0027\u0027, limit\u003dNone):"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_7d25bf08","line":104,"updated":"2016-07-14 21:30:33.000000000","message":"How will Mistral handle this? Will user have to load the workbook again?","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        \"\"\"Remove a given backup schedule."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        :param schedule: schedule to delete."},{"line_number":104,"context_line":"        \"\"\""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def execution_list(self, schedule, mistral_client\u003dNone,"},{"line_number":107,"context_line":"                       marker\u003d\u0027\u0027, limit\u003dNone):"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_76a7d54f","line":104,"in_reply_to":"1aa78d24_7d25bf08","updated":"2016-07-15 20:34:05.000000000","message":"No, the workbook is loaded once (we could probably get the devstack plugin to load it if mistral is enabled).  This only deletes the schedule that would call the workbook.","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def execution_delete(self, execution, mistral_client\u003dNone):"},{"line_number":115,"context_line":"        \"\"\"Remove a given schedule execution."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param id: id of execution to remove."},{"line_number":118,"context_line":"        \"\"\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"CLI (python-troveclient)"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_3dc977ad","line":117,"updated":"2016-07-14 21:30:33.000000000","message":"should this be \u0027execution\u0027 instead of \u0027id\u0027","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def execution_delete(self, execution, mistral_client\u003dNone):"},{"line_number":115,"context_line":"        \"\"\"Remove a given schedule execution."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param id: id of execution to remove."},{"line_number":118,"context_line":"        \"\"\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"CLI (python-troveclient)"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_9681a992","line":117,"in_reply_to":"1aa78d24_3dc977ad","updated":"2016-07-15 20:34:05.000000000","message":"Done","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":250,"context_line":"----------"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"Target Milestone for completion:"},{"line_number":253,"context_line":"  Neutron"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Work Items"},{"line_number":256,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_770b202c","line":253,"updated":"2016-07-14 21:30:33.000000000","message":"Newton","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":250,"context_line":"----------"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"Target Milestone for completion:"},{"line_number":253,"context_line":"  Neutron"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Work Items"},{"line_number":256,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_d6496190","line":253,"in_reply_to":"1aa78d24_770b202c","updated":"2016-07-15 20:34:05.000000000","message":"Done","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":270,"context_line":"from the help strings when a new version of the CLI is released, so"},{"line_number":271,"context_line":"a DocImpact keyword is not typically required for python-troveclient"},{"line_number":272,"context_line":"changes."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Dependencies"},{"line_number":276,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_b233d6f5","line":273,"updated":"2016-07-14 21:30:33.000000000","message":"Is line 266-272 really needed in here?","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":270,"context_line":"from the help strings when a new version of the CLI is released, so"},{"line_number":271,"context_line":"a DocImpact keyword is not typically required for python-troveclient"},{"line_number":272,"context_line":"changes."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Dependencies"},{"line_number":276,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_b64e6d94","line":273,"in_reply_to":"1aa78d24_b233d6f5","updated":"2016-07-15 20:34:05.000000000","message":"Done","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"3d26d1b67eba9c0894584c2de4a928ab2103261f","unresolved":false,"context_lines":[{"line_number":280,"context_line":"Testing"},{"line_number":281,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"n/a"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"Documentation Impact"},{"line_number":286,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1aa78d24_f2243eb3","line":283,"updated":"2016-07-14 21:30:33.000000000","message":"I am assuming there has to be some testing of the new CLI\u0027s.","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7aaecbaeed497e7d21607bec63711cd3fe8a68ab","unresolved":false,"context_lines":[{"line_number":280,"context_line":"Testing"},{"line_number":281,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"n/a"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"Documentation Impact"},{"line_number":286,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fad55976_36227dba","line":283,"in_reply_to":"1aa78d24_f2243eb3","updated":"2016-07-15 20:34:05.000000000","message":"We currently don\u0027t have any CLI testing. If we add support in scenario tests (through the python API) that would mean we\u0027d require Mistral to be installed.  Do we want to do that?","commit_id":"44104c719382e1939d3319ee3a84933cd4d7c2c1"}]}
