)]}'
{"id":"openstack%2Fnova~785072","triplet_id":"openstack%2Fnova~stable%2Fussuri~Ie653e5ec69d16ae469f1f8171fee85aea754edff","project":"openstack/nova","branch":"stable/ussuri","topic":"bug/1837995","hashtags":[],"change_id":"Ie653e5ec69d16ae469f1f8171fee85aea754edff","subject":"Dynamically archive FK related records in archive_deleted_rows","status":"MERGED","created":"2021-04-06 23:01:07.000000000","updated":"2021-08-31 20:16:37.000000000","submitted":"2021-08-31 20:14:46.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"785072-bug/1837995","meta_rev_id":"1de12f1e0c9ae3081ed49798dce8ea2bacabdeb4","_number":785072,"virtual_id_number":785072,"owner":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-08-31 20:14:45.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":2,"date":"2021-08-31 15:49:20.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":2,"date":"2021-08-31 10:11:04.000000000","_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":1,"date":"2021-08-31 15:49:20.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-04-07 00:13:30.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2021-04-07 02:22:21.000000000","updated_by":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"reviewer":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-04-07 03:53:45.000000000","updated_by":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"reviewer":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"state":"CC"},{"updated":"2021-08-31 10:11:04.000000000","updated_by":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"reviewer":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"state":"REVIEWER"},{"updated":"2021-08-31 15:49:20.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"REVIEWER"}],"messages":[{"id":"cefada57be4e2d29c98b41d188be3cfe0fdf3307","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-04-06 23:01:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"15ac903feff5eb7c8a9cea75abee43ddd724952e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-07 00:13:30.000000000","message":"Patch Set 1: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/51e67719a6e14921b7d8af4fe7b3fefe : SUCCESS in 1h 04m 41s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3fe6c9b80e104b628b780204d4caef29 : FAILURE in 15m 46s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b0837906af3545478c226283a48efbe7 : FAILURE in 14m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4c3230acb8c840b7917b684c51f3bb99 : FAILURE in 9m 08s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7505ce2422704c808a2739ca85d92075 : FAILURE in 12m 44s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/c18942da04d74456a09c87f8ee94a7a3 : FAILURE in 15m 31s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/81bae5334c0e45bf8b5b90856a4351f4 : SUCCESS in 12m 54s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/69ec39ae29cf48edaa745753bc95604c : SUCCESS in 44m 15s (non-voting)\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/b7d9828a63874f85896d888e2572336a : SUCCESS in 1h 03m 34s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/5fb083e0ef774d80bde2ee56846d2316 : SUCCESS in 1h 02m 52s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/a40f4058d10c4445bb76f845120fe66a : SUCCESS in 43m 49s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/4d84022f0c98450d8eab3b2e9204327c : SUCCESS in 1h 09m 32s\n- nova-next https://zuul.opendev.org/t/openstack/build/c931d6ab964f40dfa5c265c19e57e0fa : POST_FAILURE in 1h 05m 43s\n- nova-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/0eeca0ca999745918c330aa7ba3fb22c : FAILURE in 17m 20s\n- grenade https://zuul.opendev.org/t/openstack/build/c36f08928ec24d3f8758f6d17077792b : SUCCESS in 1h 03m 17s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/74e4f9bd53ad464c9e755371171e8fae : SUCCESS in 40m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e31cbf1a12de4e20a03ae09efcb46919 : SUCCESS in 53m 43s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/a9295d8cb29b4469bf67116cb75fce31 : FAILURE in 22m 34s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"74fd0a67b56fcd22e44e5e6ef500756e6622d04f","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2021-04-07 02:22:21.000000000","message":"Patch Set 1:\n\nBuild failed. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm- recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-bionic https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/72/785072/1/check/tempest-dsvm-full-bionic/c071110/ : TIMED_OUT in 2h 36m 39s\n- tempest-dsvm-full-bionic-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/72/785072/1/check/tempest-dsvm-full-bionic-py3/b2b1f4c/ : TIMED_OUT in 2h 36m 49s","accounts_in_message":[],"_revision_number":1},{"id":"cbea68bdea98ffdfc8b6e5c6b352da778f29565b","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-04-07 03:53:45.000000000","message":"Patch Set 1:\n\nFor rechecking only on the Cloudbase Nova Hyper-V CI, add a review comment with run-Cloudbase Nova Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/785072/1/iscsi : FAILURE in 2h 48m 51s","accounts_in_message":[],"_revision_number":1},{"id":"b93658681a03e2acc1fa4848196ab0b1891f7b18","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-04-07 16:00:25.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"65ac1f71d4564f21da814ca71f4c0b4d17d1cc62","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-07 17:44:28.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/22d16d0a72ee49d5955b00a0463fe909 : SUCCESS in 1h 17m 09s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/561604d043274eadaf17a7a248a1182f : SUCCESS in 19m 26s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9f374047e95445439d121e3b53a18b2b : SUCCESS in 15m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f9910d8b9dce40219cf88dcf3502c217 : FAILURE in 7m 49s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e45de7fa48f94656a135f91ca0493553 : SUCCESS in 12m 37s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/a5be51eae09043a2bfb270f6116d6f24 : SUCCESS in 14m 02s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/174de7ef116047beaf30eec208ace398 : SUCCESS in 14m 14s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/98d81567ea574a59926ac8a0c3840a89 : SUCCESS in 1h 03m 48s (non-voting)\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/0b1f83cb62e94018815436cf09d48e5c : SUCCESS in 1h 23m 26s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/e521ce22f841492380b4a8f946f0aa2b : SUCCESS in 1h 32m 09s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/cc3ed192eaa34b79a6c5c2e9b122ac82 : SUCCESS in 52m 49s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/28c8c0a492be4c289083ccb687a4567e : SUCCESS in 1h 24m 49s\n- nova-next https://zuul.opendev.org/t/openstack/build/4ff98ec502b143afab1f2790acbb97b2 : FAILURE in 1h 33m 06s\n- nova-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/577bd2d51a9a400b8c6fd1878a1865c1 : SUCCESS in 20m 47s\n- grenade https://zuul.opendev.org/t/openstack/build/ba975f424f384456b2642dfcf4037a24 : SUCCESS in 1h 16m 48s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/639b327698f7495a81b66306fcbbaf9d : SUCCESS in 1h 00m 03s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c431643106414578a1f00a7d5fa04e6d : SUCCESS in 54m 03s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/10a79d8c81364937a3f1d400f24b795a : FAILURE in 33m 24s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"183eb6f5a59325ce99c77664f7027afd13275562","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2021-04-07 18:54:34.000000000","message":"Patch Set 2:\n\nBuild failed. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm- recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-bionic https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/72/785072/2/check/tempest-dsvm-full-bionic/5f06f9a/ : SUCCESS in 2h 08m 47s\n- tempest-dsvm-full-bionic-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/72/785072/2/check/tempest-dsvm-full-bionic-py3/65cb37e/ : TIMED_OUT in 2h 38m 25s","accounts_in_message":[],"_revision_number":2},{"id":"24a859406b6643f4b68eef950fa6161007af7bc9","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-04-07 19:25:14.000000000","message":"Patch Set 2:\n\nBuild succeeded. For checking Nova with Ceph, add a comment with run-Cloudbase Nova Ceph Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/785072/2/iscsi : SUCCESS in 3h 22m 03s","accounts_in_message":[],"_revision_number":2},{"id":"8f79097e4441450e66dc52e804966838f9bb17e9","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-07-08 19:37:34.000000000","message":"Patch Set 2:\n\nrecheck victoria change merged","accounts_in_message":[],"_revision_number":2},{"id":"496213af14f015bb42a3a455be180e08ad209c2b","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2021-07-08 20:04:54.000000000","message":"Patch Set 2:\n\nBuild failed. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm- recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-bionic tempest-dsvm-full-bionic : NODE_FAILURE in 0s\n- tempest-dsvm-full-bionic-py3 tempest-dsvm-full-bionic-py3 : NODE_FAILURE in 0s","accounts_in_message":[],"_revision_number":2},{"id":"ecdec09f30b79b7febb2a86d90b1ca8fa3759cd6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-07-08 21:29:44.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/1d65b1cbed4244698c8eda896a28d624 : SUCCESS in 1h 07m 41s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8ef86af3fa8346c4a506212636c9caa1 : SUCCESS in 22m 27s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d691f1e7554f44ba84ae60f9159b08e8 : SUCCESS in 20m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/925a00f3c6a04c6a8649416a1f8aa4fa : SUCCESS in 7m 29s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/fa538f5907cc4188a40871dd79a0aa11 : SUCCESS in 12m 15s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/9a1f7bc43aa54ac2a7049538da89aebd : SUCCESS in 15m 34s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4661d7e2de354687893eaa513ea4c695 : SUCCESS in 11m 02s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/f7c294061e0f4119b0594c3d7e8d580b : SUCCESS in 57m 21s (non-voting)\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/69374b14e82e4c73b511706d72363c12 : SUCCESS in 1h 27m 25s (non-voting)\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/3786a19c08fa4f3b9a9fbb464aa8cddb : SUCCESS in 49m 44s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/4bf724b6ccc84a78adc813858975ab4c : SUCCESS in 1h 49m 26s\n- nova-next https://zuul.opendev.org/t/openstack/build/af016b7307bd4e4397fd013d6f11d364 : SUCCESS in 1h 17m 31s\n- nova-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/026055d6c42c4a42b4190c45e33333e6 : SUCCESS in 15m 19s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/1b932ec7939e4f1aaf3bd7103d1ab142 : SUCCESS in 1h 08m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d828b14b3dbb4659969fd6e7f802efb6 : SUCCESS in 51m 00s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a9257e3a3a0c47b6a273cb322d4d351a : SUCCESS in 51m 44s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/3ce71e28fc984e05bb43dc07ace1b227 : SUCCESS in 27m 37s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"62f654778f5f9eac7f942c3dc5462d5915b53ef0","tag":"autogenerated:cloudbase-ci","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-07-09 01:01:06.000000000","message":"Patch Set 2:\n\nBuild succeeded. For checking Nova with Ceph, add a comment with run-Cloudbase Nova Ceph Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/785072/2/iscsi : SUCCESS in 3h 08m 48s","accounts_in_message":[],"_revision_number":2},{"id":"2fb34dfbe3c87a76a1d05c86e8df8df995a26bb9","author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"date":"2021-08-31 10:11:04.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"0c8b21682d0aa32d01f8a9c175bc3db19a4346b3","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2021-08-31 15:49:20.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nThis was discussed to be valid for backporting in the stable/victoria version of the patch and was confirmed by Lee and Stephen. Clean cherry pick from stable/victoria, where the patch has merged. LGTM.","accounts_in_message":[],"_revision_number":2},{"id":"7ba8c0ed5988507d8bd2a504bea4e4ed35d38d84","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-31 15:51:07.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"44f52e02731bef8d6094c4ac22dd25ffe2d15f08","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-31 20:14:45.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/adc6dd8c36ae4a8eab227a807dd51c69 : SUCCESS in 1h 17m 39s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3ee0b28134e446a993a7c8921e100ef0 : SUCCESS in 16m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/161cad5d5610453bbd064899dc67899d : SUCCESS in 9m 51s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b6ec2c64f1204d958a3670ce69b040cd : SUCCESS in 22m 44s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/54c32f24441844889aba989c73404a31 : SUCCESS in 14m 18s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5b7bfb0e12794fd79fd0c8cca01f7654 : SUCCESS in 13m 11s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/b39cbd1f62884a10afb332f59b14efe1 : SUCCESS in 50m 45s\n- nova-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/cd187681772841f5971bd5bf51b48234 : SUCCESS in 17m 20s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/cb46ccd9d4384a6488e6dd45bbc14808 : SUCCESS in 1h 26m 34s\n- nova-next https://zuul.opendev.org/t/openstack/build/2d095496713748f095ec339d886a32ea : SUCCESS in 1h 24m 24s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ee03dd49cd81412aac1fabcefbe1b725 : SUCCESS in 6m 32s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/040ae6c19f784bd98df2c29ec652c245 : SUCCESS in 1h 32m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d63997d28bd94e6e948ff0acf4dfd69b : SUCCESS in 50m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/39c9593db3904041895364dc3a96ab56 : SUCCESS in 1h 01m 12s","accounts_in_message":[],"_revision_number":2},{"id":"05f02b9827bc9538da109a04dd002b182b551381","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-31 20:14:46.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"1de12f1e0c9ae3081ed49798dce8ea2bacabdeb4","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-31 20:16:37.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8ba722e90d1d41808588d928393b8ee3 : SUCCESS in 1m 16s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"8a858eca55544f25427c3762f14523b1507261ee","revisions":{"ac89b8fbe524f333b8bb8531f5be0a7f03c5289d":{"kind":"REWORK","_number":1,"created":"2021-04-06 23:01:07.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/72/785072/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/72/785072/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/72/785072/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/72/785072/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/72/785072/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/72/785072/1"}}},"commit":{"parents":[{"commit":"37cff3c74d54bf0d19abe9502e5979b81e24f918","subject":"Add functional test for bug 1837995","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/37cff3c74d54bf0d19abe9502e5979b81e24f918"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-01-27 22:49:19.000000000","tz":0},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-04-06 23:00:47.000000000","tz":0},"subject":"Dynamically archive FK related records in archive_deleted_rows","message":"Dynamically archive FK related records in archive_deleted_rows\n\nCurrently, it is possible to \"partially archive\" the database by\nrunning \u0027nova-manage db archive_deleted_rows\u0027 with --max_rows or by\ninterrupting the archive process in any way. When this happens, it is\npossible to have archived a record with a foreign key relationship to a\nparent record (example: \u0027instance_extra\u0027 table record is archived while\nthe \u0027instances\u0027 table record remains).\n\nWhen an instance\u0027s records become \"split\" in this way, any API request\nthat can (1) access the deleted instance and (2) tries to access data\nthat should be in a child table (example: the embedded flavor for an\ninstance) will fail with an OrphanedObjectError and HTTP 500 to the\nuser. Examples of APIs that are affected by this are the tenant usage\nAPIs and listing of deleted instances as admin.\n\nIn the tenant usage example, the API looks at deleted instances to\ncalculate usage over a time period. It pulls deleted and non-deleted\ninstances and does instance.get_flavor() to calculate their usage. The\nflavor data is expected to be present because\nexpecteds_attrs\u003d[\u0027flavor\u0027] is used to do a join with the\n\u0027instance_extra\u0027 table and populate the instance object\u0027s flavor data.\nWhen get_flavor() is called, it tries to access the instance.flavor\nattribute (which hasn\u0027t been populated because the \u0027instance_extra\u0027\nrecord is gone). That triggers a lazy-load of the flavor which loads\nthe instance from the database again with expected_attrs\u003d[\u0027flavor\u0027]\nagain which doesn\u0027t populate instance.flavor (again) because the\n\u0027instance_extra\u0027 record is gone. Then the Instance._load_flavor code\nintentionally orphans the instance record to avoid triggering\nlazy-loads while it attempts to populate instance.flavor,\ninstance.new_flavor, and instance.old_flavor. Finally, another\nlazy-load is triggered (because instance.flavor is still not populated)\nand fails with OrphanedObjectError.\n\nOne way to solve this problem is to make it impossible for\narchive_deleted_records to orphan records that are related by foreign\nkey relationships. The approach is to process parent tables first\n(opposite of today where we process child tables first) and find all of\nthe tables that refer to it by foreign keys, create and collect\ninsert/delete statements for those child records, and then put them all\ntogether in a single database transaction to archive all related\nrecords \"atomically\". The idea is that if anything were to interrupt\nthe transaction (errors or other) it would roll back and keep all the\nrelated records together. Either all or archived or none are archived.\n\nThis changes the logic of the per table archive to discover tables that\nrefer to the table by foreign keys and generates insert/delete query\nstatements to execute in the same database transaction as the table\narchive itself. The extra records archived along with the table are\nadded to the rows_archived result. The existing code for \"archiving\nrecords if instance is deleted\" also has to be removed along with this\nbecause the new logic does the same thing dynamically and makes it\nobsolete. Finally, some assertions in the unit tests need to be changed\nor removed because they were assuming certain types of archiving\nfailures due to foreign key constraint violations that can no longer\noccur with the new dynamic logic for archiving child records.\n\nCloses-Bug: #1837995\n\nChange-Id: Ie653e5ec69d16ae469f1f8171fee85aea754edff\n(cherry picked from commit becb94ae643ab4863daa564783646921b4a2b372)\n(cherry picked from commit 513ed1dd3c60954dc467a64fdfd849a989cae56c)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ac89b8fbe524f333b8bb8531f5be0a7f03c5289d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/ac89b8fbe524f333b8bb8531f5be0a7f03c5289d"}]},"branch":"refs/heads/stable/ussuri"},"8a858eca55544f25427c3762f14523b1507261ee":{"kind":"REWORK","_number":2,"created":"2021-04-07 16:00:25.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/72/785072/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/72/785072/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/72/785072/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/72/785072/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/72/785072/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/72/785072/2"}}},"commit":{"parents":[{"commit":"37cff3c74d54bf0d19abe9502e5979b81e24f918","subject":"Add functional test for bug 1837995","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/37cff3c74d54bf0d19abe9502e5979b81e24f918"}]}],"author":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-01-27 22:49:19.000000000","tz":0},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-04-07 15:59:45.000000000","tz":0},"subject":"Dynamically archive FK related records in archive_deleted_rows","message":"Dynamically archive FK related records in archive_deleted_rows\n\nCurrently, it is possible to \"partially archive\" the database by\nrunning \u0027nova-manage db archive_deleted_rows\u0027 with --max_rows or by\ninterrupting the archive process in any way. When this happens, it is\npossible to have archived a record with a foreign key relationship to a\nparent record (example: \u0027instance_extra\u0027 table record is archived while\nthe \u0027instances\u0027 table record remains).\n\nWhen an instance\u0027s records become \"split\" in this way, any API request\nthat can (1) access the deleted instance and (2) tries to access data\nthat should be in a child table (example: the embedded flavor for an\ninstance) will fail with an OrphanedObjectError and HTTP 500 to the\nuser. Examples of APIs that are affected by this are the tenant usage\nAPIs and listing of deleted instances as admin.\n\nIn the tenant usage example, the API looks at deleted instances to\ncalculate usage over a time period. It pulls deleted and non-deleted\ninstances and does instance.get_flavor() to calculate their usage. The\nflavor data is expected to be present because\nexpecteds_attrs\u003d[\u0027flavor\u0027] is used to do a join with the\n\u0027instance_extra\u0027 table and populate the instance object\u0027s flavor data.\nWhen get_flavor() is called, it tries to access the instance.flavor\nattribute (which hasn\u0027t been populated because the \u0027instance_extra\u0027\nrecord is gone). That triggers a lazy-load of the flavor which loads\nthe instance from the database again with expected_attrs\u003d[\u0027flavor\u0027]\nagain which doesn\u0027t populate instance.flavor (again) because the\n\u0027instance_extra\u0027 record is gone. Then the Instance._load_flavor code\nintentionally orphans the instance record to avoid triggering\nlazy-loads while it attempts to populate instance.flavor,\ninstance.new_flavor, and instance.old_flavor. Finally, another\nlazy-load is triggered (because instance.flavor is still not populated)\nand fails with OrphanedObjectError.\n\nOne way to solve this problem is to make it impossible for\narchive_deleted_records to orphan records that are related by foreign\nkey relationships. The approach is to process parent tables first\n(opposite of today where we process child tables first) and find all of\nthe tables that refer to it by foreign keys, create and collect\ninsert/delete statements for those child records, and then put them all\ntogether in a single database transaction to archive all related\nrecords \"atomically\". The idea is that if anything were to interrupt\nthe transaction (errors or other) it would roll back and keep all the\nrelated records together. Either all or archived or none are archived.\n\nThis changes the logic of the per table archive to discover tables that\nrefer to the table by foreign keys and generates insert/delete query\nstatements to execute in the same database transaction as the table\narchive itself. The extra records archived along with the table are\nadded to the rows_archived result. The existing code for \"archiving\nrecords if instance is deleted\" also has to be removed along with this\nbecause the new logic does the same thing dynamically and makes it\nobsolete. Finally, some assertions in the unit tests need to be changed\nor removed because they were assuming certain types of archiving\nfailures due to foreign key constraint violations that can no longer\noccur with the new dynamic logic for archiving child records.\n\nCloses-Bug: #1837995\n\nChange-Id: Ie653e5ec69d16ae469f1f8171fee85aea754edff\n(cherry picked from commit becb94ae643ab4863daa564783646921b4a2b372)\n(cherry picked from commit 7b4f4796478941eafa9c0997f7ef03293c442d94)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8a858eca55544f25427c3762f14523b1507261ee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8a858eca55544f25427c3762f14523b1507261ee"}]},"branch":"refs/heads/stable/ussuri"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
