)]}'
{"id":"openstack%2Fdevstack-gate~368554","triplet_id":"openstack%2Fdevstack-gate~master~Ieb24a417bb4742686f6a5435368b1a76da90a61c","project":"openstack/devstack-gate","branch":"master","topic":"add-cleanup-hook","hashtags":[],"change_id":"Ieb24a417bb4742686f6a5435368b1a76da90a61c","subject":"Add cleanup hook","status":"ABANDONED","created":"2016-09-12 05:38:15.000000000","updated":"2017-02-24 05:40:01.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"4fd712148460122d6d723cbeaa9939844b42d2f6","_number":368554,"virtual_id_number":368554,"owner":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},{"value":-1,"date":"2016-12-15 04:36:51.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2016-11-16 09:13:40.000000000","_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"all":[{"value":-1,"date":"2016-11-14 20:07:19.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":-1,"date":"2016-12-12 15:33:22.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"rejected":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"all":[{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":-1,"date":"2016-12-12 15:33:22.000000000","permitted_voting_range":{"min":-1,"max":0},"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-09-12 05:54:17.000000000","updated_by":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"reviewer":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"state":"REVIEWER"},{"updated":"2016-09-12 16:26:22.000000000","updated_by":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"reviewer":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"state":"REVIEWER"},{"updated":"2016-11-14 20:07:19.000000000","updated_by":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"reviewer":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"state":"REVIEWER"},{"updated":"2016-12-15 04:36:51.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"526f1edbef264280e406fcabf6914467087e5330","author":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"date":"2016-09-12 05:38:15.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"827b3cc6849de4368e9c19e186a10291e95de803","author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"date":"2016-09-12 05:54:17.000000000","message":"Patch Set 1: Code-Review-1\n\nWe seem to have discussed this before; particularly  Ib3b21d9ec9dce840163f48c067e5329407aa72d3 I\u0027m thinking off.\n\nEvery interface we add like this *never* goes away, so I think we want to be somewhat careful.  generally, we\u0027ve considered than an exit trap will be sufficient.  we might need more details here to consider this in more context","accounts_in_message":[],"_revision_number":1},{"id":"5e0cac364b93ea32b40bfee10542ff65be1fcac9","author":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"date":"2016-09-12 06:13:02.000000000","message":"Patch Set 1:\n\nHello, Ian Wienand.\nThank you for telling me the previous discuss, quite like this fix, but not exactly the same.\nThe nuance is different, I think.\nWhat I want to add is not a gate use hook, but a totally 3rd party CI usage hook, that anyone who use this hook should take his own responsibility.\nSo the cleanup hook doesn\u0027t care about anything, and should not change anything, like GATE_RETVAL.\n# Maybe I should write these in the comment?","accounts_in_message":[],"_revision_number":1},{"id":"b3cbf25e13d742083c950e0d37b39b00eec0cad4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-09-12 07:13:45.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-grenade-dsvm-neutron-ubuntu-trusty http://logs.openstack.org/54/368554/1/check/gate-grenade-dsvm-neutron-ubuntu-trusty/b8d5c53/ : SUCCESS in 43m 44s\n- gate-tempest-dsvm-neutron-full-ubuntu-xenial http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/6af4c18/ : SUCCESS in 1h 00m 05s\n- gate-tempest-dsvm-full-ubuntu-xenial http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-full-ubuntu-xenial/8b25554/ : SUCCESS in 1h 08m 37s\n- gate-grenade-dsvm-ubuntu-trusty http://logs.openstack.org/54/368554/1/check/gate-grenade-dsvm-ubuntu-trusty/452b9eb/ : SUCCESS in 26m 08s\n- gate-devstack-gate-unittests http://logs.openstack.org/54/368554/1/check/gate-devstack-gate-unittests/64547ad/ : SUCCESS in 1m 37s\n- gate-devstack-gate-bashate http://logs.openstack.org/54/368554/1/check/gate-devstack-gate-bashate/8a202d1/ : SUCCESS in 2m 04s\n- gate-dg-hooks-dsvm http://logs.openstack.org/54/368554/1/check/gate-dg-hooks-dsvm/b2955b7/ : SUCCESS in 7m 22s\n- gate-grenade-dsvm-multinode http://logs.openstack.org/54/368554/1/check/gate-grenade-dsvm-multinode/3d8aa69/ : SUCCESS in 43m 37s\n- gate-grenade-dsvm-neutron-multinode http://logs.openstack.org/54/368554/1/check/gate-grenade-dsvm-neutron-multinode/d6eba20/ : SUCCESS in 48m 42s\n- gate-neutron-dsvm-functional-ubuntu-trusty-nv http://logs.openstack.org/54/368554/1/check/gate-neutron-dsvm-functional-ubuntu-trusty-nv/da97863/ : SUCCESS in 17m 53s (non-voting)\n- gate-swift-dsvm-functional-nv http://logs.openstack.org/54/368554/1/check/gate-swift-dsvm-functional-nv/56ae3f7/ : SUCCESS in 16m 13s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-trusty-liberty-nv http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-full-ubuntu-trusty-liberty-nv/d8b64e8/ : SUCCESS in 45m 14s (non-voting)\n- gate-tempest-dsvm-neutron-full-ubuntu-trusty-liberty-nv http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-neutron-full-ubuntu-trusty-liberty-nv/fdd7746/ : SUCCESS in 49m 24s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-trusty-mitaka-nv http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-full-ubuntu-trusty-mitaka-nv/6d8910e/ : SUCCESS in 50m 00s (non-voting)\n- gate-tempest-dsvm-neutron-full-ubuntu-trusty-mitaka-nv http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-neutron-full-ubuntu-trusty-mitaka-nv/fa958e1/ : SUCCESS in 51m 40s (non-voting)\n- gate-tempest-dsvm-platform-centos7-nv http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-platform-centos7-nv/bbb754f/ : SUCCESS in 1h 08m 35s (non-voting)\n- gate-tempest-dsvm-multinode-full-ubuntu-xenial http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-multinode-full-ubuntu-xenial/e3d1d3b/ : FAILURE in 1h 20m 13s (non-voting)\n- gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial http://logs.openstack.org/54/368554/1/check/gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial/00e5900/ : SUCCESS in 1h 28m 30s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a9d8716099ea21bcba9f78dfec7b1f3ea98de9c7","author":{"_account_id":7979,"name":"Mikhail S Medvedev","email":"mihailmed@gmail.com","username":"msmedved"},"date":"2016-09-12 16:26:22.000000000","message":"Patch Set 1: Code-Review+1\n\nWhy there is post hook that is only executed on success? It breaks symmetry and predictability, causing unnecessary confusion.\n\nAdding an unconditional hook does not break anything, and makes devstack-gate more flexible, at the cost of supporting 1 line of code.","accounts_in_message":[],"_revision_number":1},{"id":"e92ece6b3371f56f9245b7fa90a2f1d673fea601","author":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"date":"2016-11-09 08:53:03.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"692596adf1ab20450abb14127f0ca60c74568d8b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-11-09 10:38:07.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-tempest-dsvm-neutron-full-ubuntu-xenial http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/919bd22/ : SUCCESS in 48m 42s\n- gate-grenade-dsvm-neutron-ubuntu-xenial http://logs.openstack.org/54/368554/2/check/gate-grenade-dsvm-neutron-ubuntu-xenial/db66fc0/ : SUCCESS in 35m 29s\n- gate-grenade-dsvm-ubuntu-xenial http://logs.openstack.org/54/368554/2/check/gate-grenade-dsvm-ubuntu-xenial/49366e1/ : SUCCESS in 28m 18s\n- gate-devstack-gate-unittests http://logs.openstack.org/54/368554/2/check/gate-devstack-gate-unittests/fa9408b/ : SUCCESS in 1m 21s\n- gate-devstack-gate-bashate http://logs.openstack.org/54/368554/2/check/gate-devstack-gate-bashate/5e83a54/ : SUCCESS in 1m 54s\n- gate-dg-hooks-dsvm http://logs.openstack.org/54/368554/2/check/gate-dg-hooks-dsvm/665bb45/ : SUCCESS in 2m 55s\n- gate-grenade-dsvm-multinode http://logs.openstack.org/54/368554/2/check/gate-grenade-dsvm-multinode/5841134/ : SUCCESS in 31m 16s\n- gate-grenade-dsvm-neutron-multinode http://logs.openstack.org/54/368554/2/check/gate-grenade-dsvm-neutron-multinode/ff3ef58/ : SUCCESS in 38m 48s\n- gate-neutron-dsvm-functional-ubuntu-trusty-nv http://logs.openstack.org/54/368554/2/check/gate-neutron-dsvm-functional-ubuntu-trusty-nv/598c815/ : SUCCESS in 14m 56s (non-voting)\n- gate-swift-dsvm-functional-ubuntu-xenial-nv http://logs.openstack.org/54/368554/2/check/gate-swift-dsvm-functional-ubuntu-xenial-nv/845ba77/ : SUCCESS in 17m 13s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-trusty-liberty-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-full-ubuntu-trusty-liberty-nv/10760cd/ : SUCCESS in 30m 32s (non-voting)\n- gate-tempest-dsvm-neutron-full-ubuntu-trusty-liberty-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-neutron-full-ubuntu-trusty-liberty-nv/62e8be0/ : SUCCESS in 32m 28s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-trusty-mitaka-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-full-ubuntu-trusty-mitaka-nv/7264844/ : SUCCESS in 33m 44s (non-voting)\n- gate-tempest-dsvm-neutron-full-ubuntu-trusty-mitaka-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-neutron-full-ubuntu-trusty-mitaka-nv/0b18722/ : SUCCESS in 1h 06m 45s (non-voting)\n- gate-tempest-dsvm-full-ubuntu-xenial-newton-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-full-ubuntu-xenial-newton-nv/e91eb39/ : SUCCESS in 42m 37s (non-voting)\n- gate-tempest-dsvm-neutron-full-ubuntu-xenial-newton-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial-newton-nv/cf82463/ : SUCCESS in 43m 44s (non-voting)\n- gate-tempest-dsvm-platform-centos7-nv http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-platform-centos7-nv/3eb7ead/ : SUCCESS in 1h 43m 58s (non-voting)\n- gate-tempest-dsvm-multinode-full-ubuntu-xenial http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-multinode-full-ubuntu-xenial/5240d6b/ : SUCCESS in 45m 59s (non-voting)\n- gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial http://logs.openstack.org/54/368554/2/check/gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial/f6f1b73/ : SUCCESS in 56m 04s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"841e939c7c64c1b34011760d85b5f3026cdb4747","author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"date":"2016-11-14 20:07:19.000000000","message":"Patch Set 2: Code-Review-1\n\nI have suggested many times in the past that if you need this you should just run your scripts after d-g is done. Instead of:\n\n  export -f cleanup_hook \u0026\u0026 ./devstack-gate.sh\n\nYou do:\n\n  ./devstack-gate.sh ; cleanup_hook","accounts_in_message":[],"_revision_number":2},{"id":"8455bffae1a4c4be98f471a3bb6e7e4e07d6991e","author":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"date":"2016-11-16 09:13:40.000000000","message":"Patch Set 2:\n\nHello, @Clark Boylan.\nThank you for your comment.\nIn your comment, you said \"d-g\", does it mean safe-devstack-vm-gate-wrap.sh or devstack-vm-gate-wrap.sh?\nIf yes, then I still think this fix should get merged.\nBecause, if devstack-vm-gate-wrap.sh failed, whatever you put any script behind it (in JOB template), your script will never get run.\nAnd this is because of the \"exit\" command at the last line of devstack-vm-gate-wrap.sh.\nI think we all know this.","accounts_in_message":[],"_revision_number":2},{"id":"fb180f3d86822ede94545f7ec02cd64db30c4d5c","author":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"date":"2016-12-12 15:33:22.000000000","message":"Patch Set 2: Code-Review-1 Workflow-1\n\nTrying @Clark Boylan\u0027s advice.","accounts_in_message":[],"_revision_number":2},{"id":"d3f9a7bd82b9be50f0d534b312b8b3707aa2f1b2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-12-15 04:36:51.000000000","message":"Patch Set 2: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.","accounts_in_message":[],"_revision_number":2},{"id":"150aa3547d674401e24e4192a32690b7ab373fb3","author":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"date":"2017-02-24 05:40:01.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ba499dfb0824839aad34c89b225bd187e8d5d817","revisions":{"0a01e8ad1bec5355696f2d4dc3f8cc67b5caab5a":{"kind":"REWORK","_number":1,"created":"2016-09-12 05:38:15.000000000","uploader":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"ref":"refs/changes/54/368554/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack-gate","ref":"refs/changes/54/368554/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/1"}}},"commit":{"parents":[{"commit":"f5b4da3b222bb7da42ed0df4b5a73c3f1397733f","subject":"Merge \"Ironic: Copy all deployment logs\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/f5b4da3b222bb7da42ed0df4b5a73c3f1397733f"}]}],"author":{"name":"watanabe.isao","email":"watanabe_isao@jp.fujitsu.com","date":"2016-09-12 05:45:22.000000000","tz":540},"committer":{"name":"watanabe.isao","email":"watanabe_isao@jp.fujitsu.com","date":"2016-09-12 05:53:26.000000000","tz":540},"subject":"Add cleanup hook","message":"Add cleanup hook\n\nCIs may need to run some scripts, whatever gate test failed or not.\nIn this case, post hook is not powerful enough.\nTo overcome this, the new cleanup hook is added to runeverything we\nneed in all cases.\n\nChange-Id: Ieb24a417bb4742686f6a5435368b1a76da90a61c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/0a01e8ad1bec5355696f2d4dc3f8cc67b5caab5a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/0a01e8ad1bec5355696f2d4dc3f8cc67b5caab5a"}]},"branch":"refs/heads/master"},"ba499dfb0824839aad34c89b225bd187e8d5d817":{"kind":"REWORK","_number":2,"created":"2016-11-09 08:53:03.000000000","uploader":{"_account_id":14039,"name":"watanabe isao","email":"watanabe.isao.openstack@gmail.com","username":"watanabe.isao"},"ref":"refs/changes/54/368554/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack-gate","ref":"refs/changes/54/368554/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack-gate refs/changes/54/368554/2"}}},"commit":{"parents":[{"commit":"f5b4da3b222bb7da42ed0df4b5a73c3f1397733f","subject":"Merge \"Ironic: Copy all deployment logs\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/f5b4da3b222bb7da42ed0df4b5a73c3f1397733f"}]}],"author":{"name":"watanabe.isao","email":"watanabe_isao@jp.fujitsu.com","date":"2016-09-12 05:45:22.000000000","tz":540},"committer":{"name":"watanabe.isao","email":"watanabe_isao@jp.fujitsu.com","date":"2016-11-09 09:07:45.000000000","tz":540},"subject":"Add cleanup hook","message":"Add cleanup hook\n\nCIs may need to run some scripts, whatever the test failed or not.\nIn this case, post hook is power less.\nTo overcome this issue, the new cleanup hook is added to runanything\nwe need after the test is over.\n\nChange-Id: Ieb24a417bb4742686f6a5435368b1a76da90a61c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/ba499dfb0824839aad34c89b225bd187e8d5d817"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack-gate/commit/ba499dfb0824839aad34c89b225bd187e8d5d817"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
