)]}'
{"specs/backlog/approved/purge-deleted-instances-cmd.rst":[{"author":{"_account_id":16839,"name":"Cale Rath","email":"ctrath@us.ibm.com","username":"ctrath"},"change_message_id":"ecc2cc6f8aae210518453aafe43829354d7eae68","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* instance_metadata"},{"line_number":73,"context_line":"* instance_system_metadata"},{"line_number":74,"context_line":"* pci_devices"},{"line_number":75,"context_line":"* tags"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba3cc151_2d56d6ce","line":75,"updated":"2015-07-10 19:15:06.000000000","message":"This instance destroy method:\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L1686\nwhich is doing soft deletes, is including security_group_instance_association, instance_faults.  You have additional hardware mapping tables included: block_device_mapping, consoles, pci_devices and also tags.  Is this list above accurate?","commit_id":"b36f2b2e229192c133cfb0eac9aa4e6f7649ff4f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"76d864b739fc03a9eaf5e4aced46015257d7004b","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* instance_metadata"},{"line_number":73,"context_line":"* instance_system_metadata"},{"line_number":74,"context_line":"* pci_devices"},{"line_number":75,"context_line":"* tags"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba3cc151_4d38fa3d","line":75,"in_reply_to":"ba3cc151_2d56d6ce","updated":"2015-07-10 19:22:14.000000000","message":"I missed security_group_instance_association because I was looking for backrefs in the model and this is just a bridge table between security_groups and instances, so yeah security_group_instance_association should be in this list.\n\nI wasn\u0027t sure about instance_faults since there was no backref and the InstanceFault object doesn\u0027t have an Instance object child, but you only access instance_faults via instances, so yeah this should probably be in the list too (would like alaski to confirm).\n\nRegarding bdms, consoles, pci_devices and tags, those all have backrefs to instances, so I\u0027m not sure if you\u0027re questioning if those should be in the list or not?  Can we use a block_device_mapping that is associated to an instance that no longer has a record in the database?  I assume we\u0027d actually hit a constraint failure if trying to delete the instance before the related bdm.","commit_id":"b36f2b2e229192c133cfb0eac9aa4e6f7649ff4f"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"bbf635245cadd85a8a126dcdee0cd91bfc19ecef","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* instance_metadata"},{"line_number":73,"context_line":"* instance_system_metadata"},{"line_number":74,"context_line":"* pci_devices"},{"line_number":75,"context_line":"* tags"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba3cc151_e811bc54","line":75,"in_reply_to":"ba3cc151_4d38fa3d","updated":"2015-07-10 19:27:43.000000000","message":"Instance faults have a foreignkey reference to instances.uuid so they would need to be included here as well.","commit_id":"b36f2b2e229192c133cfb0eac9aa4e6f7649ff4f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e2922a9b6df996046468dbeb46652050350faec","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  * The fixed_ips table is not included since instances are associated to"},{"line_number":85,"context_line":"    fixed_ips based on lease/release operations with nova-network and the"},{"line_number":86,"context_line":"    ForeignKeyConstraint should only hold up while the instance is not (soft)"},{"line_number":87,"context_line":"    deleted. [#f3]_"},{"line_number":88,"context_line":"  * The security_groups table is not included since a security group can apply"},{"line_number":89,"context_line":"    to multiple instances."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_8898301d","line":87,"updated":"2015-07-10 19:46:21.000000000","message":"I\u0027m not sure if this would be helpful to reinforce, but nova-network deallocates the fixed ip on the instance here:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/network/manager.py#n560\n\nwhich then we get to stuff like this:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/network/manager.py#n1064","commit_id":"1e60349d2783e247675db39bac4ca2c7f59777b7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"764853ff68e114258a88511f27306878edb75d2e","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  * The fixed_ips table is not included since instances are associated to"},{"line_number":85,"context_line":"    fixed_ips based on lease/release operations with nova-network and the"},{"line_number":86,"context_line":"    ForeignKeyConstraint should only hold up while the instance is not (soft)"},{"line_number":87,"context_line":"    deleted. [#f3]_"},{"line_number":88,"context_line":"  * The security_groups table is not included since a security group can apply"},{"line_number":89,"context_line":"    to multiple instances."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_ee77859d","line":87,"in_reply_to":"ba3cc151_8898301d","updated":"2015-07-10 19:52:07.000000000","message":"So, we might have bugs in that teardown path after all:\n\nhttp://lists.openstack.org/pipermail/openstack-operators/2014-October/005258.html","commit_id":"1e60349d2783e247675db39bac4ca2c7f59777b7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5d92530fb2dffde69cf84e029dd5b9785e64cf87","unresolved":false,"context_lines":[{"line_number":201,"context_line":".. [#f2] http://git.openstack.org/cgit/openstack/nova/tree/nova/compute/manager.py?id\u003d12.0.0.0b1#n5840"},{"line_number":202,"context_line":".. [#f3] http://git.openstack.org/cgit/openstack/nova/tree/nova/db/sqlalchemy/models.py?id\u003d12.0.0.0b1#n867"},{"line_number":203,"context_line":".. [#f4] http://git.openstack.org/cgit/openstack/nova/tree/nova/cmd/manage.py?id\u003d12.0.0.0b1#n983"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"History"},{"line_number":207,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_6e1cd513","line":204,"updated":"2015-07-10 19:59:15.000000000","message":"I should probably also refer to this older blueprint that was attempting to do the same thing in a generic way:\n\nhttps://blueprints.launchpad.net/nova/+spec/db-purge-engine\n\nAnd so was someone in Glance:\n\nhttps://review.openstack.org/#/c/18390\n\nAnd they were told to do it generically in oslo and then they both died on the vine.","commit_id":"1e60349d2783e247675db39bac4ca2c7f59777b7"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/purge-deleted-instances-cmd"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until we have automated `DB archival \u003chttps://review.openstack.org/#/c/137669/\u003e`_"},{"line_number":14,"context_line":"or `no more soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_ we should"},{"line_number":15,"context_line":"have a way to purge soft deleted instances from the database along with their"},{"line_number":16,"context_line":"related meta tables like instance_metadata, instance_system_metadata,"},{"line_number":17,"context_line":"instance_info_cache, instance_extra, tags, etc. basically whatever shows up"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_a9e717e3","line":14,"updated":"2015-07-13 17:12:42.000000000","message":"Thanks for the shout; technically this link should be to https://review.openstack.org/#/c/184637 (abandoned atm but I plan to restore it when no-more-soft-delete is resolved).","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/purge-deleted-instances-cmd"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until we have automated `DB archival \u003chttps://review.openstack.org/#/c/137669/\u003e`_"},{"line_number":14,"context_line":"or `no more soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_ we should"},{"line_number":15,"context_line":"have a way to purge soft deleted instances from the database along with their"},{"line_number":16,"context_line":"related meta tables like instance_metadata, instance_system_metadata,"},{"line_number":17,"context_line":"instance_info_cache, instance_extra, tags, etc. basically whatever shows up"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_f22c244c","line":14,"in_reply_to":"9a41bdd9_a9e717e3","updated":"2015-07-13 17:35:33.000000000","message":"Do I need to change something here?  I don\u0027t have the details from both of those specs in mind right now, I thought https://review.openstack.org/#/c/184645/ dropped the SoftDeleteMixin which meant that when you delete a resource in the nova API it\u0027s deleted - gone from the DB, not marked as deleted !\u003d 0.","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"65df650f26ecebdbaac51201fe32408f928a9faa","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/purge-deleted-instances-cmd"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until we have automated `DB archival \u003chttps://review.openstack.org/#/c/137669/\u003e`_"},{"line_number":14,"context_line":"or `no more soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_ we should"},{"line_number":15,"context_line":"have a way to purge soft deleted instances from the database along with their"},{"line_number":16,"context_line":"related meta tables like instance_metadata, instance_system_metadata,"},{"line_number":17,"context_line":"instance_info_cache, instance_extra, tags, etc. basically whatever shows up"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_127d08e7","line":14,"in_reply_to":"9a41bdd9_f22c244c","updated":"2015-07-13 17:38:52.000000000","message":"I\u0027ll at least add blueprint purge-soft-deleted-rows to the references section for prior art.","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":26,"context_line":"something like this but they have to go directly into the nova database to do"},{"line_number":27,"context_line":"it. With a nova-manage db command we can at least ship it with the code and"},{"line_number":28,"context_line":"test it until better solutions are implemented, like the aforementioned archive"},{"line_number":29,"context_line":"or no more soft delete specs."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_294f87be","line":29,"updated":"2015-07-13 17:12:42.000000000","message":"in fact something like this being available is required to progress the purge-soft-deleted-rows approach, as it won\u0027t deal with a heavily encumbered database.","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":26,"context_line":"something like this but they have to go directly into the nova database to do"},{"line_number":27,"context_line":"it. With a nova-manage db command we can at least ship it with the code and"},{"line_number":28,"context_line":"test it until better solutions are implemented, like the aforementioned archive"},{"line_number":29,"context_line":"or no more soft delete specs."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_92e35805","line":29,"in_reply_to":"9a41bdd9_294f87be","updated":"2015-07-13 17:35:33.000000000","message":"Do I need to update something here?","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":32,"context_line":"----------"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As a cloud operator, I want to manage the size of my database by purging"},{"line_number":35,"context_line":"soft deleted instances - and I don\u0027t are about archiving to shadow tables."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Project Priority"},{"line_number":38,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_89d7b3be","line":35,"updated":"2015-07-13 17:12:42.000000000","message":"nit: s/are/care/","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":32,"context_line":"----------"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As a cloud operator, I want to manage the size of my database by purging"},{"line_number":35,"context_line":"soft deleted instances - and I don\u0027t are about archiving to shadow tables."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Project Priority"},{"line_number":38,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_52edd0ed","line":35,"in_reply_to":"9a41bdd9_89d7b3be","updated":"2015-07-13 17:35:33.000000000","message":"Done","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":60,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":61,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":62,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":63,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"**Whitelist of impacted tables:**"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_ac6de505","line":63,"updated":"2015-07-13 17:12:42.000000000","message":"\"no-more-soft-delete\" means \"no additional\" rather than \"none of this any more\". Poor naming in retrospect :(\n\nI have no plans to remove the SoftDeleteMixin from Instance, although for my needs I\u0027d be happy if someone did","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":60,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":61,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":62,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":63,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"**Whitelist of impacted tables:**"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_32a04c9f","line":63,"in_reply_to":"9a41bdd9_ac6de505","updated":"2015-07-13 17:35:33.000000000","message":"OK, I guess I need to read https://review.openstack.org/#/c/184645/ in detail then because I thought it meant dropping the SoftDeleteMixin so we wouldn\u0027t have deleted !\u003d 0 (we\u0027d drop the deleted column) so that records are just deleted when you delete a reource via the nova-api.","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":62,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":63,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"**Whitelist of impacted tables:**"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* block_device_mapping"},{"line_number":68,"context_line":"* consoles"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_ec31ad0c","line":65,"updated":"2015-07-13 17:12:42.000000000","message":"How was this list obtained please?","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":62,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":63,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"**Whitelist of impacted tables:**"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* block_device_mapping"},{"line_number":68,"context_line":"* consoles"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_d2856007","line":65,"in_reply_to":"9a41bdd9_ec31ad0c","updated":"2015-07-13 17:35:33.000000000","message":"Basically instances and then any backref / foreign key constraints to instances, with notes for fixed_ips and security_groups being exceptions.","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"The nova-manage command is only available to admins. Obviously any entry point"},{"line_number":114,"context_line":"to deleting data permantently is dangerous but this spec assumes the deployer"},{"line_number":115,"context_line":"has taken the necessary security precautions to lock down access to the"},{"line_number":116,"context_line":"nova-manage command already."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_2c07951d","line":114,"updated":"2015-07-13 17:12:42.000000000","message":"nit: permanently","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"The nova-manage command is only available to admins. Obviously any entry point"},{"line_number":114,"context_line":"to deleting data permantently is dangerous but this spec assumes the deployer"},{"line_number":115,"context_line":"has taken the necessary security precautions to lock down access to the"},{"line_number":116,"context_line":"nova-manage command already."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_727d741b","line":114,"in_reply_to":"9a41bdd9_2c07951d","updated":"2015-07-13 17:35:33.000000000","message":"Done","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"There could be some impact when doing a large purge, so as part of the command"},{"line_number":132,"context_line":"implementation it might be prudent to have a ``--max-number`` option like the"},{"line_number":133,"context_line":"`nova-manage db migrate_flavor_data` command. [#f4]_"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Other deployer impact"},{"line_number":136,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_cf237ba6","line":133,"updated":"2015-07-13 17:12:42.000000000","message":"This is an absolute necessity!","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"There could be some impact when doing a large purge, so as part of the command"},{"line_number":132,"context_line":"implementation it might be prudent to have a ``--max-number`` option like the"},{"line_number":133,"context_line":"`nova-manage db migrate_flavor_data` command. [#f4]_"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Other deployer impact"},{"line_number":136,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_d2ea40ac","line":133,"in_reply_to":"9a41bdd9_cf237ba6","updated":"2015-07-13 17:35:33.000000000","message":"Changed \"it might be\" to \"there will be\".","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"86e42c6d15e88777ad96617328e354ade5a72b37","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Add the command to nova.cmd.manage.DbCommands."},{"line_number":166,"context_line":"* ?"},{"line_number":167,"context_line":"* Profit!"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_4fd76bed","line":167,"updated":"2015-07-13 17:12:42.000000000","message":"don\u0027t forget \"take over the world\"","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e79099c4e2f7bc6ee59ea71396c33bf4f3039ae","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Add the command to nova.cmd.manage.DbCommands."},{"line_number":166,"context_line":"* ?"},{"line_number":167,"context_line":"* Profit!"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a41bdd9_d201e06b","line":167,"in_reply_to":"9a41bdd9_4fd76bed","updated":"2015-07-13 17:35:33.000000000","message":"That\u0027s not part of the underpants gnomes business plan:\n\nhttps://upload.wikimedia.org/wikipedia/en/d/dd/Gnomes_plan.png","commit_id":"9119acd11466c4b5df53f46870dd65579d485903"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2cc37a7e7e5d0a1c1bd92960fa98ad680ff92c","unresolved":false,"context_lines":[{"line_number":129,"context_line":"------------------"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"There could be some impact when doing a large purge, so as part of the command"},{"line_number":132,"context_line":"implementation there will be a ``--max-number`` option like the"},{"line_number":133,"context_line":"`nova-manage db migrate_flavor_data` command. [#f4]_"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a41bdd9_38e34b35","line":132,"updated":"2015-07-13 18:17:22.000000000","message":"Another idea of Dan\u0027s was a time window so we delete things older than a given time, e.g. deleted_at \u003e 90 days or something.","commit_id":"b5be7e0753f52b30f1aa5ef44d567968c6161593"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"124562e5c9eec72f0f7b83621ff0469411a9126e","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"There will be a ``--since`` option for limiting how far back a deleted instance"},{"line_number":61,"context_line":"was deleted (based on the deleted_at column) before it\u0027s removed. By default"},{"line_number":62,"context_line":"this would be 90 days."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a41bdd9_63b04844","line":62,"updated":"2015-07-13 18:38:33.000000000","message":"\"Since\" makes me think it\u0027s going to delete everything \"since\" the date provided.\n\nI would recommend this be --older-than or --before.\n\nAlso, is this going to be days, or a date?","commit_id":"7ff1ccad9d6b0cd94511f3b5f7556b2cc65bc478"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b207c13c4facc30c39467329143591160f566b45","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"There will be a ``--since`` option for limiting how far back a deleted instance"},{"line_number":61,"context_line":"was deleted (based on the deleted_at column) before it\u0027s removed. By default"},{"line_number":62,"context_line":"this would be 90 days."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a41bdd9_beae6396","line":62,"in_reply_to":"9a41bdd9_63b04844","updated":"2015-07-13 19:07:32.000000000","message":"I\u0027ll change it to --older-than since that\u0027s more clear.\n\nAs far as the unit, I was thinking days, but wasn\u0027t really sure, since I guess you could technically want to maybe run this in less than a day, like if someone is maniacal about keeping a clean (purged) DB, but maybe that\u0027s overkill, and I certainly wouldn\u0027t want to make people use this option in hours or minutes units - I guess you could add a unit identifier, e.g. 90d, 24h, 30m, but that\u0027s over-engineering a bit IMO.  I\u0027m open to suggestions but for now I\u0027ll just say it\u0027s --older-than in days and the default is 90.","commit_id":"7ff1ccad9d6b0cd94511f3b5f7556b2cc65bc478"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"0bdedc194b813e30337c94d9ddbeaf82d80fe3ac","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/purge-deleted-instances-cmd"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until we have automated `DB archival \u003chttps://review.openstack.org/#/c/137669/\u003e`_"},{"line_number":14,"context_line":"or `no more soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_ we should"},{"line_number":15,"context_line":"have a way to purge soft deleted instances from the database along with their"},{"line_number":16,"context_line":"related meta tables like instance_metadata, instance_system_metadata,"},{"line_number":17,"context_line":"instance_info_cache, instance_extra, tags, etc. basically whatever shows up"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_d9548522","line":14,"updated":"2015-07-14 10:14:43.000000000","message":"Purge-soft-deleted-rows is the right ref here. No-more-soft-delete is just trying to stem the flow, IE prevent any more things (unconnnected to Instance) from using the SoftDeleteMixin.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"2463553dee008c60a5225a65cf2a1de0ef25469d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/purge-deleted-instances-cmd"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until we have automated `DB archival \u003chttps://review.openstack.org/#/c/137669/\u003e`_"},{"line_number":14,"context_line":"or `no more soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_ we should"},{"line_number":15,"context_line":"have a way to purge soft deleted instances from the database along with their"},{"line_number":16,"context_line":"related meta tables like instance_metadata, instance_system_metadata,"},{"line_number":17,"context_line":"instance_info_cache, instance_extra, tags, etc. basically whatever shows up"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a50d1a3_697d6e6d","line":14,"in_reply_to":"9a41bdd9_d3145945","updated":"2015-07-21 15:40:23.000000000","message":"purge-soft-deleted-rows wants to add a periodic task to Nova, removing the manual element (or crontab entry) of running nova-manage.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4f4ad238292ef869b42454106b185c1e897091e4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/purge-deleted-instances-cmd"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until we have automated `DB archival \u003chttps://review.openstack.org/#/c/137669/\u003e`_"},{"line_number":14,"context_line":"or `no more soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_ we should"},{"line_number":15,"context_line":"have a way to purge soft deleted instances from the database along with their"},{"line_number":16,"context_line":"related meta tables like instance_metadata, instance_system_metadata,"},{"line_number":17,"context_line":"instance_info_cache, instance_extra, tags, etc. basically whatever shows up"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_d3145945","line":14,"in_reply_to":"9a41bdd9_d9548522","updated":"2015-07-14 13:30:16.000000000","message":"What is the major difference between purge-soft-deleted-rows and this spec?","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":11255,"name":"Dustin Lundquist","username":"dustin.lundquist","inactive":true},"change_message_id":"6b23e887c4865f6d191a342ff5a113af46bcab43","unresolved":false,"context_lines":[{"line_number":61,"context_line":"deleted instance was deleted (based on the deleted_at column) before it\u0027s"},{"line_number":62,"context_line":"removed. By default this would be 90 days."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":66,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":67,"context_line":"from the data model so that delete actually does a hard-delete."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_8938ddf0","line":64,"updated":"2015-07-14 15:34:17.000000000","message":"If this is temporary, do we want to consider a deprecation plan? IMO it\u0027s unlikely this would actually be a temporary, but may be supplanted in the long term.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"040bc5ca75eaef0843526df60cad15b7ddeb2120","unresolved":false,"context_lines":[{"line_number":61,"context_line":"deleted instance was deleted (based on the deleted_at column) before it\u0027s"},{"line_number":62,"context_line":"removed. By default this would be 90 days."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":66,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":67,"context_line":"from the data model so that delete actually does a hard-delete."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_0151fcd7","line":64,"in_reply_to":"9a41bdd9_8938ddf0","updated":"2015-07-14 18:26:50.000000000","message":"I\u0027ll add some wording to the effect that this is meant to be temporary but may end up living in tree for a long time depend on how useful it is and how other longer-term efforts work out.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"0bdedc194b813e30337c94d9ddbeaf82d80fe3ac","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":66,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":67,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"**Whitelist of impacted tables:**"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_7400e001","line":66,"updated":"2015-07-14 10:14:43.000000000","message":"\"*and/or* we provide a periodic task to clean up these rows.\"","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4f4ad238292ef869b42454106b185c1e897091e4","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":66,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":67,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"**Whitelist of impacted tables:**"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_d33bf9cf","line":66,"in_reply_to":"9a41bdd9_7400e001","updated":"2015-07-14 13:30:16.000000000","message":"Is that the purge-soft-deleted-rows spec?","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"2463553dee008c60a5225a65cf2a1de0ef25469d","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"This would be a temporary command until the alternatives of better archive"},{"line_number":65,"context_line":"capability with the option to hard-delete *and/or* we remove support for the"},{"line_number":66,"context_line":"`SoftDeleteMixin \u003chttp://docs.openstack.org/developer/oslo.db/api/sqlalchemy/models.html#module-oslo_db.sqlalchemy.models\u003e`_"},{"line_number":67,"context_line":"from the data model so that delete actually does a hard-delete."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"**Whitelist of impacted tables:**"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a50d1a3_e9917e9a","line":66,"in_reply_to":"9a41bdd9_d33bf9cf","updated":"2015-07-21 15:40:23.000000000","message":"yes - read it :)\n\nhttps://review.openstack.org/#/c/184637/6/specs/liberty/approved/purge-soft-deleted-rows.rst","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":11255,"name":"Dustin Lundquist","username":"dustin.lundquist","inactive":true},"change_message_id":"6b23e887c4865f6d191a342ff5a113af46bcab43","unresolved":false,"context_lines":[{"line_number":117,"context_line":"The nova-manage command is only available to admins. Obviously any entry point"},{"line_number":118,"context_line":"to deleting data permanently is dangerous but this spec assumes the deployer"},{"line_number":119,"context_line":"has taken the necessary security precautions to lock down access to the"},{"line_number":120,"context_line":"nova-manage command already."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Notifications impact"},{"line_number":123,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_c9010508","line":120,"updated":"2015-07-14 15:34:17.000000000","message":"Purging old database entries effects audibility.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"040bc5ca75eaef0843526df60cad15b7ddeb2120","unresolved":false,"context_lines":[{"line_number":117,"context_line":"The nova-manage command is only available to admins. Obviously any entry point"},{"line_number":118,"context_line":"to deleting data permanently is dangerous but this spec assumes the deployer"},{"line_number":119,"context_line":"has taken the necessary security precautions to lock down access to the"},{"line_number":120,"context_line":"nova-manage command already."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Notifications impact"},{"line_number":123,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_416dc42f","line":120,"in_reply_to":"9a41bdd9_c9010508","updated":"2015-07-14 18:26:50.000000000","message":"I can add a note about that.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"0bdedc194b813e30337c94d9ddbeaf82d80fe3ac","unresolved":false,"context_lines":[{"line_number":133,"context_line":"------------------"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"There could be some impact when doing a large purge, so as part of the command"},{"line_number":136,"context_line":"implementation there will be a ``--max-number`` option like the"},{"line_number":137,"context_line":"`nova-manage db migrate_flavor_data` command. [#f4]_"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_b41e6861","line":136,"updated":"2015-07-14 10:14:43.000000000","message":"Thank you","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"0bdedc194b813e30337c94d9ddbeaf82d80fe3ac","unresolved":false,"context_lines":[{"line_number":204,"context_line":"* Previous attempts in Nova:"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  * https://blueprints.launchpad.net/nova/+spec/db-purge-engine"},{"line_number":207,"context_line":"  * https://blueprints.launchpad.net/nova/+spec/purge-soft-deleted-rows"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* Related mailing list: http://lists.openstack.org/pipermail/openstack-operators/2014-October/005257.html"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_346fb8c6","line":207,"updated":"2015-07-14 10:14:43.000000000","message":"I haven\u0027t given up on this, maybe s/Previous/Other/ ?","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4f4ad238292ef869b42454106b185c1e897091e4","unresolved":false,"context_lines":[{"line_number":204,"context_line":"* Previous attempts in Nova:"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  * https://blueprints.launchpad.net/nova/+spec/db-purge-engine"},{"line_number":207,"context_line":"  * https://blueprints.launchpad.net/nova/+spec/purge-soft-deleted-rows"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* Related mailing list: http://lists.openstack.org/pipermail/openstack-operators/2014-October/005257.html"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_335b4530","line":207,"in_reply_to":"9a41bdd9_346fb8c6","updated":"2015-07-14 13:30:16.000000000","message":"Sure.","commit_id":"88d357f0e2db2284fac540353379779b1ae00d64"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"fc2ad58c42b987100f379a41e9d6f6abfd02831c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"* block_device_mapping"},{"line_number":78,"context_line":"* consoles"},{"line_number":79,"context_line":"* instances"},{"line_number":80,"context_line":"* instance_actions"},{"line_number":81,"context_line":"* instance_extra"},{"line_number":82,"context_line":"* instance_faults"},{"line_number":83,"context_line":"* instance_info_cache"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a50d1a3_39a56d03","line":80,"updated":"2015-07-27 15:10:16.000000000","message":"-1: what about instance_action_events and other second-degree relations?","commit_id":"be408b53df3e56186368f67147640018b5258ee5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8043c1ce0b490a6c1bd12ebb19f1bd5e495d41db","unresolved":false,"context_lines":[{"line_number":77,"context_line":"* block_device_mapping"},{"line_number":78,"context_line":"* consoles"},{"line_number":79,"context_line":"* instances"},{"line_number":80,"context_line":"* instance_actions"},{"line_number":81,"context_line":"* instance_extra"},{"line_number":82,"context_line":"* instance_faults"},{"line_number":83,"context_line":"* instance_info_cache"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa1b9901_b9dd2d44","line":80,"in_reply_to":"3a50d1a3_39a56d03","updated":"2015-08-18 19:44:18.000000000","message":"Good point, missed that one.  I\u0027ll do another pass, there are a lot of these as one can imagine.  And actually someone testing Cale\u0027s WIP patch found that it failed specifically because that table wasn\u0027t in the whitelist.","commit_id":"be408b53df3e56186368f67147640018b5258ee5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"940d98f17b99b22117bfe617d62f1bd0ec64c8ef","unresolved":false,"context_lines":[{"line_number":77,"context_line":"* block_device_mapping"},{"line_number":78,"context_line":"* consoles"},{"line_number":79,"context_line":"* instances"},{"line_number":80,"context_line":"* instance_actions"},{"line_number":81,"context_line":"* instance_extra"},{"line_number":82,"context_line":"* instance_faults"},{"line_number":83,"context_line":"* instance_info_cache"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa1b9901_0462acad","line":80,"in_reply_to":"fa1b9901_b9dd2d44","updated":"2015-08-18 20:05:10.000000000","message":"instance_actions_events is the only one I found that was missing as a second order relation.  console_pools threw me for a second but it\u0027s not the same issue.","commit_id":"be408b53df3e56186368f67147640018b5258ee5"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"b43e93ab7adb86092b11aac4c9737854db432658","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* Wait for the `DB archival framework \u003chttps://review.openstack.org/#/c/137669/\u003e`_."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* Wait for us to drop `soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Wait for a `periodic task to purge deleted rows \u003chttps://review.openstack.org/#/c/184637/\u003e`_."},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a50d1a3_e9bf3ef9","line":108,"updated":"2015-07-21 15:39:59.000000000","message":"again, this spec is not to drop it completely, only from those tables where it isn\u0027t read","commit_id":"be408b53df3e56186368f67147640018b5258ee5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8043c1ce0b490a6c1bd12ebb19f1bd5e495d41db","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"* Wait for the `DB archival framework \u003chttps://review.openstack.org/#/c/137669/\u003e`_."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* Wait for us to drop `soft delete \u003chttps://review.openstack.org/#/c/184645/\u003e`_."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Wait for a `periodic task to purge deleted rows \u003chttps://review.openstack.org/#/c/184637/\u003e`_."},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa1b9901_59ff31aa","line":108,"in_reply_to":"3a50d1a3_e9bf3ef9","updated":"2015-08-18 19:44:18.000000000","message":"Is there something you want me to reword here?  Maybe I should say \u0027wait for us to drop soft delete (which would only be from the tables that don\u0027t use/need it because there are no API queries which read deleted rows in those cases, etc etc it\u0027s complicated, here go read this other spec)\u0027? :)\n\nI guess maybe the point is https://review.openstack.org/#/c/184645/ is a corresponding change rather than an alternative.\n\nMaybe I should say \"Wait for us to address the SoftDeleteMixin in the data model\" instead of drop?  I guess I\u0027ll change to that since it sounds less harsh.","commit_id":"be408b53df3e56186368f67147640018b5258ee5"}]}
