)]}'
{"id":"openstack%2Fnova-specs~137669","triplet_id":"openstack%2Fnova-specs~master~I6ee86fe55796d8fb820e9857cf4aa180be751403","project":"openstack/nova-specs","branch":"master","topic":"bp/archival-framework","hashtags":[],"change_id":"I6ee86fe55796d8fb820e9857cf4aa180be751403","subject":"Adds an archival framework to Nova","status":"ABANDONED","created":"2014-11-27 15:58:33.000000000","updated":"2016-03-16 20:15:55.000000000","total_comment_count":18,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"9f47b9785cb94795b381196bdd33ac8ab174195e","_number":137669,"virtual_id_number":137669,"owner":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},{"date":"2014-11-29 00:28:16.000000000","_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},{"value":-1,"date":"2014-11-27 16:04:04.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"date":"2014-11-28 13:53:31.000000000","_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},{"date":"2015-04-28 09:06:19.000000000","_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},{"date":"2014-11-28 03:29:30.000000000","_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"all":[{"value":-1,"date":"2014-11-27 16:26:38.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"value":0,"date":"2015-05-20 22:07:45.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":-1,"date":"2015-07-10 18:06:13.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},{"value":-1,"date":"2014-12-01 11:34:42.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},{"value":-1,"date":"2015-06-26 15:15:01.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"rejected":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"date":"2015-09-23 11:46:19.000000000","_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":-1,"date":"2015-01-07 17:46:41.000000000","permitted_voting_range":{"min":-1,"max":0},"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"date":"2015-02-03 14:56:39.000000000","_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2015-05-20 22:11:39.000000000","_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"date":"2014-12-02 13:51:24.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},{"date":"2015-07-14 17:56:34.000000000","_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},{"date":"2015-06-30 11:44:16.000000000","_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"date":"2015-05-08 12:49:46.000000000","_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},{"_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-11-27 16:04:04.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2014-11-27 16:26:38.000000000","updated_by":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"reviewer":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"state":"REVIEWER"},{"updated":"2014-11-28 03:29:30.000000000","updated_by":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"reviewer":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"state":"REVIEWER"},{"updated":"2014-11-28 13:53:31.000000000","updated_by":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"reviewer":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"state":"REVIEWER"},{"updated":"2014-11-29 00:28:16.000000000","updated_by":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"reviewer":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"state":"REVIEWER"},{"updated":"2014-12-01 11:34:42.000000000","updated_by":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"reviewer":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"state":"REVIEWER"},{"updated":"2014-12-02 13:51:24.000000000","updated_by":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"reviewer":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"state":"REVIEWER"},{"updated":"2015-02-03 14:56:39.000000000","updated_by":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"reviewer":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"state":"REVIEWER"},{"updated":"2015-04-28 09:06:19.000000000","updated_by":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"reviewer":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"state":"REVIEWER"},{"updated":"2015-05-08 12:49:46.000000000","updated_by":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"reviewer":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"state":"REVIEWER"},{"updated":"2015-05-20 22:07:45.000000000","updated_by":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"reviewer":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"state":"REVIEWER"},{"updated":"2015-05-20 22:11:39.000000000","updated_by":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"reviewer":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"state":"REVIEWER"},{"updated":"2015-06-26 15:15:01.000000000","updated_by":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"reviewer":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"state":"REVIEWER"},{"updated":"2015-06-30 11:44:16.000000000","updated_by":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"reviewer":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"state":"REVIEWER"},{"updated":"2015-07-10 18:06:13.000000000","updated_by":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"reviewer":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"state":"REVIEWER"},{"updated":"2015-07-14 17:56:34.000000000","updated_by":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"reviewer":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"state":"REVIEWER"},{"updated":"2015-09-23 11:46:19.000000000","updated_by":{"_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},"reviewer":{"_account_id":136,"name":"Tim Bell","email":"tim.bell@cern.ch","username":"tim-bell"},"state":"REVIEWER"}],"messages":[{"id":"588beaa369a3805e36acfd0d1a83791a5369a30b","author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"date":"2014-11-27 15:58:33.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"85152a7b8c3284d60fe81fe305c1af336c3566a5","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-11-27 16:04:04.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-nova-specs-docs http://docs-draft.openstack.org/69/137669/1/check/gate-nova-specs-docs/7ed966e/doc/build/html/ : SUCCESS in 1m 57s\n- gate-nova-specs-python27 http://logs.openstack.org/69/137669/1/check/gate-nova-specs-python27/e23659a : FAILURE in 1m 30s","accounts_in_message":[],"_revision_number":1},{"id":"06ccb17c6a5f7c04a6b15b42e5492081ed48e6fc","author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"date":"2014-11-27 16:26:38.000000000","message":"Patch Set 1: Code-Review-1\n\n(7 comments)\n\nI think this makes some sense, but I would like more discussion of the places in the code where we make use of the data around deleted instances, like some of the periodic tasks. The usage information in the DB looks like it relies a lot on soft delete.\n\nBut I feel we need to have a deprecation period for the existing archive method of \"soft_delete\" in the DB. Many people will have built tooling around the assumption deleted instances stay in the database.\n\nAfter a release where we don\u0027t store the records in the nova DB by default, we can drop the ability of us using \"soft_delete\" in the DB.\n\nI keep thinking about instances, I guess its worth pulling out that you mean every single table in the database.","accounts_in_message":[],"_revision_number":1},{"id":"f36807f791d803d979e7eb57e4fe59dd35bc3b58","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-11-28 03:29:30.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"96ae0a90bfafc4f4613d5616a4783b6d68a5b934","author":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"date":"2014-11-28 13:53:31.000000000","message":"Patch Set 1:\n\nHell, then why limit this only to nova?","accounts_in_message":[],"_revision_number":1},{"id":"07de1b51577c66c178d949b5aacdb480414f36b2","author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"date":"2014-11-29 00:28:16.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nyes, I\u0027d like to identify every app that uses soft-delete and consider this as where they should go as well. Which means this is more, \"oslo-archival\".   What do you think?","accounts_in_message":[],"_revision_number":1},{"id":"f924613e4b72fe99632b910919c37cfc47bd3d89","author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"date":"2014-12-01 11:34:42.000000000","message":"Patch Set 1: Code-Review-1\n\nI thought one of the main reasons for deleted_* columns was eventually consistency. Given that multiple actors have access to the db the tear down process some times requires looked at things that have since been deleted.\n\nWhile I agree the current shadow table format is gorp, I don\u0027t see how this addresses the eventual consistency issue. I could see replacing the shadow tables with this very easily. But I still think deleted need more thought.","accounts_in_message":[],"_revision_number":1},{"id":"f5dc837e0a61ceea828a0330a10763834e60be2a","author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"date":"2015-01-07 17:46:41.000000000","message":"Patch Set 1: Workflow-1\n\nI don\u0027t think this is a reasonable thing to try targeting for Kilo. We can refine/work on this spec during the next couple months and have a good story in Vancouver.","accounts_in_message":[],"_revision_number":1},{"id":"4bcdbfbf8e03b2cd1902be9d06bf63dad4a2141b","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2015-01-12 17:36:59.000000000","message":"Patch Set 1: Code-Review-2\n\nSetting a -2 on this per the procedure we outlined for indicating specs that aren\u0027t up for kilo anymore","accounts_in_message":[],"_revision_number":1},{"id":"b65b2bc3a6c59b27af86ac3ddf82ff801adbd2d2","author":{"_account_id":6608,"name":"Paul Carlton","email":"paul.carlton2@hpe.com","username":"paul-carlton2"},"date":"2015-04-28 09:06:19.000000000","message":"Patch Set 1:\n\nThis is a good proposal.  However reading reviews and associated mails it seems we have not yet gained a consensus that soft deletions should be discontinued.  I understand that some existing logic may rely on soft deleted rows but I believe the right solution is to re design/implement the relevant sections of the code to work without relying on soft deleted rows.  This is meant to be an operational database and as such should only contain data relating to objects that still exist.  \n\nI do not have a good feel for what functionality would be impacted by the removal of soft deleted rows.  Obviously the facility to list deleted instances would be impacted.  Background tasks that do housekeeping based on soft deleted rows would need to perform these tidy up tasks by looking for objects (like processes and files) that relate to instances that no longer exist in the database.  I\u0027d have thought usage statistics could be retained without the need to retain data about deleted objects?\nUnless someone else has already done so, I\u0027d be happy to investigate what would need to be done  in terms of code changes to allow the soft deleted rows to be removed?\n\nThis is a major change that has a potentially significant impact on existing operators of Openstack.  \nWe probably need to think about how to split this work up into discrete elements that can be implements separately.  \n\nAdding archiving of soft deleted data to the code so that when an object is deleted it (and all related objects) are sent to an archiver via an RPC and the implementation of a basic archival system is a good start.  To avoid breaking existing nova functionality or operator\u0027s utilities maybe it should initially be implemented so performs the new archival as well as the soft delete.  The provision of a utility to generate archive data for previously soft deleted items and remove the same from the operational database would also be useful - I’ve done some work on database cleanup and would be happy to share what I’ve learn/done.  This phase is pretty much what this blueprint relates to.\n\nThe next step would be modify the existing nova code so that it no longer relies on soft deleted data.  This can be done in small increments and may include implementing new solutions to provide existing functionality using the archival data source.\n\nFinally we would want to change the schema to remove the deleted and deleted_at columns.  We\u0027d need to schedule this far enough in advance to give existing operators time to re-implement any utilities and tools they current use that rely on this data.\n\nVineet is right, we shouldn\u0027t limit this activity to Nova but linking work to address this in Nova to activities in other projects would make it even more difficult to to gain as consensus and implement the changes.  Better to focus on Nova for now and then other projects can benefit from our work to address this issue for their own database.  We could plan for this by incorporating common elements of the archiving logic into Oslo so other projects can utilize it.","accounts_in_message":[],"_revision_number":1},{"id":"671ef6f81d85c5a08b0ec7f25553ef2f0c3b322e","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2015-05-20 22:07:45.000000000","message":"Patch Set 1: -Code-Review","accounts_in_message":[],"_revision_number":1},{"id":"87393310b9764ea4787d8dda30cadb6ce6542717","author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"date":"2015-06-26 15:15:01.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"ab97120af76fee61b1ee17c9b1ae4e958cc70306","author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"date":"2015-07-10 18:06:13.000000000","message":"Patch Set 1: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"7ed81aa39d858646d4156b99d4f128c2e1726036","author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"date":"2015-07-14 22:53:58.000000000","message":"Patch Set 1:\n\n(2 comments)\n\nEverything here makes sense, but I as a small to medium cloud operator I consider having the shadow tables around to be a nice feature. I don\u0027t want to have to implement a new external service and manage that to get my audit trail, when the current solution of shadow tables works fairly well (minus the issues with database consistency, which need to be fixed regardless it seems.)\n\nI like the idea of a driver/interface deal but with the default driver/implementation preserving the current behavior of archiving to different tables within the same database.","accounts_in_message":[],"_revision_number":1},{"id":"b8c2589fba925bd345167562bdd7ab0446c1977f","author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"date":"2015-07-27 13:55:35.000000000","message":"Patch Set 1:\n\nWe discussed Mathew\u0027s concerns at the Liberty midcycle. It sounds like what he really doesn\u0027t want is to have to deploy another large service like Redis. If he can write a small service (like nova-conductor) which accepts these and shoves them into a separate schema within the same (or a different) MySQL, he\u0027d be happy. This is possible with the proposal as it stands.\n\nMathew, would you be so kind as to confirm all this?","accounts_in_message":[],"_revision_number":1},{"id":"f9a250dce36d870ce307b1cc2a9ebd9892d92a37","author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"date":"2015-07-27 19:59:57.000000000","message":"Patch Set 1:\n\nre: Alexis\u0027 comment, yes that captures what the concern was. i.e. No additional external services to do the archival process.\n\nHaving the data in an SQL schema is a plus right now, since I find that easy to query, but the data format for the archived records doesn\u0027t necessarily need to be SQL. I think the example given at the meetup was a JSON blob log file which is kind of gross but it would get the job done.","accounts_in_message":[],"_revision_number":1},{"id":"f92928eb3a84f9614cc57b4d9dcb96224544e87d","author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"date":"2016-03-16 20:15:55.000000000","message":"Abandoned\n\nLet\u0027s clean this up and re-propose for newton if we plan on doing something with this.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"f7f1b3f4f951aed40f7144aa687cb598b8634125","revisions":{"f7f1b3f4f951aed40f7144aa687cb598b8634125":{"kind":"REWORK","_number":1,"created":"2014-11-27 15:58:33.000000000","uploader":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"ref":"refs/changes/69/137669/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/69/137669/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/69/137669/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/69/137669/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/69/137669/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/69/137669/1"}}},"commit":{"parents":[{"commit":"59b883548e415293569ccc92ffd5ceefe7a07d89","subject":"Merge \"Support iSCSI live migration for different iSCSI target\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/59b883548e415293569ccc92ffd5ceefe7a07d89"}]}],"author":{"name":"Jay Pipes","email":"jaypipes@gmail.com","date":"2014-11-27 15:52:12.000000000","tz":-300},"committer":{"name":"Jay Pipes","email":"jaypipes@gmail.com","date":"2014-11-27 15:58:26.000000000","tz":-300},"subject":"Adds an archival framework to Nova","message":"Adds an archival framework to Nova\n\nSpecification for a new record archival framework that will\nallow Nova to get rid of the deleted and deleted_at columns in all\ntables in the Nova database.\n\nBlueprint archival-framework\n\nChange-Id: I6ee86fe55796d8fb820e9857cf4aa180be751403\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/f7f1b3f4f951aed40f7144aa687cb598b8634125"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/f7f1b3f4f951aed40f7144aa687cb598b8634125"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
