)]}'
{"id":"openstack%2Fglance~743597","triplet_id":"openstack%2Fglance~master~Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3","project":"openstack/glance","branch":"master","topic":"task-heartbeat","hashtags":[],"change_id":"Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3","subject":"Implement time-limited import locking","status":"MERGED","created":"2020-07-28 17:08:12.000000000","updated":"2020-08-25 15:44:21.000000000","submitted":"2020-08-25 15:39:19.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":37,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"743597-1598369959342-eee7de1a","meta_rev_id":"c63248a72d921f0a12c2467464bb6718c527f0eb","_number":743597,"virtual_id_number":743597,"owner":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"date":"2020-08-24 13:42:05.000000000","_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-08-25 15:39:17.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":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":2,"date":"2020-08-24 13:41:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":2,"date":"2020-08-24 13:41:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"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":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":1,"date":"2020-08-24 16:58:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"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":{"recommended":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":1,"date":"2020-08-24 13:41:26.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","value":1,"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-08-04 18:50:02.000000000","updated_by":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"reviewer":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"state":"REVIEWER"},{"updated":"2020-08-10 19:26:48.000000000","updated_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"reviewer":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"state":"REVIEWER"},{"updated":"2020-08-21 14:56:26.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2020-08-24 13:42:05.000000000","updated_by":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2020-08-24 16:58:07.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"REVIEWER"},{"updated":"2020-08-25 15:39:17.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"}],"messages":[{"id":"ab6b7a9677c8d53544bbcda0c472982a679ea12e","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-28 17:08:12.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"452c66ba9519b7a7280944675d124e2a4fa5d9ce","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-28 17:11:05.000000000","message":"Patch Set 1:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":1},{"id":"7d255350962a52fdd006885505c5363a614d6fc2","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-28 20:37:36.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"1207887efc8e1caee86ef121b0fe6397656529ca","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-28 20:39:29.000000000","message":"Patch Set 2:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":2},{"id":"fb444152e9bf5206cd76c04b8468a394d8b12f2a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-28 22:54:32.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"3b9e7b0bc38f70f3de4a91c8292a93b3e3bb2767","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-28 22:56:27.000000000","message":"Patch Set 3:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":3},{"id":"5c7bda336577464b051657b4d95c642e6974f045","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-29 00:03:53.000000000","message":"Patch Set 3: 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- grenade https://zuul.opendev.org/t/openstack/build/9d4ab22deb6a465c8918743503203678 : SUCCESS in 1h 06m 21s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/a6775106ed59433797daccc20f4e6c64 : FAILURE in 33m 30s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c042cbacd0854253903ad156c13099ff : FAILURE in 5m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2147da96a128479c9d74e50827c7f386 : SUCCESS in 4m 43s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/c17819ecae1d40f89052d358639058b1 : FAILURE in 4m 50s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/14abad2d3497421ea667c99d6a5afa0e : FAILURE in 7m 04s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4529a630674146f885869a2f6a560f75 : SUCCESS in 6m 55s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/224d58fab3de46f0abd10c358909cff8 : TIMED_OUT in 31m 07s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/cdb93285507d45a2b371dc50a8694fd2 : FAILURE in 8m 07s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/b658962a34a54700bfb676c4084220c2 : SUCCESS in 6m 31s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/eac4a01ed3c948878b1a1f9601ec2a55 : FAILURE in 27m 03s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/153f3fdb6900430e88546264b12e4f97 : POST_FAILURE in 36m 44s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/c5b52337a10f4369abc7777d180a08aa : FAILURE in 25m 43s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a8c4ac8c7ca148cbae701b9e9c322b38 : SUCCESS in 58m 19s","accounts_in_message":[],"_revision_number":3},{"id":"a1b9f3c2bd65ddf13e8d2c47cc0894e69b19af9d","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-29 20:09:44.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"b49f36af95aca9c323384f25ec973ede627a51c7","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-29 20:11:21.000000000","message":"Patch Set 4: Workflow-1\n\nThis turns out to be really difficult to test via functional tests, I think because the stevedore loading defeats our ability to control time. I\u0027ll keep working on it, but hopefully in parallel with discussion.","accounts_in_message":[],"_revision_number":4},{"id":"ae66c3e7b098406630bd9e3dfe08083dc9675e35","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-29 20:12:26.000000000","message":"Patch Set 4:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":4},{"id":"6047a8c2fb39a06f3ee14c674aac7cb1ea87eecc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-30 01:00:10.000000000","message":"Patch Set 4: 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- grenade https://zuul.opendev.org/t/openstack/build/2d6aaa65f7e34fbab3563463a7666032 : SUCCESS in 57m 10s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/958851e00a77469ea54c496f3c5d17c7 : SUCCESS in 1h 15m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/38a27a50edf6472295a4367a8bdd60bc : SUCCESS in 5m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f125c6015fde42228b3893b187f1b278 : SUCCESS in 5m 27s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/48ec618a6792467cb51208ea98603ebd : SUCCESS in 4m 20s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a3443c7f40e5461c9b7572bc09b25a36 : SUCCESS in 8m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c257a6350a014ed0ac0e15c2e5fd8828 : SUCCESS in 5m 15s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/da4efb684d0d4084b0311210fe971be7 : SUCCESS in 7m 53s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/7f2186d355a64f08ab208eda1099c2eb : SUCCESS in 8m 26s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/576cad67c4724cc4a313fac7d75d4d6f : FAILURE in 4m 11s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/c9e131046e2e4ddda088fb154690429a : SUCCESS in 48m 36s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/80e64a546bfb4913a452938fc80c53c9 : SUCCESS in 48m 18s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/b66320cf8f084a479acb9c2ff7bdb920 : SUCCESS in 1h 16m 17s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d5392beae7614838b38f33219e56aff1 : SUCCESS in 55m 33s","accounts_in_message":[],"_revision_number":4},{"id":"8f43825ec10f69727eae48f981b5b91dd93edff8","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-07-30 06:21:17.000000000","message":"Patch Set 4:\n\nto avoid glance-code-constant-check failure need to rebase on https://review.opendev.org/743914","accounts_in_message":[],"_revision_number":4},{"id":"5344d4657260caf294fa48fc4bb5daabc70b652b","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-07-30 08:53:26.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"14419b7fbbf4df4747370c33f8ddf5c3ab7fbb6d","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-30 13:33:09.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"bfd24e3d1932b059fe20d3a36f2b2110bb403e6e","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-30 13:41:40.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.","accounts_in_message":[],"_revision_number":5},{"id":"67ed8a6e1c6cf48edc103cc7709f550c80f1649a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-30 13:44:31.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.","accounts_in_message":[],"_revision_number":6},{"id":"ef45c07485dc345c63e98eaec02080398350c30a","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-30 13:44:47.000000000","message":"Patch Set 5:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":5},{"id":"d3c3105a5290203f329ccf37626aa2d6d84f8f08","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-30 13:48:17.000000000","message":"Patch Set 6:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":6},{"id":"be7e189bfc7d7bc1e5cc850029694be4c4482b7d","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-30 14:17:48.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"ddabaaa5bb10ffcba363aa3600ba2ec53811fe58","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-30 14:18:48.000000000","message":"Patch Set 7:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":7},{"id":"501559fa36176a84737c94951752de8d5157601e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-30 20:37:58.000000000","message":"Patch Set 7: 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- grenade https://zuul.opendev.org/t/openstack/build/28450835205445fd88c7b00722de0340 : SUCCESS in 1h 11m 15s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/557caec93b514c80b6225608204f7723 : SUCCESS in 1h 04m 57s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/71ec82ff283c4bdc94c80a10ebe9e65c : SUCCESS in 5m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/49f345582523414e8e5c60303ea73689 : SUCCESS in 6m 15s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/49dcb0c4239b40dfb26228ce0acc5ac2 : SUCCESS in 5m 17s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a2a098501fdb46278358778ea95c8452 : SUCCESS in 6m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f8cbf7f203b84c72b1e0633fa3d67d42 : SUCCESS in 7m 08s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/de8a3d1d5ffe4eacb28d6ea9582af90a : SUCCESS in 6m 18s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/7601fd6207f248849e47991db5f11e0d : SUCCESS in 8m 24s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/fbd1fbaa312346b68fd1f71525d76dc1 : FAILURE in 4m 24s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/3fb07d91d6ae44f49eaa19610b1ba4de : SUCCESS in 1h 13m 11s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/04e87ff3d96144da946cfb99be40964d : SUCCESS in 1h 22m 02s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/7ee60d1883bb4b5dab22d849471c4285 : SUCCESS in 1h 15m 51s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f743e597568d4996b647928f59e0b6eb : SUCCESS in 58m 33s","accounts_in_message":[],"_revision_number":7},{"id":"b9bf1be42b7715faf8e405439dff68a82873db7c","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2020-07-31 00:26:21.000000000","message":"Patch Set 7:\n\nrecheck","accounts_in_message":[],"_revision_number":7},{"id":"f0c9e8d901227ace6d3f8caa1931c3aa7407376a","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-31 00:27:34.000000000","message":"Patch Set 7:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":7},{"id":"c37327ae699abb5b1c5b9f1329a6b63f32907535","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-07-31 00:35:39.000000000","message":"Uploaded patch set 8: Patch Set 7 was rebased.","accounts_in_message":[],"_revision_number":8},{"id":"295642561722460d6975366766996d8557e61f6a","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-07-31 00:39:40.000000000","message":"Patch Set 8:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":8},{"id":"0ea978dd6b5ac274c3d0b3fe90e43314b62eaa7e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-31 02:59:32.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/880dface300c4d5eb2a15997e87ae2a5 : SUCCESS in 55m 43s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/924fc752c31c40819d7432df4f96b451 : SUCCESS in 1h 18m 36s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/041f5ee19ada412597ed14d50e847a65 : SUCCESS in 6m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bbd7237dceb341a59a07e36c4e196ade : SUCCESS in 5m 06s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2299d962ab7f48528ec6737946cfc002 : SUCCESS in 5m 59s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/093b64bad3174fa5a6d96253635927d0 : SUCCESS in 5m 37s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/49fecd3d17d04131b17971315446954b : SUCCESS in 7m 19s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/12ac39cd29474b1fbe6b97a65d0b994c : SUCCESS in 7m 38s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/decb514f8ba84dfbb668c327baa837be : SUCCESS in 8m 07s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/9a64f4f182b640788aa8e7983b5a039b : SUCCESS in 5m 19s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/a05f323151504f8aa6f3f0552827fd63 : SUCCESS in 1h 10m 58s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/87e62eb74a284f85bf1d05d2763ee029 : SUCCESS in 1h 02m 35s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/56a2140856b64ab087cd0240ee1b479e : SUCCESS in 1h 07m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bb735de0a109453386009452bb366597 : SUCCESS in 1h 00m 50s","accounts_in_message":[],"_revision_number":8},{"id":"1b12912fff1635e7b82827756e3d78ada4ea39ba","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-04 16:55:13.000000000","message":"Patch Set 8: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":8},{"id":"33746445e3bdc92e9e77aa078be236533302170b","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-04 17:46:32.000000000","message":"Patch Set 8:\n\n(3 comments)","accounts_in_message":[],"_revision_number":8},{"id":"233105ed663d5b91783c05ecdfb16da955b62721","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2020-08-04 18:50:02.000000000","message":"Patch Set 8: Code-Review-1\n\n(4 comments)\n\nfew comments inline","accounts_in_message":[],"_revision_number":8},{"id":"89e327ab6ccac6373e10b5acf76f90bc9896cdb0","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-04 19:07:00.000000000","message":"Patch Set 8:\n\n(4 comments)\n\nThanks for digging into this! We\u0027re actively seeing this race get triggered in the gate, which is nice validation that this is an issue needing to be solved.\n\nI\u0027ve been struggling to get reasonable functional tests of the lock-busting scenario working, mostly because of how the existing functional tests spawn an out-of-body worker. I still have some ideas, but it\u0027s going to be some work to make it happen.","accounts_in_message":[],"_revision_number":8},{"id":"ae394e86876b12d4de470d2d2266304f71ea5235","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2020-08-05 22:33:20.000000000","message":"Patch Set 8:\n\n(3 comments)","accounts_in_message":[],"_revision_number":8},{"id":"6f0a81ccdea4d7eac7927165cc112876b706ec53","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2020-08-05 22:44:22.000000000","message":"Patch Set 8:\n\n(1 comment)\n\nMissed the last one","accounts_in_message":[],"_revision_number":8},{"id":"003d41d761d6cc5f0e38b05c9eecb2a057be1593","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-06 17:30:05.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"a6eeaf83a9b84a98e332fe5bf9960b67dc84c414","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-06 17:33:38.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"3e3168c219a387b6b8743dfe313a3bbe90d8b156","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-06 17:36:37.000000000","message":"Patch Set 9:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":9},{"id":"5566ecba077d30e5ad13e30a7f278af73e9973f7","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-06 17:50:12.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"16b718098370edb132db4d5e1357d7ec9ead1c27","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-06 17:51:04.000000000","message":"Patch Set 10:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":10},{"id":"5abf0f5a62414c68940b7b31dd390cd1c52972de","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-06 18:13:49.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"9a94d5097f8d48b2c5da79d42d5b9f33119fabfb","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-06 18:14:41.000000000","message":"Patch Set 11:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":11},{"id":"5c2a9944249c484d928fd4e772d180408fa916e5","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-06 18:29:49.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"e5322649d23d1a9cf1793c76b984b0d4fcfd18e6","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-06 18:30:41.000000000","message":"Patch Set 12:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":12},{"id":"130d330d7b0f2e19fa5333546559422acf3c3e03","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-06 19:59:40.000000000","message":"Patch Set 12: 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- grenade https://zuul.opendev.org/t/openstack/build/85795f18641549e0ae103a11718bf65e : SUCCESS in 1h 28m 12s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/66719faec5474138a96045ab29baddac : SUCCESS in 1h 07m 59s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a74a3a0318b2477cb674d0ff85dd8aaf : SUCCESS in 7m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2c24f15f2bf54cf7aef89d3dc911ce9c : SUCCESS in 6m 29s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/436d9278aafc434bb94c741874271761 : SUCCESS in 6m 41s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/bcbc6b06669546338e49a444e922f5c6 : SUCCESS in 7m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e550b01d983f46528cbf75671715cd93 : SUCCESS in 6m 09s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/8bb36d0bf110480e80307efad42fdebe : FAILURE in 11m 50s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/c0bd439824c9461c8bb1e1c30c41bea6 : FAILURE in 7m 52s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/2041a3ce98dc45689abd03f06869fa82 : SUCCESS in 4m 41s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/fc26a6ebb0ba40f28fe4d992c1fa46e8 : SUCCESS in 1h 09m 14s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/bdd3e1127aaf4a39b312d30511ac6560 : SUCCESS in 1h 06m 56s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/d0d2aa674a4b495691e49f801f52c4f1 : SUCCESS in 1h 08m 31s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/63640578ff0145009e175c84bf74bb65 : SUCCESS in 59m 15s","accounts_in_message":[],"_revision_number":12},{"id":"16bf6e1bdf65c040c96804a57e71320e5f078c4c","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-07 06:07:56.000000000","message":"Patch Set 12:\n\n(1 comment)\n\nrecechk","accounts_in_message":[],"_revision_number":12},{"id":"c0d72661b5e13760c1f425ae290d75c8418ffcf8","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-07 06:11:57.000000000","message":"Patch Set 12: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":12},{"id":"42503c3ecd20574280cca147ef2b9ae4422c834f","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-07 06:45:04.000000000","message":"Patch Set 12:\n\n(1 comment)\n\nOverall looks good to me, just one question related to special property used for locking.","accounts_in_message":[],"_revision_number":12},{"id":"6b06bcfeeea4d0310c51048a38ffc4b1ac51b3e4","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-07 13:33:04.000000000","message":"Patch Set 12:\n\n(1 comment)\n\nThe test is failing to setup the database file occasionally for some reason. Can only reproduce this locally about 1% of the time with --until-failure, but I\u0027ll keep working on it.","accounts_in_message":[],"_revision_number":12},{"id":"44a104e85b0298e16ce025de66ab3f2b0d2cd90a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-07 16:31:03.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"b820345d8dda6980f15eaa5fdc2c1f1665132280","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-07 16:33:01.000000000","message":"Patch Set 13:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":13},{"id":"3c5183b1ba3d4b58fe5e892751d81113138a3b09","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-07 18:10:09.000000000","message":"Patch Set 13: 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- grenade https://zuul.opendev.org/t/openstack/build/c56fe6d71bd44e2e8a0a43abbee5e6cc : SUCCESS in 1h 13m 07s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/b234e47c419a4bb2b9b1c26920b84ddc : SUCCESS in 1h 28m 54s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/26abd381033249eb947af600b083528f : SUCCESS in 6m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/73ec4733df7e4aeb8339cd5c655130cb : SUCCESS in 6m 31s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/434c82fef8a84723aa9aec88c8e243ce : SUCCESS in 7m 38s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a139db585be44f818088dd505e638f82 : SUCCESS in 14m 00s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7664f9f3bf9b4ad78b80fb87215cb027 : SUCCESS in 9m 33s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/e9d56682cf2b413b9a0efe5b767191be : FAILURE in 15m 03s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/c93dec84a3e2499b88c22062cea9d1a6 : SUCCESS in 9m 58s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/3df32eb351be4683bc100a449a2e3cd9 : SUCCESS in 7m 14s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/a681c5d5681d40f791e8c393cc5dca41 : SUCCESS in 1h 21m 50s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/83a9e382271e4168b56111e5f8d1c329 : SUCCESS in 1h 15m 41s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/2078cbfad9814e1b9b19be7e97b52faa : SUCCESS in 1h 19m 43s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bbb82a13983142dca6d7d8808ac32e44 : SUCCESS in 1h 06m 25s","accounts_in_message":[],"_revision_number":13},{"id":"acda5641036237d126f0aef772a15279887129cb","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-07 19:31:31.000000000","message":"Uploaded patch set 14: Patch Set 13 was rebased.","accounts_in_message":[],"_revision_number":14},{"id":"745404fba34e4e46977c711f6abdcd70cfdaddb3","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-07 19:37:30.000000000","message":"Patch Set 14:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":14},{"id":"b2f9e1efb48ceba312f5b1eefc23892f4ab709e4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-07 20:55:14.000000000","message":"Patch Set 14: 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- grenade https://zuul.opendev.org/t/openstack/build/9c204a8fb31741c787669a95a68c4436 : SUCCESS in 51m 24s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/c3d3b87447d846c6af8120441984cc56 : SUCCESS in 1h 08m 17s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6074e48882d14e839d968932ace93c66 : RETRY_LIMIT in 0s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a502d6a02dfc4bedb6e7ecbd74e87a53 : SUCCESS in 4m 56s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/92ba06d796474366991d140c79fa9914 : SUCCESS in 5m 01s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/c5602485dec74b1e8d86faddfdf7fc04 : SUCCESS in 5m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9a4a01699eb843c2adf626c5d48844f8 : RETRY_LIMIT in 0s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/f2ad24e0a7ae48f69fafebfbaaf62e30 : RETRY_LIMIT in 0s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/45032582f08347f9b5fac4cdb5e10499 : FAILURE in 17m 42s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/ed9bdc74769947f39f8289d24ae050c5 : SUCCESS in 4m 16s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/9ee6ce0adb9245dbaf14f5f55a916437 : SUCCESS in 1h 03m 46s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/84e47d009a0849e0af936f4ef05e257a : SUCCESS in 1h 18m 09s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/ff51ddaf7abb46c892630db926e9c367 : SUCCESS in 1h 13m 51s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d6e4e9b38b0349c480cecab626e555d5 : SUCCESS in 53m 43s","accounts_in_message":[],"_revision_number":14},{"id":"eb511b9476c52b4514e479386fd7d144b816ced2","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-10 13:45:11.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"6535c0836e1e6c6b0482748fe025ea9925fe1238","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-10 14:33:47.000000000","message":"Patch Set 15:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":15},{"id":"de2d9d4a052fdb4c361ded36aa21d09066990fc7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-10 15:47:12.000000000","message":"Patch Set 15: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/7f4e940f361a47a9a56093d07f63a773 : SUCCESS in 1h 05m 21s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/eddc6a61e21840248e06cae5f583146e : SUCCESS in 1h 10m 10s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5bc8049b41984e289b9a008b8f2b2c4d : SUCCESS in 6m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d871711cbada44a2b73ba5e5d240121a : SUCCESS in 5m 41s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/cceeec34d6b1444cb9fb7392312d25e5 : SUCCESS in 6m 06s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/b7da5c681b9c467c8911e02b8f4db8d4 : SUCCESS in 7m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/264ac1394dee415d9d9cf629c5e53171 : SUCCESS in 7m 39s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/681dec5059474f55b282beeaa02a18e9 : SUCCESS in 9m 21s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/8b245384756c411084bf3dd8fdaf8b42 : SUCCESS in 8m 16s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/f46e811d71a742d09fefb20e7fbe58e1 : SUCCESS in 6m 41s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/a006f7ef57b9488e9fddc2bafd8d888c : SUCCESS in 45m 53s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/a98fa5ac037f4287999704be2f3d1abd : SUCCESS in 1h 12m 10s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/ba3b49cd867145daafec477b4f4a319f : SUCCESS in 1h 18m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0ddbe39d49af48aeb868423ef754d8b1 : SUCCESS in 48m 49s","accounts_in_message":[],"_revision_number":15},{"id":"ec418bd698ad3bf2e976d65dbb0aaeba1810b8ae","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-10 17:38:37.000000000","message":"Patch Set 15: Code-Review+2 Review-Priority+1\n\n(2 comments)\n\nMy concerns were addressed, just some suggestions in line if required another PS to spin!","accounts_in_message":[],"_revision_number":15},{"id":"59984089ba7712e8b03c5ec8c945004ab7f38c31","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-10 17:59:04.000000000","message":"Patch Set 15:\n\n(2 comments)","accounts_in_message":[],"_revision_number":15},{"id":"e8cd14be31ace0a763b097da77ee718d45ed4a0c","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2020-08-10 19:26:48.000000000","message":"Patch Set 15: Code-Review+2\n\nLooks good to me, and I really like the approach. Leaving to others to approve though since this is a significant enough change.","accounts_in_message":[],"_revision_number":15},{"id":"4c0ba10cee2285f265e6be01163e527731794ea4","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-12 17:27:56.000000000","message":"Uploaded patch set 16: Patch Set 15 was rebased.","accounts_in_message":[],"_revision_number":16},{"id":"717cae769a1401bb0a0ca793fda3a35763f09ed7","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-12 17:28:19.000000000","message":"Patch Set 16:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":16},{"id":"88dd9557a3dcd9884a5c4aceb0323f78d442f7c2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-12 18:39:14.000000000","message":"Patch Set 16: 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- grenade https://zuul.opendev.org/t/openstack/build/5cabb80232c144f4acd6f49516f0d30d : SUCCESS in 1h 03m 40s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/2a43afb4000e4feab2d2c74f91af66d2 : FAILURE in 1h 05m 41s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/85b2e1ab0d50478e82877c63488df028 : SUCCESS in 6m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fc2e16dc095c43f4960e31e0a594acaa : SUCCESS in 4m 19s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/a44048ebcf1845c0954fa9d22427fb15 : SUCCESS in 4m 53s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/3d801ac9cda745098d55a331e7c9ef71 : SUCCESS in 6m 25s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8379424db02e42809e039dcc9f2eaeca : SUCCESS in 5m 37s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/47ec632db0074815aa1f58d5dcf77f56 : SUCCESS in 7m 22s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/92a46349a5ae47fab097ff5562325799 : SUCCESS in 8m 42s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/fa34b8ff1662464d8836bb4862fed007 : SUCCESS in 4m 57s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/f2bdb1603f7740ae8289930177d196fe : SUCCESS in 59m 23s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/5611ee6ad19c415280449e32a1f7b13d : SUCCESS in 1h 03m 39s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/697ab823b2b24b5f8dee09245c5e5dcb : SUCCESS in 1h 02m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b2dde96f82e542feb45ec6a9299a8e86 : SUCCESS in 53m 58s","accounts_in_message":[],"_revision_number":16},{"id":"2554171ef9647aae2bc28d50e4d6324174dd9f5f","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-13 06:47:34.000000000","message":"Patch Set 16:\n\nrecheck","accounts_in_message":[],"_revision_number":16},{"id":"5fed18eb272cbfae4a191adf1378f7e1e0628d0e","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-13 06:47:54.000000000","message":"Patch Set 16:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":16},{"id":"9361aa90cd2a81c37668cc1f0bdf1daaa57d8b82","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-13 10:12:06.000000000","message":"Patch Set 16:\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- grenade https://zuul.opendev.org/t/openstack/build/73f412a9858f4201bf77c1fda81ab513 : FAILURE in 26m 28s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/84dae22cf498486e88393caf68c4c346 : SUCCESS in 1h 11m 21s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/61ff9f3a46e5438b9b340bb38e6e8568 : SUCCESS in 6m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6165503c05184d75ade49d50ddc35ed5 : SUCCESS in 5m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/9a69dcd63c4448e39732779d455cff33 : SUCCESS in 5m 53s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/3650e5499799470d85c7dd558d1fc363 : SUCCESS in 5m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a9792a1827544386bd1cb664998de3de : SUCCESS in 5m 53s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/7f99da2b5549491c8b982948851155a1 : SUCCESS in 7m 57s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/f475b5e01df64bbcb310d28d20af4c00 : SUCCESS in 15m 17s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/166a5643d3d04c2aa3a0105808b71a3d : FAILURE in 13m 12s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/e0f67bbd030949409b5c282f6a53c439 : SUCCESS in 1h 59m 47s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/6f47432c31f04610842908d98d3dab46 : POST_FAILURE in 28m 21s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/6f3281fa801e44fbaf0daf2ee3fa3320 : SUCCESS in 1h 06m 39s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/925a675dead443b3b0582f1e6a736f0d : SUCCESS in 58m 10s","accounts_in_message":[],"_revision_number":16},{"id":"036b267e16ff07b71101253a9ed495b649bf9d25","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-13 13:31:00.000000000","message":"Patch Set 16:\n\nrecheck failed to grab constraints","accounts_in_message":[],"_revision_number":16},{"id":"5d646c1f646a8fed0e891018b2b63ec8cecf11a2","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-13 13:31:20.000000000","message":"Patch Set 16:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":16},{"id":"9c019b7ea28fb868f9501d5421e16e33dd6f0c67","author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"date":"2020-08-13 15:31:01.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"53990fb7a832075b5e8421bd6d57e8cd783cd2f8","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-13 15:45:56.000000000","message":"Patch Set 8:\n\n(1 comment)","accounts_in_message":[],"_revision_number":8},{"id":"8d94a4b5d03a58ee6d0f8f23a1d75b74f31f44a2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-13 15:47:59.000000000","message":"Patch Set 16:\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- grenade https://zuul.opendev.org/t/openstack/build/884b61b64b9c44fc855702ddaf2cf81f : SUCCESS in 1h 04m 36s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/eaaaae77f8104894bc6652fa43033797 : SUCCESS in 1h 24m 48s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cd4d118cf0554bfbb16f678cbdcccd64 : SUCCESS in 5m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b9dea11dabe1472695b9a9a0b0aaf452 : SUCCESS in 5m 08s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7f096c52a3124f0fb3c3f0d1dbeee393 : SUCCESS in 5m 20s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/b82513d698b24a319d9645c465abf97a : SUCCESS in 6m 06s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/684870e44a804c0085f4dab553388e64 : SUCCESS in 6m 20s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/a76d06912f9d44ca978673509a2266c9 : FAILURE in 11m 18s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/7fe9d180fbf740eb8d58ce1ac41f0906 : SUCCESS in 8m 08s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/61e232d274af49dfbcacba3f4b362061 : SUCCESS in 4m 13s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/358a37b113924591bbc7828f5897d25b : SUCCESS in 1h 01m 25s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/285d0e4798b3452db799c47eaa61835d : SUCCESS in 1h 06m 29s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/1ec28736def5462b902d9361754e6e7b : SUCCESS in 1h 31m 18s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/44306cc9eeda4d1790f9eae4e23344bd : SUCCESS in 1h 01m 59s","accounts_in_message":[],"_revision_number":16},{"id":"ef78b7d930b1687e7e6db3c192d98f5bdece8a5e","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-17 05:40:06.000000000","message":"Patch Set 16:\n\nrecheck","accounts_in_message":[],"_revision_number":16},{"id":"684bae21db5fa693c59a580c0563534b94261cf0","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-17 05:40:28.000000000","message":"Patch Set 16:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":16},{"id":"f64109115ec4720926acc2a1853497d332d2163d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-17 07:22:34.000000000","message":"Patch Set 16:\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- grenade https://zuul.opendev.org/t/openstack/build/9827f03390214eeebde2241893f32337 : FAILURE in 16m 17s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/e6dc4c23c2184ff0a92c8837673a2d89 : SUCCESS in 1h 41m 48s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/066a871b92424f8aa8554562d4dfca17 : SUCCESS in 6m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b1ae0969157741e08f1ecb3427eb4583 : SUCCESS in 6m 09s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/1c8cf4bf7e2c42a5b626c4612d25809f : SUCCESS in 6m 36s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/b719e7b866ee4207a06b0b240ee0e0a0 : SUCCESS in 7m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/68012345d3694ab2b1ad0a8632159b10 : SUCCESS in 7m 35s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/c55bb3f61214489d845b77f7c1d8e070 : SUCCESS in 10m 13s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/07351220e6e2412b84d6d3c612a8a845 : SUCCESS in 7m 32s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/f92683008ecb444ab0f05be2f846e1b8 : SUCCESS in 6m 21s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/8554bccabb74413a8476f2ff7ebcf2f9 : SUCCESS in 1h 37m 00s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/9719100809ba445c8c0d94c609dd19b3 : SUCCESS in 1h 39m 22s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/290969a30bf14689904e57250e2f1006 : SUCCESS in 1h 40m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/fa81b594e22e4cf1a23e98cf1abfe690 : SUCCESS in 1h 29m 18s","accounts_in_message":[],"_revision_number":16},{"id":"4cb55dc6897b341e3fa4e3d6e94217e5787fe7de","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-17 07:25:59.000000000","message":"Patch Set 16:\n\nrecheck","accounts_in_message":[],"_revision_number":16},{"id":"bb5cbb55f1f12d4442370a0fe9f9dc4370cc1eaa","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-17 07:26:19.000000000","message":"Patch Set 16:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":16},{"id":"698b4af04057b4d7cc54c480cef020b51f3bc3d1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-17 08:47:17.000000000","message":"Patch Set 16:\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- grenade https://zuul.opendev.org/t/openstack/build/f249e537349a4aa6a76535293cc79a33 : SUCCESS in 57m 40s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/66657bb5acce44079dae382daf35560d : FAILURE in 15m 59s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ab7e10622aa443ee9582cbba5d70dc4b : SUCCESS in 7m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7e4fc9ef5c62416d9cbee3ad7b825041 : FAILURE in 3m 53s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b0219fb87aab466eb25978647157f790 : SUCCESS in 5m 15s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/c6ec04f6bfb642b39394d80f3caba712 : FAILURE in 4m 57s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1614308cd9f14065b760677ceffc0f4f : SUCCESS in 6m 30s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/ab056c782544458ab8e55f91c1b6ff9f : FAILURE in 4m 28s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/7e045b1157664aef905ddbeba61a54d0 : SUCCESS in 11m 14s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/da24560655ef4601bc9321de262e79c8 : FAILURE in 7m 29s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/c9e094fee6a64601ad3975bca629a19e : FAILURE in 14m 25s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/df70989dcc844e939d399e80ec6519c7 : POST_FAILURE in 15m 57s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/3f9fefcd7f97434e9cfcafad7f557014 : SUCCESS in 1h 11m 57s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9462dfd2aa534164b4f159d58b511aae : FAILURE in 13m 33s","accounts_in_message":[],"_revision_number":16},{"id":"33ea94c96d8679f307eda4da0686259743696d97","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-17 08:50:05.000000000","message":"Patch Set 16:\n\nrechec","accounts_in_message":[],"_revision_number":16},{"id":"693c29eb47e8c840fab2719d71972fd5b85b350b","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-17 13:56:35.000000000","message":"Patch Set 16:\n\nrecheck","accounts_in_message":[],"_revision_number":16},{"id":"a67f5ea5b60d2240c1f01c30b4922c28c0faf2ea","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-17 13:56:55.000000000","message":"Patch Set 16:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":16},{"id":"d502bdd2cd748b23c0bcbf6e224170481ecc5892","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-17 15:58:39.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/36913ccdd2cf4cd8afcc984dde91b462 : SUCCESS in 1h 13m 36s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/df095641f5aa45b9856b26f40f3470c7 : SUCCESS in 1h 06m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9fb4cd3d984b43999f67ed9f6b9300e6 : SUCCESS in 9m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/72dfce025404472cb2c64465e3209485 : SUCCESS in 6m 27s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/5cb8745b409d4106b4a44b9cc5378749 : SUCCESS in 9m 14s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/8859d20594a743d6987f4fdbb8000798 : SUCCESS in 10m 17s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f2519825200a4ed3b7c614f41214bb8e : SUCCESS in 10m 33s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/91e34ee16837465c992812c3cb045bd3 : SUCCESS in 11m 34s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/c64e1d65bfb047c199c473aa0d989e99 : SUCCESS in 11m 16s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/7e7c4732cfeb46e395619ced109ed71d : SUCCESS in 6m 19s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/fe6f00221f644c6eaef4c9d82cc21ec9 : SUCCESS in 1h 21m 14s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/72a0df2111ef421a9965b60cac744e58 : SUCCESS in 1h 17m 22s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/f9f4be25e8ba4d59849b1f13f82933e1 : SUCCESS in 1h 05m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2b29deadfcea4d21b487c4d289c88c43 : SUCCESS in 1h 06m 49s","accounts_in_message":[],"_revision_number":16},{"id":"298ccbe2ac390e3eacaddf4727d56887653b9890","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-18 15:04:45.000000000","message":"Uploaded patch set 17: Patch Set 16 was rebased.","accounts_in_message":[],"_revision_number":17},{"id":"e7cabca14a71c83ea7884dad6ebead4c3e4e4933","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-18 15:05:10.000000000","message":"Patch Set 17:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":17},{"id":"970245bd5f6b31c01c9fa14198fc68ef2b3c1df4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-18 17:18:08.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/1d90fad4871e43769c4e32a6c5874c79 : SUCCESS in 1h 15m 18s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/b9cc1b76d75e4d0fa24fd56f513d3386 : SUCCESS in 1h 40m 00s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/15278b164379417bb72c287a831e6102 : SUCCESS in 10m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7959465cc864416b818dab3f49bef5b8 : SUCCESS in 5m 53s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/577afd2632204ce79e3f8138889e6e30 : SUCCESS in 6m 19s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/9a0ad51ad9f14efc84a2f837bae75f4c : SUCCESS in 7m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/413ee53f324d46228a90238144dac4c2 : SUCCESS in 6m 55s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/176e32d58e004738acb4f5f91a9cdd5a : SUCCESS in 9m 11s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/796ea62746304e9fa5b08dfb3c6561f3 : SUCCESS in 10m 10s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/7f56cbf6c6004536a022b36a187c13cb : SUCCESS in 7m 30s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/ca08001d82bf48aa8fadc443e98fa3a7 : FAILURE in 1h 08m 42s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/07dc824815d042faa7f4a47403890a45 : SUCCESS in 1h 24m 45s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/a241c548d14b436faaf4f43496d527ea : SUCCESS in 1h 09m 54s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f46d64c0e69e495eac784a49d925bf38 : SUCCESS in 56m 45s","accounts_in_message":[],"_revision_number":17},{"id":"fbe1a36308287adc67db953b0c7e218580a57b28","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2020-08-20 21:38:13.000000000","message":"Patch Set 17: Code-Review+2\n\n(4 comments)\n\nI think this is good.  (And nice work on I136ef792d601326a67266e9ea9fcadd79ddba69e, by the way.)  Suggestion inline for a test modification that you can do in a followup or just ignore (it doesn\u0027t affect the functionality).  But overall this looks like a good, solid approach to me.\n\nI think you\u0027ve answered Erno\u0027s questions, but tbh I haven\u0027t been doing much glance stuff the past few weeks, so I\u0027m not sure if there are any open issues.  Abhishek, please hit +A for me if we\u0027ve got a consensus on this patch.","accounts_in_message":[],"_revision_number":17},{"id":"3ce9f83c4d3d53438b9257e1ef51d91d482beb7a","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-20 22:23:35.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"8684e5d32c357e9cf5d587be30f94ccdd86e719e","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-20 22:30:43.000000000","message":"Uploaded patch set 18: Patch Set 17 was rebased.","accounts_in_message":[],"_revision_number":18},{"id":"72c11fbbc5adf27fea599f5cc96e520d8dbe3a4c","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-20 22:31:09.000000000","message":"Patch Set 18:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":18},{"id":"ed160248357f4835512b2063b635c54cb03e57d8","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-20 22:31:36.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"78f9c9941c8e47a60ac077d6a1eb8a66f4dae981","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-21 00:39:47.000000000","message":"Patch Set 18: 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- grenade https://zuul.opendev.org/t/openstack/build/84a34e0189d34c8e9133616c27c78a7e : SUCCESS in 57m 19s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/646ae32621f6436ea99bf60675032eb1 : SUCCESS in 1h 14m 38s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a3973547f46e452eaca45584356f8ced : FAILURE in 8m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/532a040617844eb484ed0088594161c7 : SUCCESS in 4m 33s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/99ddfe8069a44ee6a66fe3720a1a60b0 : FAILURE in 5m 44s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/af42c30e70264a1f955177840e45abd1 : FAILURE in 6m 36s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/546c721d28594dd38f297e9964e6dc2e : SUCCESS in 6m 56s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/e447a3fbd90c496cbdfe42c5b6c7ec20 : SUCCESS in 7m 18s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/40aa62d838f0446ba7330e32b31b9b29 : SUCCESS in 9m 00s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/83157239b6b645e582de8590c30e4872 : SUCCESS in 5m 28s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/6660e6b00db6447f8fbb1bdd4b964ff9 : SUCCESS in 1h 03m 16s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/5d4fc48b36f14a5e933fe73b7425f637 : FAILURE in 1h 31m 26s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/b5ddde1919f244eab9f09adf94d72518 : SUCCESS in 1h 08m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9d3092ea00e040ff83909668d6447f45 : SUCCESS in 58m 57s","accounts_in_message":[],"_revision_number":18},{"id":"2aefe7d7368d23ea7d63ee89004a9427fe415b15","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-21 14:30:36.000000000","message":"Uploaded patch set 19.","accounts_in_message":[],"_revision_number":19},{"id":"4072b4bede3ecdf0d943ebca749ce65ca8392fe8","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-21 14:31:02.000000000","message":"Patch Set 19:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":19},{"id":"6d2965a2bd5b630df29e3589080b48e17b2f2e89","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-21 14:35:36.000000000","message":"Patch Set 19: Code-Review+2 Review-Priority+1\n\nThank you Dan, looks good to me!!","accounts_in_message":[],"_revision_number":19},{"id":"930432af3e64157d5f25de6b7a832adee693f1a5","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2020-08-21 14:56:26.000000000","message":"Patch Set 19: Code-Review+2\n\nMy nit is addressed in a followup.  This still LGTM.","accounts_in_message":[],"_revision_number":19},{"id":"4d15e35815059e5b4c71313dca6bbb09b6931aca","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-21 18:29:08.000000000","message":"Patch Set 19: 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- grenade https://zuul.opendev.org/t/openstack/build/b4efd5f6b6bd4d719b2237850fcf6c48 : SUCCESS in 1h 26m 30s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/9cb30a8c0cc84568b08cc87fab94ab29 : SUCCESS in 1h 09m 59s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f7bae488f6bd41b48ff687505dba2a95 : SUCCESS in 7m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/204f83881c8440d48d3a4b89119a12f6 : SUCCESS in 6m 15s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/8f16b50aae1d41bcacdf7a14ccda0c84 : SUCCESS in 5m 24s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/374250d1a0e246d5be1c4951e793681a : SUCCESS in 9m 28s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0dd941877f554f1a90edef5c258ab4b0 : SUCCESS in 6m 12s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/ccdda28c143149aca9365bd93dfdd79e : FAILURE in 11m 29s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/c1d6783493a4469fb3aee08ba90c78c1 : FAILURE in 7m 06s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/8535eec70dab46e38867ec18320a8aaa : SUCCESS in 4m 23s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/63072f31c29d440bab5b0eba4305bda1 : SUCCESS in 1h 02m 47s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/94b304ff3dfe4fe8b2d4d1b41006fcce : SUCCESS in 1h 27m 41s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/b5bbbd153ea7410980ad319b5eb951b8 : SUCCESS in 1h 17m 01s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/262bb0c23c1244a5bd234384b4cc347d : SUCCESS in 1h 05m 55s","accounts_in_message":[],"_revision_number":19},{"id":"a3caed3d69943e20fed760c7c4bf026c2c6384fb","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-21 19:03:02.000000000","message":"Patch Set 19:\n\ntest_copy_image_revert_lifecycle is failing because lock is not busted on revert. Need to analyze in detail what is the reason behind that.","accounts_in_message":[],"_revision_number":19},{"id":"0600614981596f4ae72a8783987ffd8e625c96da","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-21 19:16:00.000000000","message":"Patch Set 19:\n\nI can see below logs in g-api\n\n2020-08-21 17:07:29.998737 | ubuntu-bionic | 2020-08-21 17:07:27.780 3807 WARNING glance.api.v2.images [req-a5e0962a-425c-4c96-8bb2-166cf10b2cd0 f9a41d13-0c13-47e9-bee2-ce4e8bfe958e ba63e3c7-95d0-4758-9b41-719e91ef493b - - -] Image 8b6d29b0-f184-4f05-8e9e-26bdcaee428d has active import task 0a322465-5f85-4e9d-a78b-a591c418f759 in status processing; lock remains valid for 3599 more seconds\n2020-08-21 17:07:29.998741 | ubuntu-bionic | 2020-08-21 17:07:27.781 3807 INFO eventlet.wsgi.server [req-a5e0962a-425c-4c96-8bb2-166cf10b2cd0 f9a41d13-0c13-47e9-bee2-ce4e8bfe958e ba63e3c7-95d0-4758-9b41-719e91ef493b - - -] 127.0.0.1 - - [21/Aug/2020 17:07:27] \"POST /v2/images/8b6d29b0-f184-4f05-8e9e-26bdcaee428d/import HTTP/1.1\" 409 355 0.079142","accounts_in_message":[],"_revision_number":19},{"id":"37a70d5803b3477df90ada572bf391e6ee46846d","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-21 19:45:41.000000000","message":"Patch Set 19:\n\n\u003e I can see below logs in g-api\n \u003e \n \u003e 2020-08-21 17:07:29.998737 | ubuntu-bionic | 2020-08-21\n \u003e 17:07:27.780 3807 WARNING glance.api.v2.images [req-a5e0962a-425c-4c96-8bb2-166cf10b2cd0\n \u003e f9a41d13-0c13-47e9-bee2-ce4e8bfe958e ba63e3c7-95d0-4758-9b41-719e91ef493b\n \u003e - - -] Image 8b6d29b0-f184-4f05-8e9e-26bdcaee428d has active import\n \u003e task 0a322465-5f85-4e9d-a78b-a591c418f759 in status processing;\n \u003e lock remains valid for 3599 more seconds\n \u003e 2020-08-21 17:07:29.998741 | ubuntu-bionic | 2020-08-21\n \u003e 17:07:27.781 3807 INFO eventlet.wsgi.server [req-a5e0962a-425c-4c96-8bb2-166cf10b2cd0\n \u003e f9a41d13-0c13-47e9-bee2-ce4e8bfe958e ba63e3c7-95d0-4758-9b41-719e91ef493b\n \u003e - - -] 127.0.0.1 - - [21/Aug/2020 17:07:27] \"POST /v2/images/8b6d29b0-f184-4f05-8e9e-26bdcaee428d/import\n \u003e HTTP/1.1\" 409 355 0.079142\n\nI imagine this is a race to start the next import and that it\u0027s legitimately enforcing the lock when the previous task hasn\u0027t finished reverting yet. I don\u0027t see this locally after several manual runs, but I\u0027ll try to run --until-failure and see if I can poke. Like I said during a previous discussion of this, since copy makes it hard to know when things are done-done, being able to look at the task and wait for it to reach a terminal state is definitely the most robust way to know when it\u0027s okay to start another one.","accounts_in_message":[],"_revision_number":19},{"id":"deed565c477ba376582fa99ecd8e1664f6d3e158","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-21 19:53:47.000000000","message":"Uploaded patch set 20: Patch Set 19 was rebased.","accounts_in_message":[],"_revision_number":20},{"id":"289d0429088c03fa50561d92b091154abbf2dd84","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-21 19:54:23.000000000","message":"Patch Set 20:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":20},{"id":"9a7705ba8c8ea9d4e23affe91c24f1ca8a9d9c92","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-21 23:03:19.000000000","message":"Patch Set 20: 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- grenade https://zuul.opendev.org/t/openstack/build/f4a309e5f36348a5a46c11c1fab95c6b : SUCCESS in 1h 00m 56s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/dc7647b13630459fb471a85e43fc725c : FAILURE in 1h 36m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/683d52561d054b91a80caab49052c98d : SUCCESS in 6m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b6cff0bc9e8643f885b8c90da161d7c4 : FAILURE in 5m 13s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/32a21abfcef746058a263b4da4f2f82c : SUCCESS in 6m 01s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/9361acd6a2684deda409f1b2846850cc : SUCCESS in 5m 23s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b8aaf0062ca845c3bb31e97dc5b2bb14 : SUCCESS in 5m 53s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/376b6f48c30e447981e8990ad69f1249 : SUCCESS in 7m 51s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/ce00bb8a1e32498ab497d2731ba8a66b : SUCCESS in 8m 49s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/8ba2f58e25014a5a9b30100efbff8377 : SUCCESS in 5m 26s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/6a9e2c556c9441adafbc1a5e51ca488a : SUCCESS in 58m 01s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/1ffdea41e93447e7a331b0808b89e5f6 : SUCCESS in 1h 09m 23s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/2595ca4a7d2c4a47bf9b10070fc40f69 : SUCCESS in 1h 08m 50s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5b73e723168744e6a1a3bddbc46ac36b : SUCCESS in 1h 00m 35s\n\nWarning:\n  Comments left for invalid file glance/tests/functional/v2/test_images.py","accounts_in_message":[],"_revision_number":20},{"id":"9249b992253b20c69387b105ef5b97ad40fe9229","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2020-08-24 13:41:26.000000000","message":"Uploaded patch set 21: Patch Set 20 was rebased.","accounts_in_message":[],"_revision_number":21},{"id":"c2339f647346bafb725f4a04ff6c1a2f1aaf0b8d","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2020-08-24 13:42:05.000000000","message":"Patch Set 21:\n\nBuild failed\n\n- ext-glance-zuul : NOT_REGISTERED","accounts_in_message":[],"_revision_number":21},{"id":"ae413ed35e32fa736c3fb71345bfffabfdb4985d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-24 16:53:58.000000000","message":"Patch Set 21: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/0361266687114732be6b35a493c2840c : SUCCESS in 1h 09m 50s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/cd4d160f61f640d9aafab01d687c9da0 : SUCCESS in 1h 06m 31s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ee7d975212ff4e1fba9dc3bedf2a1b02 : SUCCESS in 6m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/20f57c370a854836a4af78ec00be36b7 : SUCCESS in 5m 29s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/cc07e11797374eafb0003c6464da8bc7 : SUCCESS in 7m 56s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/04b4dd1814e04a54a7d5aff3802f9105 : SUCCESS in 8m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/02b845d0ebd34232a0ae29b58dda12a3 : SUCCESS in 7m 10s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/a1bdbf3200454447b0310f48f2de0601 : SUCCESS in 6m 57s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/7eb586872cd9423ea23ba6a92bb51e42 : SUCCESS in 7m 42s\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/d881f871d9c24673af95c920d37bb2ed : SUCCESS in 4m 31s\n- devstack-plugin-ceph-tempest-py3 https://zuul.opendev.org/t/openstack/build/d4b7c0e258d8462497e7911c154504f0 : SUCCESS in 1h 03m 23s (non-voting)\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/8d2253ea42384f038abcdcdae8cd45f3 : SUCCESS in 1h 13m 56s\n- tempest-integrated-storage-wsgi-import https://zuul.opendev.org/t/openstack/build/d974265e9eb24c6cab8b8f8276f7e516 : SUCCESS in 1h 16m 01s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/50fd38132d6b4215b29aa97ae4aab416 : SUCCESS in 54m 16s","accounts_in_message":[],"_revision_number":21},{"id":"700552925fcc9715e3767920e96c88ecb7c5c644","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2020-08-24 16:58:07.000000000","message":"Patch Set 21: Workflow+1\n\nThank you Dan for working on this.","accounts_in_message":[],"_revision_number":21},{"id":"abb8e5fea1ae76e3569b76fd54f5d0cb6b9ef3e9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-25 13:57:40.000000000","message":"Patch Set 21: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":21},{"id":"2c81f3ea070fee46a9fa1a40bf8d907f25142835","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-25 15:39:17.000000000","message":"Patch Set 21: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/25551996b57c4e1ab6f9b4252c72ed90 : SUCCESS in 1h 04m 04s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/d026b5a833984d21b1d3feed01520fd9 : SUCCESS in 1h 08m 41s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/40bfec9882ef40c9808f9ed6ece30895 : SUCCESS in 10m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0284f3c4de45493987c8a168fd0dad5d : SUCCESS in 7m 30s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/0ab977351de84a46ba06b5686715c2b7 : SUCCESS in 8m 23s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/2d755233e307442db3b022f627c7f225 : SUCCESS in 8m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a8d21a527ff74aa3b9b0fdaa5039aa25 : SUCCESS in 9m 03s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/11b62afe3bc44355bdbf5ecb83efd104 : SUCCESS in 9m 25s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/92d64faadcfb488ca7592f2a9e39dbaa : SUCCESS in 10m 33s\n- tempest-integrated-storage-import-workflow https://zuul.opendev.org/t/openstack/build/9faec6f6a119462c83052fa2efa5f7bb : SUCCESS in 1h 10m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/014c21b153c842eea6cfecf65e7e4985 : SUCCESS in 59m 52s","accounts_in_message":[],"_revision_number":21},{"id":"1649d2889d199a5ea2810043c2cd0946b4125f1f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-25 15:39:19.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":21},{"id":"a7753f6bc224b4d1d48d604c9456cfd92d000b22","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-25 15:44:21.000000000","message":"Patch Set 21:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6fdd1ecd950644f8825273c31d726c80 : SUCCESS in 1m 28s","accounts_in_message":[],"_revision_number":21}],"current_revision_number":21,"current_revision":"3f6e349d0853a9746d0d744bc3eb0b2baa1ddff9","revisions":{"1c1c3c7161e46c668ff6daaee39907fb8e50bd1e":{"kind":"REWORK","_number":1,"created":"2020-07-28 17:08:12.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/1"}}},"commit":{"parents":[{"commit":"fd820f66043836f8906e085d95fa50a19cef6326","subject":"WIP: Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/fd820f66043836f8906e085d95fa50a19cef6326"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 17:07:37.000000000","tz":-420},"subject":"WIP: Import locking","message":"WIP: Import locking\n\nNOTE that this totally doesn\u0027t work yet, nor is it tested. I just wanted\nto push up the stuff under this and maybe get the almost-pseudocode here\nup for discussion.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1c1c3c7161e46c668ff6daaee39907fb8e50bd1e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1c1c3c7161e46c668ff6daaee39907fb8e50bd1e"}]},"branch":"refs/heads/master"},"9e637f2433bb6c8356ccb46ac18c4edfd7395a80":{"kind":"REWORK","_number":2,"created":"2020-07-28 20:37:36.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/2"}}},"commit":{"parents":[{"commit":"e365613dbed53669e02260a4f1cd76f75628c3d5","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/e365613dbed53669e02260a4f1cd76f75628c3d5"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 20:31:15.000000000","tz":-420},"subject":"WIP: Import locking","message":"WIP: Import locking\n\nNOTE that this totally doesn\u0027t work yet, nor is it tested. I just wanted\nto push up the stuff under this and maybe get the almost-pseudocode here\nup for discussion.\n\nHere is some of the logic:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9e637f2433bb6c8356ccb46ac18c4edfd7395a80"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9e637f2433bb6c8356ccb46ac18c4edfd7395a80"}]},"branch":"refs/heads/master"},"55fe20d640dc5e4b8af3d88da1fb22193dddb00f":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2020-07-28 22:54:32.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/3"}}},"commit":{"parents":[{"commit":"e618cca1911a9e4bb562a1b9950f5e79d6bf7fb5","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/e618cca1911a9e4bb562a1b9950f5e79d6bf7fb5"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 22:54:27.000000000","tz":-420},"subject":"WIP: Import locking","message":"WIP: Import locking\n\nNOTE that this totally doesn\u0027t work yet, nor is it tested. I just wanted\nto push up the stuff under this and maybe get the almost-pseudocode here\nup for discussion.\n\nHere is some of the logic:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/55fe20d640dc5e4b8af3d88da1fb22193dddb00f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/55fe20d640dc5e4b8af3d88da1fb22193dddb00f"}]},"branch":"refs/heads/master"},"551a7264a3ab1868eaf7281047bec2e0cd357d47":{"kind":"REWORK","_number":4,"created":"2020-07-29 20:09:44.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/4"}}},"commit":{"parents":[{"commit":"2052a995a6df63bce0b7001c5157ed0c3ab1ca16","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/2052a995a6df63bce0b7001c5157ed0c3ab1ca16"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-29 20:05:58.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/551a7264a3ab1868eaf7281047bec2e0cd357d47"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/551a7264a3ab1868eaf7281047bec2e0cd357d47"}]},"branch":"refs/heads/master"},"9c5a0b549bb0d3a98f3d8b8be2d83701b510eebe":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2020-07-30 13:41:40.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/5"}}},"commit":{"parents":[{"commit":"a2712e73212c4254dc25836790dd3f6e2718464f","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/a2712e73212c4254dc25836790dd3f6e2718464f"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-30 13:40:55.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9c5a0b549bb0d3a98f3d8b8be2d83701b510eebe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9c5a0b549bb0d3a98f3d8b8be2d83701b510eebe"}]},"branch":"refs/heads/master"},"833046e0d24be09c77cf91bc7e21345c0b5adb8e":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2020-07-30 13:44:31.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/6"}}},"commit":{"parents":[{"commit":"6474e14b2850262cafb424245a0ff25c9e353fe2","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6474e14b2850262cafb424245a0ff25c9e353fe2"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-30 13:44:24.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/833046e0d24be09c77cf91bc7e21345c0b5adb8e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/833046e0d24be09c77cf91bc7e21345c0b5adb8e"}]},"branch":"refs/heads/master"},"3334040e02fdb5801a1675fb6a6b00089d994c23":{"kind":"REWORK","_number":7,"created":"2020-07-30 14:17:48.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/7"}}},"commit":{"parents":[{"commit":"6474e14b2850262cafb424245a0ff25c9e353fe2","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6474e14b2850262cafb424245a0ff25c9e353fe2"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-30 14:17:44.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/3334040e02fdb5801a1675fb6a6b00089d994c23"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/3334040e02fdb5801a1675fb6a6b00089d994c23"}]},"branch":"refs/heads/master"},"84b86597c921f2a05881e803280b989da025a82b":{"kind":"TRIVIAL_REBASE","_number":8,"created":"2020-07-31 00:35:39.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/8"}}},"commit":{"parents":[{"commit":"72aa41a2b51ca7aaeeb86c49903603e4ba268bcd","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/72aa41a2b51ca7aaeeb86c49903603e4ba268bcd"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-31 00:35:33.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/84b86597c921f2a05881e803280b989da025a82b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/84b86597c921f2a05881e803280b989da025a82b"}]},"branch":"refs/heads/master"},"da150375039dd4400c038d1595a7e9e8600144b7":{"kind":"REWORK","_number":9,"created":"2020-08-06 17:33:38.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/9"}}},"commit":{"parents":[{"commit":"9075fac9b79011733b0d25a81886df5d291f7169","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9075fac9b79011733b0d25a81886df5d291f7169"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-06 17:33:25.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/da150375039dd4400c038d1595a7e9e8600144b7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/da150375039dd4400c038d1595a7e9e8600144b7"}]},"branch":"refs/heads/master"},"09c67c45d70a0330b370a948549e63d9d5fcb4bc":{"kind":"REWORK","_number":10,"created":"2020-08-06 17:50:12.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/10"}}},"commit":{"parents":[{"commit":"9075fac9b79011733b0d25a81886df5d291f7169","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9075fac9b79011733b0d25a81886df5d291f7169"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-06 17:50:09.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/09c67c45d70a0330b370a948549e63d9d5fcb4bc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/09c67c45d70a0330b370a948549e63d9d5fcb4bc"}]},"branch":"refs/heads/master"},"bc118f9239b470d0bccb72935adc59e706833015":{"kind":"REWORK","_number":11,"created":"2020-08-06 18:13:49.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/11"}}},"commit":{"parents":[{"commit":"9075fac9b79011733b0d25a81886df5d291f7169","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9075fac9b79011733b0d25a81886df5d291f7169"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-06 18:13:39.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bc118f9239b470d0bccb72935adc59e706833015"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bc118f9239b470d0bccb72935adc59e706833015"}]},"branch":"refs/heads/master"},"580bab3845a8abb8a0d3b89f3f1909dba133c951":{"kind":"REWORK","_number":12,"created":"2020-08-06 18:29:49.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/12"}}},"commit":{"parents":[{"commit":"9075fac9b79011733b0d25a81886df5d291f7169","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9075fac9b79011733b0d25a81886df5d291f7169"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-06 18:29:42.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/580bab3845a8abb8a0d3b89f3f1909dba133c951"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/580bab3845a8abb8a0d3b89f3f1909dba133c951"}]},"branch":"refs/heads/master"},"51d812ab97f18ec03cf035ef1c5d6fbbd7a4c68e":{"kind":"REWORK","_number":13,"created":"2020-08-07 16:31:03.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/13"}}},"commit":{"parents":[{"commit":"70fd3ee8a10f4d62c5727aeb15bc4f77ccc21500","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/70fd3ee8a10f4d62c5727aeb15bc4f77ccc21500"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-07 16:30:53.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/51d812ab97f18ec03cf035ef1c5d6fbbd7a4c68e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/51d812ab97f18ec03cf035ef1c5d6fbbd7a4c68e"}]},"branch":"refs/heads/master"},"df7c8e023e63751bccedb54433433e223ab6f28c":{"kind":"TRIVIAL_REBASE","_number":14,"created":"2020-08-07 19:31:31.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/14"}}},"commit":{"parents":[{"commit":"77d9cfa66e3c2e70a1cc515e7504fd5dd946549a","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/77d9cfa66e3c2e70a1cc515e7504fd5dd946549a"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-07 19:22:33.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/df7c8e023e63751bccedb54433433e223ab6f28c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/df7c8e023e63751bccedb54433433e223ab6f28c"}]},"branch":"refs/heads/master"},"f62b959efbea79c35776eacbbd13933d113fc39e":{"kind":"REWORK","_number":15,"created":"2020-08-10 13:45:11.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/15"}}},"commit":{"parents":[{"commit":"77d9cfa66e3c2e70a1cc515e7504fd5dd946549a","subject":"Update task message during import","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/77d9cfa66e3c2e70a1cc515e7504fd5dd946549a"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-10 13:44:35.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f62b959efbea79c35776eacbbd13933d113fc39e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/f62b959efbea79c35776eacbbd13933d113fc39e"}]},"branch":"refs/heads/master"},"30474daa3ab0f79cae658274e36e2130ededaf21":{"kind":"TRIVIAL_REBASE","_number":16,"created":"2020-08-12 17:27:56.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/16"}}},"commit":{"parents":[{"commit":"36ede2573093cc5f21a3c31c8a9c74b6a66f252f","subject":"Merge \"Update task message during import\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/36ede2573093cc5f21a3c31c8a9c74b6a66f252f"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-12 17:26:18.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/30474daa3ab0f79cae658274e36e2130ededaf21"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/30474daa3ab0f79cae658274e36e2130ededaf21"}]},"branch":"refs/heads/master"},"a309fdcd8ac8973a43dd94d8703006a29dcfba39":{"kind":"TRIVIAL_REBASE","_number":17,"created":"2020-08-18 15:04:45.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/17"}}},"commit":{"parents":[{"commit":"3041b0b4effde910d06c3bd4431d9fd2c4ac7413","subject":"zuul: use the new barbican simple-crypto job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/3041b0b4effde910d06c3bd4431d9fd2c4ac7413"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-18 14:50:59.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/a309fdcd8ac8973a43dd94d8703006a29dcfba39"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/a309fdcd8ac8973a43dd94d8703006a29dcfba39"}]},"branch":"refs/heads/master"},"8a717ae18c71b90ccf2bbe4ba61b28afcc0ce352":{"kind":"TRIVIAL_REBASE","_number":18,"created":"2020-08-20 22:30:43.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/18"}}},"commit":{"parents":[{"commit":"1580b4d82105381541ffdb1f1609383c2a2da636","subject":"Merge \"Poll for final state on test_copy_image_revert_lifecycle()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1580b4d82105381541ffdb1f1609383c2a2da636"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-20 22:30:22.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/8a717ae18c71b90ccf2bbe4ba61b28afcc0ce352"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/8a717ae18c71b90ccf2bbe4ba61b28afcc0ce352"}]},"branch":"refs/heads/master"},"123cd9a1475226eb6b0301ef1e7237b9e526da89":{"kind":"REWORK","_number":19,"created":"2020-08-21 14:30:36.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/19"}}},"commit":{"parents":[{"commit":"1580b4d82105381541ffdb1f1609383c2a2da636","subject":"Merge \"Poll for final state on test_copy_image_revert_lifecycle()\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/1580b4d82105381541ffdb1f1609383c2a2da636"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-21 14:27:26.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/123cd9a1475226eb6b0301ef1e7237b9e526da89"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/123cd9a1475226eb6b0301ef1e7237b9e526da89"}]},"branch":"refs/heads/master"},"72c713744969865c35d2a14695189e784f566055":{"kind":"TRIVIAL_REBASE","_number":20,"created":"2020-08-21 19:53:47.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/20"}}},"commit":{"parents":[{"commit":"588c5ae5e4012753089b4694837d9473352ad738","subject":"Make test_copy_image_revert_lifecycle handle 409 on import retry","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/588c5ae5e4012753089b4694837d9473352ad738"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-21 19:52:05.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/72c713744969865c35d2a14695189e784f566055"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/72c713744969865c35d2a14695189e784f566055"}]},"branch":"refs/heads/master"},"3f6e349d0853a9746d0d744bc3eb0b2baa1ddff9":{"kind":"TRIVIAL_REBASE","_number":21,"created":"2020-08-24 13:41:26.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/97/743597/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/743597/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/743597/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/743597/21"}}},"commit":{"parents":[{"commit":"8c7342cbc15fdbcbafa1ead9aa183e45862cf177","subject":"Make test_copy_image_revert_lifecycle handle 409 on import retry","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/8c7342cbc15fdbcbafa1ead9aa183e45862cf177"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-07-28 16:02:13.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2020-08-24 13:41:13.000000000","tz":-420},"subject":"Implement time-limited import locking","message":"Implement time-limited import locking\n\nThis attempts to provide a time-based import lock that is dependent\non the task actually making progress. While the task is copying\ndata, the task message is updated, which in turn touches the task\nupdated_at time. The API will break any lock after 30 minutes of\nno activity on a stalled or dead task. The import taskflow will\ncheck to see if it has lost the lock at any point, and/or if its\ntask status has changed and abort if so.\n\nThe logic in more detail:\n\n1. API locks the image by task-id before we start the task thread, but\n   before we return\n2. Import thread will check the task-id lock on the image every time it\n   tries to modify the image, and if it has changed, will abort\n3. The data pipeline will heartbeat the task every minute by updating\n   the task.message (bonus: we get some status)\n4. If the data pipeline heartbeat ever finds the task state to be changed\n   from the expected \u0027processing\u0027 it will abort\n5. On task revert or completion, we drop the task-id lock from the image\n6. If something ever gets stuck or dies, the heartbeating will stop\n7. If the API gets a request for an import where the lock is held, it\n   will grab the task by id (in the lock) and check the state and age.\n   If the age is sufficiently old (no heartbeating) and the state is\n   either \u0027processing\u0027 or terminal, it will mark the task as failed,\n   steal the lock, and proceed.\n\nLots of logging throughout any time we encounter unexpected situations.\n\nCloses-Bug: #1884596\nChange-Id: Icb3c1d27e9a514d96fca7c1d824fd2183f69d8b3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/3f6e349d0853a9746d0d744bc3eb0b2baa1ddff9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/3f6e349d0853a9746d0d744bc3eb0b2baa1ddff9"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
