)]}'
{"id":"openstack%2Fnova~666630","triplet_id":"openstack%2Fnova~master~Idf08adca1e3a0d19e20bca2447c83f7372516cb7","project":"openstack/nova","branch":"master","topic":"bug/1789074","hashtags":[],"change_id":"Idf08adca1e3a0d19e20bca2447c83f7372516cb7","subject":"vif: Stop using getattr for VIF lookups","status":"MERGED","created":"2019-06-20 16:18:41.000000000","updated":"2019-07-16 22:21:31.000000000","submitted":"2019-07-16 20:47:07.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":30,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"666630-1563310028022-b2961d89","meta_rev_id":"476304c6ed50c42e825e2e820a5c7bce7d039ed9","_number":666630,"virtual_id_number":666630,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},{"value":0,"date":"2019-07-12 18:58:21.000000000","_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},{"value":0,"date":"2019-07-12 20:11:16.000000000","_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"value":0,"date":"2019-07-12 23:55:21.000000000","_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},{"value":0,"date":"2019-07-12 23:02:20.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"value":0,"date":"2019-07-15 15:14:13.000000000","_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"date":"2019-07-12 19:52:11.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":2,"date":"2019-07-16 20:47:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"date":"2019-07-12 22:14:09.000000000","_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"date":"2019-07-13 06:46:28.000000000","_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"value":0,"date":"2019-07-12 23:55:59.000000000","_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":0,"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},{"value":0,"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"value":0,"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},{"value":0,"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},{"value":2,"date":"2019-07-15 16:12:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"value":0,"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":2,"date":"2019-07-12 16:18:55.000000000","_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":0,"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},{"value":0,"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"value":0,"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},{"value":0,"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},{"value":1,"date":"2019-07-15 16:12:09.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"value":0,"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},{"value":0,"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"value":0,"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},{"value":0,"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"value":0,"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"value":0,"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"value":0,"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-06-21 11:06:07.000000000","updated_by":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-06-21 16:12:09.000000000","updated_by":{"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-06-21 19:59:36.000000000","updated_by":{"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-07-12 11:51:53.000000000","updated_by":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"reviewer":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"state":"REVIEWER"},{"updated":"2019-07-12 12:02:59.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2019-07-12 12:47:07.000000000","updated_by":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"reviewer":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"state":"REVIEWER"},{"updated":"2019-07-12 16:18:55.000000000","updated_by":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"reviewer":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"state":"REVIEWER"},{"updated":"2019-07-12 18:58:21.000000000","updated_by":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-07-12 19:52:11.000000000","updated_by":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"reviewer":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"state":"REVIEWER"},{"updated":"2019-07-12 20:11:16.000000000","updated_by":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-07-12 22:14:09.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":"2019-07-12 23:02:20.000000000","updated_by":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"reviewer":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-07-12 23:55:21.000000000","updated_by":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-07-12 23:55:59.000000000","updated_by":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"reviewer":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"state":"REVIEWER"},{"updated":"2019-07-13 06:46:28.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-07-15 16:12:09.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2019-07-16 20:47:07.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":"57570305efcb178a5d0ea2ec04903cf248389667","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-20 16:18:41.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"fbe96ebb4b81358fada33ca24ee72063a3c79c47","author":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"date":"2019-06-20 16:20:13.000000000","message":"Patch Set 1:\n\nBuild succeeded (check pipeline).\n\n- tempest-dsvm-intel-nfv-xenial tempest-dsvm-intel-nfv-xenial : SKIPPED (non-voting)\n- tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)\n- tempest-dsvm-ovsdpdk-nfv-networking-xenial tempest-dsvm-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"27884e67a3e9adf7be8c9c05925a334a7ba6d43a","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-20 16:48:08.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"366451dc1447de765f61709f5b7508f76bcf66a6","author":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"date":"2019-06-20 16:49:02.000000000","message":"Patch Set 2:\n\nBuild succeeded (check pipeline).\n\n- tempest-dsvm-intel-nfv-xenial tempest-dsvm-intel-nfv-xenial : SKIPPED (non-voting)\n- tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)\n- tempest-dsvm-ovsdpdk-nfv-networking-xenial tempest-dsvm-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"897efaa67545c0edbb3a8dca8d76e976f50d030f","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2019-06-20 18:43:30.000000000","message":"Patch Set 2:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm: recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-xenial https://dal05.objectstorage.softlayer.net/v1/AUTH_3d8e6ecb-f597-448c-8ec2-164e9f710dd6/pkvmci/nova/30/666630/2/check/tempest-dsvm-full-xenial/c141a62/ : SUCCESS in 1h 23m 44s\n- tempest-dsvm-full-xenial-py3 https://dal05.objectstorage.softlayer.net/v1/AUTH_3d8e6ecb-f597-448c-8ec2-164e9f710dd6/pkvmci/nova/30/666630/2/check/tempest-dsvm-full-xenial-py3/a499de9/ : SUCCESS in 1h 35m 49s (non-voting)\n- grenade-dsvm-xenial https://dal05.objectstorage.softlayer.net/v1/AUTH_3d8e6ecb-f597-448c-8ec2-164e9f710dd6/pkvmci/nova/30/666630/2/check/grenade-dsvm-xenial/a9d7ec3/ : SUCCESS in 1h 14m 15s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"ce298896ef10f07d25a200f61bdd3777a3508016","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2019-06-20 21:19:25.000000000","message":"Patch Set 2:\n\nBuild succeeded\n\n- dsvm-nova http://207.189.188.190/logs/30/666630/2/check-vote/ext-nova-zuul/0dc84de : SUCCESS in 1h 01m 23s","accounts_in_message":[],"_revision_number":2},{"id":"40eef4702374ed976489c02ba5f1b85e5017f9c1","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2019-06-20 21:20:06.000000000","message":"Patch Set 2:\n\nBuild succeeded.\n\n- nova http://cloudbase-ci.com/nova/666630/2 : SUCCESS in 2h 33m 53s","accounts_in_message":[],"_revision_number":2},{"id":"4ab2486d3f3bd40caa7afc484ea45356426c680a","author":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"date":"2019-06-20 22:55:25.000000000","message":"Patch Set 2:\n\nTesting completed on the zVM Driver CI system check-nova pipeline and failed.  To recheck only the zVM driver plugins, submit a comment with only  zvm: recheck in the comment.. Contact information: zvmosci@us.ibm.com. For information see https://wiki.openstack.org/wiki/ZVMDriver.\n\n- check-nova-master http://extbasicopstackcilog01.podc.sl.edst.ibm.com/test_logs/jenkins-check-nova-master-32972 : FAILURE in 1h 11m 33s","accounts_in_message":[],"_revision_number":2},{"id":"fa3bb43f66d733fbdf25cd0a622fb461d6db535f","author":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"date":"2019-06-20 22:56:59.000000000","message":"Patch Set 2:\n\nBuild failed\n\n- check-dsvm-tempest-vz7-exe-minimal http://openstack-3rd-party-virtuozzo-ci-logs.virtuozzo.com/30/666630/2/check/check-dsvm-tempest-vz7-exe-minimal/cc8b862 : FAILURE in 1m 13s\n\nFor information, see https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_CI Make the comment \u0027run-Virtuozzo CI\u0027 to recheck","accounts_in_message":[],"_revision_number":2},{"id":"e48baf895ed113d61d5a1803481043fc59efdc29","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-21 01:28:57.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- grenade-py3 http://logs.openstack.org/30/666630/2/check/grenade-py3/a058289/ : SUCCESS in 1h 04m 25s\n- tempest-full-py3 http://logs.openstack.org/30/666630/2/check/tempest-full-py3/86104d4/ : SUCCESS in 1h 29m 25s\n- openstack-tox-cover http://logs.openstack.org/30/666630/2/check/openstack-tox-cover/a3c96e4/cover/ : SUCCESS in 16m 35s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/2/check/openstack-tox-lower-constraints/1a14e13/ : SUCCESS in 14m 20s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/2/check/openstack-tox-pep8/a3f3a46/ : FAILURE in 8m 41s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/2/check/openstack-tox-py27/9c65b28/ : SUCCESS in 13m 17s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/2/check/openstack-tox-py36/b04ff65/ : SUCCESS in 10m 55s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/2/check/openstack-tox-py37/b9a0cde/ : SUCCESS in 12m 29s\n- openstack-tox-docs http://logs.openstack.org/30/666630/2/check/openstack-tox-docs/a8afb26/html/ : SUCCESS in 9m 32s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa http://logs.openstack.org/30/666630/2/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/1d40d4b/ : TIMED_OUT in 1h 33m 35s (non-voting)\n- devstack-plugin-ceph-tempest http://logs.openstack.org/30/666630/2/check/devstack-plugin-ceph-tempest/afc28dd/ : SUCCESS in 1h 31m 28s (non-voting)\n- neutron-grenade-multinode http://logs.openstack.org/30/666630/2/check/neutron-grenade-multinode/f00edd5/ : SUCCESS in 1h 12m 49s\n- neutron-tempest-linuxbridge http://logs.openstack.org/30/666630/2/check/neutron-tempest-linuxbridge/4548bf7/ : SUCCESS in 1h 26m 43s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/2/check/nova-grenade-live-migration/37cd845/ : SUCCESS in 1h 05m 55s\n- nova-live-migration http://logs.openstack.org/30/666630/2/check/nova-live-migration/b4b3229/ : FAILURE in 20m 22s\n- nova-lvm http://logs.openstack.org/30/666630/2/check/nova-lvm/347d68d/ : SUCCESS in 54m 18s (non-voting)\n- nova-multi-cell http://logs.openstack.org/30/666630/2/check/nova-multi-cell/9d3a3bb/ : SUCCESS in 1h 29m 02s (non-voting)\n- nova-next http://logs.openstack.org/30/666630/2/check/nova-next/8bf57c2/ : SUCCESS in 1h 22m 47s\n- nova-tox-functional http://logs.openstack.org/30/666630/2/check/nova-tox-functional/059c9df/ : SUCCESS in 19m 08s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/2/check/nova-tox-functional-py36/153abb4/ : SUCCESS in 26m 54s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/2/check/tempest-slow-py3/838e709/ : FAILURE in 2h 11m 18s","accounts_in_message":[],"_revision_number":2},{"id":"6907ddf2216092539ec8b7ab6eac896e26f23667","author":{"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 05:40:18.000000000","message":"Patch Set 2:\n\nTesting succeeded on ubuntu-xenial-s390x. For rechecking only on the ubuntu-xenail-s390x CI, add a review comment with recheck-zkvm. Contact info: zkvm-ci@linux.vnet.ibm.com. For more information, see https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_zKVM_CI\n\n- check-tempest-dsvm-neutron-full-ubuntu-xenial-s390x http://sng01.objectstorage.softlayer.net/v1/AUTH_1940ea10-6e82-4501-b2f9-eb236510e575/ibmzkvmci/production/666630/2/check-tempest-dsvm-neutron-full-ubuntu-xenial-s390x/fb8ad98 : SUCCESS in 2h 03m 17s","accounts_in_message":[],"_revision_number":2},{"id":"41cb4b62f5264e2a53e868671f9e852f5407e7c9","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-21 10:05:58.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"749e3f706ed208cc8430b0592010942025fb0c9d","author":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 10:06:49.000000000","message":"Patch Set 3:\n\nBuild succeeded (check pipeline).\n\n- tempest-dsvm-intel-nfv-xenial tempest-dsvm-intel-nfv-xenial : SKIPPED (non-voting)\n- tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)\n- tempest-dsvm-ovsdpdk-nfv-networking-xenial tempest-dsvm-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"28c74d11d0f9a42b635754480b959a3e4609579f","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2019-06-21 10:15:55.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"fa759321cd1072cb0727679a11b4d047a85d0fcf","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-21 10:48:17.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"361a33b1992dee07a5b83c1a16cae58d7ac82dfb","author":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 10:49:12.000000000","message":"Patch Set 4:\n\nBuild succeeded (check pipeline).\n\n- tempest-dsvm-intel-nfv-xenial tempest-dsvm-intel-nfv-xenial : SKIPPED (non-voting)\n- tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)\n- tempest-dsvm-ovsdpdk-nfv-networking-xenial tempest-dsvm-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"d14cf0d4f7bd97ff3f37097c48bee4e75475ff64","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-21 10:50:38.000000000","message":"Patch Set 3:\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"975373e24a22eb88b1fb64c912b34ee407aebcb8","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-21 10:51:56.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"6105867b35a96f635fd1f4e1d4e2a64cd7bf5d55","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2019-06-21 10:55:04.000000000","message":"Patch Set 4: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"e897dc0ec81eca564d2147765cd6d65272493fbc","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-21 11:04:55.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"4f1064c6e42c89688f13b042f4637a187147d2d8","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-06-21 11:05:14.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"c714f72b2a52ccbb01213eaa917f3845a196064a","author":{"_account_id":16376,"name":"Intel NFV CI","email":"openstack-nfv-ci@intel.com","username":"intel-nfv-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 11:06:07.000000000","message":"Patch Set 5:\n\nBuild succeeded (check pipeline).\n\n- tempest-dsvm-intel-nfv-xenial tempest-dsvm-intel-nfv-xenial : SKIPPED (non-voting)\n- tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial tempest-dsvm-multinode-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)\n- tempest-dsvm-ovsdpdk-nfv-networking-xenial tempest-dsvm-ovsdpdk-nfv-networking-xenial : SKIPPED (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"c692f939e1a05d2cc573b275dc593a0d393b2e75","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2019-06-21 12:37:23.000000000","message":"Patch Set 5:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm: recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-xenial https://dal05.objectstorage.softlayer.net/v1/AUTH_3d8e6ecb-f597-448c-8ec2-164e9f710dd6/pkvmci/nova/30/666630/5/check/tempest-dsvm-full-xenial/1fbdc87/ : SUCCESS in 1h 30m 51s\n- tempest-dsvm-full-xenial-py3 https://dal05.objectstorage.softlayer.net/v1/AUTH_3d8e6ecb-f597-448c-8ec2-164e9f710dd6/pkvmci/nova/30/666630/5/check/tempest-dsvm-full-xenial-py3/e25ba78/ : SUCCESS in 1h 20m 12s (non-voting)\n- grenade-dsvm-xenial https://dal05.objectstorage.softlayer.net/v1/AUTH_3d8e6ecb-f597-448c-8ec2-164e9f710dd6/pkvmci/nova/30/666630/5/check/grenade-dsvm-xenial/d3b0308/ : SUCCESS in 1h 20m 06s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"e81d3390b8a2688c19a76ea3bf43737ca9b7d17e","author":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 13:58:58.000000000","message":"Patch Set 5:\n\nBuild failed\n\n- check-dsvm-tempest-vz7-exe-minimal http://openstack-3rd-party-virtuozzo-ci-logs.virtuozzo.com/30/666630/5/check/check-dsvm-tempest-vz7-exe-minimal/8ef2998 : FAILURE in 9m 39s\n\nFor information, see https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_CI Make the comment \u0027run-Virtuozzo CI\u0027 to recheck","accounts_in_message":[],"_revision_number":5},{"id":"004248e5d79d072f81024f73061f5d8878579e9a","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2019-06-21 14:08:48.000000000","message":"Patch Set 5:\n\nBuild succeeded\n\n- dsvm-nova http://207.189.188.190/logs/30/666630/5/check-vote/ext-nova-zuul/4f9b6ae : SUCCESS in 59m 42s","accounts_in_message":[],"_revision_number":5},{"id":"47e955ad78a6fc0e5f3e015f8dbed1ef989ef7c9","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2019-06-21 14:15:43.000000000","message":"Patch Set 5:\n\nFor rechecking only on the Cloudbase Nova Hyper-V CI, add a review comment with run-Cloudbase Nova Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/666630/5 : FAILURE in 2h 42m 57s","accounts_in_message":[],"_revision_number":5},{"id":"79cb4c5b54ae798967bf4aebb1e44b8d38dc7c5e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-21 14:46:28.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/30/666630/5/check/grenade-py3/d184416/ : SUCCESS in 58m 39s\n- tempest-full-py3 http://logs.openstack.org/30/666630/5/check/tempest-full-py3/7c02c5b/ : SUCCESS in 1h 35m 53s\n- openstack-tox-cover http://logs.openstack.org/30/666630/5/check/openstack-tox-cover/08e86d3/cover/ : SUCCESS in 13m 42s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/5/check/openstack-tox-lower-constraints/232144f/ : SUCCESS in 21m 34s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/5/check/openstack-tox-pep8/6887fba/ : SUCCESS in 9m 37s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/5/check/openstack-tox-py27/2ef9bc6/ : SUCCESS in 15m 00s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/5/check/openstack-tox-py36/551d5c9/ : SUCCESS in 14m 13s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/5/check/openstack-tox-py37/d0feb78/ : SUCCESS in 13m 17s\n- openstack-tox-docs http://logs.openstack.org/30/666630/5/check/openstack-tox-docs/38cbe13/html/ : SUCCESS in 6m 14s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa http://logs.openstack.org/30/666630/5/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/40f67ee/ : SUCCESS in 50m 12s (non-voting)\n- devstack-plugin-ceph-tempest http://logs.openstack.org/30/666630/5/check/devstack-plugin-ceph-tempest/d3a05af/ : SUCCESS in 1h 43m 21s (non-voting)\n- neutron-grenade-multinode http://logs.openstack.org/30/666630/5/check/neutron-grenade-multinode/3610e9d/ : SUCCESS in 1h 23m 57s\n- neutron-tempest-linuxbridge http://logs.openstack.org/30/666630/5/check/neutron-tempest-linuxbridge/1275408/ : SUCCESS in 1h 42m 21s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/5/check/nova-grenade-live-migration/781adb2/ : SUCCESS in 1h 10m 30s\n- nova-live-migration http://logs.openstack.org/30/666630/5/check/nova-live-migration/f3f5bf4/ : SUCCESS in 47m 30s\n- nova-lvm http://logs.openstack.org/30/666630/5/check/nova-lvm/5f24242/ : SUCCESS in 1h 11m 55s (non-voting)\n- nova-multi-cell http://logs.openstack.org/30/666630/5/check/nova-multi-cell/968ef4b/ : SUCCESS in 1h 26m 48s (non-voting)\n- nova-next http://logs.openstack.org/30/666630/5/check/nova-next/c081f78/ : SUCCESS in 1h 38m 33s\n- nova-tox-functional http://logs.openstack.org/30/666630/5/check/nova-tox-functional/c23b493/ : SUCCESS in 22m 16s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/5/check/nova-tox-functional-py36/bb819f7/ : SUCCESS in 18m 05s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/5/check/tempest-slow-py3/9f33733/ : SUCCESS in 2h 32m 04s","accounts_in_message":[],"_revision_number":5},{"id":"8536211f1b3d30b327ca797f8cbc19ada5bd2d21","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 14:47:22.000000000","message":"Patch Set 5:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_VxFlexOS_NOVA http://publiclogs.emc.com/30/666630/5/check/EMC_VxFlexOS_NOVA/93d1c74/EMC_VxFlexOS_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC VxFlexOS CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_VxFlexOS_CI","accounts_in_message":[],"_revision_number":5},{"id":"00d116687e01df62665dc91dcdc21acee414219b","author":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"date":"2019-06-21 15:40:26.000000000","message":"Patch Set 5:\n\nTesting completed on the zVM Driver CI system check-nova pipeline and failed.  To recheck only the zVM driver plugins, submit a comment with only  zvm: recheck in the comment.. Contact information: zvmosci@us.ibm.com. For information see https://wiki.openstack.org/wiki/ZVMDriver.\n\n- check-nova-master http://extbasicopstackcilog01.podc.sl.edst.ibm.com/test_logs/jenkins-check-nova-master-33006 : FAILURE in 2h 50m 35s","accounts_in_message":[],"_revision_number":5},{"id":"96af3fd08cf7ece608b05622144df3bd0ef5aace","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2019-06-21 15:51:57.000000000","message":"Patch Set 5:\n\n* nova-quobyteci-dsvm-volume http://78.46.57.153:8081/refs-changes-30-666630-5 : FAILURE \n\nSee https://wiki.openstack.org/wiki/ThirdPartySystems/Quobyte_CI for rechecking and info.","accounts_in_message":[],"_revision_number":5},{"id":"aa201f74ee45ab24773804e46958b70fafa870b0","author":{"_account_id":16128,"name":"IBM PowerVM CI","email":"powervmci@linux.vnet.ibm.com","username":"powervmci","tags":["SERVICE_USER"]},"date":"2019-06-21 16:12:09.000000000","message":"Patch Set 5:\n\nBuild failed. Comment \u0027powervm: recheck\u0027 to recheck.\n For 3rd party CI contact info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_PowerVM_CI\n\n- nova-out-of-tree-pvm http://184.172.12.213/30/666630/5/check/nova-out-of-tree-pvm/aeff856 : FAILURE in 5h 05m 51s\n- nova-in-tree-pvm http://184.172.12.213/30/666630/5/check/nova-in-tree-pvm/50458ac : FAILURE in 5h 01m 01s","accounts_in_message":[],"_revision_number":5},{"id":"ff8178f9c7fafbe4a5b2bae255fc0e1a53829486","author":{"_account_id":14595,"name":"z Systems KVM","email":"zkvm-ci@linux.vnet.ibm.com","username":"ibm-zkvm-ci","tags":["SERVICE_USER"]},"date":"2019-06-21 19:59:36.000000000","message":"Patch Set 5:\n\nTesting succeeded on ubuntu-xenial-s390x. For rechecking only on the ubuntu-xenail-s390x CI, add a review comment with recheck-zkvm. Contact info: zkvm-ci@linux.vnet.ibm.com. For more information, see https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_zKVM_CI\n\n- check-tempest-dsvm-neutron-full-ubuntu-xenial-s390x http://sng01.objectstorage.softlayer.net/v1/AUTH_1940ea10-6e82-4501-b2f9-eb236510e575/ibmzkvmci/production/666630/5/check-tempest-dsvm-neutron-full-ubuntu-xenial-s390x/626f6f4 : SUCCESS in 2h 14m 47s","accounts_in_message":[],"_revision_number":5},{"id":"64455ac1e3ea538a95619813228e21895eb68821","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-07-10 15:16:27.000000000","message":"Patch Set 5:\n\n(2 comments)","accounts_in_message":[],"_revision_number":5},{"id":"17fb6ebd9ef20881f2606fcb4e841dba2c5d8843","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-07-10 15:19:06.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"34fd4b66b3a4e2e7e66fe64b956a0917d64e0da6","author":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"date":"2019-07-10 17:43:03.000000000","message":"Patch Set 6:\n\nTesting completed on the zVM Driver CI system check-nova pipeline and failed.  To recheck only the zVM driver plugins, submit a comment with only  zvm: recheck in the comment.. Contact information: zvmosci@us.ibm.com. For information see https://wiki.openstack.org/wiki/ZVMDriver.\n\n- check-nova-master http://extbasicopstackcilog01.podc.sl.edst.ibm.com/test_logs/jenkins-check-nova-master-33726 : FAILURE in 1h 51m 56s","accounts_in_message":[],"_revision_number":6},{"id":"d07ee728ab6a07864e52f03b098d649e82c802a2","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2019-07-10 18:22:48.000000000","message":"Patch Set 6:\n\nFor rechecking only on the Cloudbase Nova Hyper-V CI, add a review comment with run-Cloudbase Nova Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/666630/6 : FAILURE in 5m 17s","accounts_in_message":[],"_revision_number":6},{"id":"7fff8a016cf8ecd65d71d64a651ef37493322c7d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-10 20:17:11.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/30/666630/6/check/grenade-py3/b7c5a18/ : SUCCESS in 1h 01m 25s\n- tempest-full-py3 http://logs.openstack.org/30/666630/6/check/tempest-full-py3/269ed2a/ : SUCCESS in 1h 38m 01s\n- openstack-tox-cover http://logs.openstack.org/30/666630/6/check/openstack-tox-cover/1405ed6/cover/ : SUCCESS in 19m 05s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/6/check/openstack-tox-lower-constraints/3f7da59/ : SUCCESS in 22m 19s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/6/check/openstack-tox-pep8/c346eff/ : SUCCESS in 10m 13s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/6/check/openstack-tox-py27/b246b9b/ : SUCCESS in 20m 46s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/6/check/openstack-tox-py36/f4e8057/ : SUCCESS in 17m 22s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/6/check/openstack-tox-py37/ea99eac/ : SUCCESS in 13m 47s\n- openstack-tox-docs http://logs.openstack.org/30/666630/6/check/openstack-tox-docs/4eda278/html/ : SUCCESS in 6m 04s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa http://logs.openstack.org/30/666630/6/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/9fb5371/ : SUCCESS in 51m 29s (non-voting)\n- devstack-plugin-ceph-tempest http://logs.openstack.org/30/666630/6/check/devstack-plugin-ceph-tempest/54b21b2/ : SUCCESS in 1h 28m 14s (non-voting)\n- neutron-grenade-multinode http://logs.openstack.org/30/666630/6/check/neutron-grenade-multinode/5ea20fe/ : SUCCESS in 1h 14m 55s\n- neutron-tempest-linuxbridge http://logs.openstack.org/30/666630/6/check/neutron-tempest-linuxbridge/3f30947/ : SUCCESS in 1h 34m 44s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/6/check/nova-grenade-live-migration/217b762/ : SUCCESS in 1h 14m 59s\n- nova-live-migration http://logs.openstack.org/30/666630/6/check/nova-live-migration/9c1e478/ : SUCCESS in 47m 14s\n- nova-lvm http://logs.openstack.org/30/666630/6/check/nova-lvm/04373f0/ : SUCCESS in 1h 07m 03s (non-voting)\n- nova-multi-cell http://logs.openstack.org/30/666630/6/check/nova-multi-cell/c64016f/ : SUCCESS in 1h 41m 32s (non-voting)\n- nova-next http://logs.openstack.org/30/666630/6/check/nova-next/c72ee1c/ : SUCCESS in 1h 32m 20s\n- nova-tox-functional http://logs.openstack.org/30/666630/6/check/nova-tox-functional/ee5f2e2/ : SUCCESS in 23m 35s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/6/check/nova-tox-functional-py36/ec8aab9/ : SUCCESS in 26m 26s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/6/check/tempest-slow-py3/0436ae5/ : SUCCESS in 2h 17m 10s","accounts_in_message":[],"_revision_number":6},{"id":"826a3efcbcaa83b19ba1c468995539498960028d","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2019-07-10 20:17:40.000000000","message":"Patch Set 6:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_VxFlexOS_NOVA http://publiclogs.emc.com/30/666630/6/check/EMC_VxFlexOS_NOVA/cdcc2b0/EMC_VxFlexOS_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC VxFlexOS CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_VxFlexOS_CI","accounts_in_message":[],"_revision_number":6},{"id":"5628d0ac5afc644dcef07f44056bf402e80ac929","author":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"date":"2019-07-10 21:17:47.000000000","message":"Patch Set 6:\n\nBuild failed\n\n- check-dsvm-tempest-vz7-exe-minimal http://openstack-3rd-party-virtuozzo-ci-logs.virtuozzo.com/30/666630/6/check/check-dsvm-tempest-vz7-exe-minimal/b5d92e8 : FAILURE in 16m 59s\n\nFor information, see https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_CI Make the comment \u0027run-Virtuozzo CI\u0027 to recheck","accounts_in_message":[],"_revision_number":6},{"id":"5e914972ac5f03afe6fbbadf6b7eeb6a616dba82","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2019-07-10 22:04:42.000000000","message":"Patch Set 6:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm: recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/6/check/tempest-dsvm-full-xenial/b6ad215/ : SUCCESS in 1h 22m 47s\n- tempest-dsvm-full-xenial-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/6/check/tempest-dsvm-full-xenial-py3/13e4247/ : SUCCESS in 1h 29m 12s (non-voting)\n- grenade-dsvm-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/6/check/grenade-dsvm-xenial/72c75d8/ : SUCCESS in 1h 16m 37s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"cc62d7e28044d808d7840a26ad430df21ad4abf0","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2019-07-11 00:50:55.000000000","message":"Patch Set 6:\n\nBuild succeeded\n\n- dsvm-nova http://207.189.188.190/logs/30/666630/6/check-vote/ext-nova-zuul/b6a9bcb : SUCCESS in 54m 17s","accounts_in_message":[],"_revision_number":6},{"id":"eebcd9a35bccc95aeceabe1e3dd1f7584438b443","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2019-07-11 06:57:28.000000000","message":"Patch Set 6:\n\n* nova-quobyteci-dsvm-volume http://78.46.57.153:8081/refs-changes-30-666630-6 : SUCCESS \n\nhttps://wiki.openstack.org/wiki/ThirdPartySystems/Quobyte_CI","accounts_in_message":[],"_revision_number":6},{"id":"615f5ff4ce6502831ea4aa5b3d2f6c11eaba97bd","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-07-12 11:51:53.000000000","message":"Patch Set 6: Code-Review+1\n\n(1 comment)\n\nOh yes please. I applaud you for rooting out this kind of thing.\n\nI can\u0027t comments on the VIF stuff, but the python aspects do indeed look like #winning","accounts_in_message":[],"_revision_number":6},{"id":"68301b44c850763f5dde728455a93baf9d62330b","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2019-07-12 12:02:59.000000000","message":"Patch Set 6: Code-Review+1\n\ni still personally want to optimise this more but the code looks correct and its \"dumber code\" in that its just ifs and not getattr magic so ya over all i think its an improvement.","accounts_in_message":[],"_revision_number":6},{"id":"34a93f947bb927bbb24f5e54fd6c9692797ae274","author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"date":"2019-07-12 12:47:07.000000000","message":"Patch Set 6: Code-Review+1\n\n(1 comment)\n\nI\u0027m very much in favour of this: clearly identifying the no-op plug/unplug paths should allow us to port those VIF types to os-vif much easier.","accounts_in_message":[],"_revision_number":6},{"id":"252b0196a2c65b1ef8cdd72e7c9748102e30772d","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2019-07-12 13:11:50.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"9a6c8d63d4befc14936e608080fc09cc6ed6a997","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-07-12 15:16:58.000000000","message":"Patch Set 6: Code-Review-1\n\n(6 comments)\n\nOkay, I figured it out by the end.\n\nThere\u0027s one mistake for the macvtap unplug. Otherwise lgtm.","accounts_in_message":[],"_revision_number":6},{"id":"f1697af2f3b1de9e5027a40c9f5cbbf78ea24da5","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-07-12 15:39:51.000000000","message":"Patch Set 6:\n\n(6 comments)","accounts_in_message":[],"_revision_number":6},{"id":"1f70e454d4122795a54d94a16410fbe7ce72fa66","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-07-12 15:40:17.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"140df6349ac21535f8bbba0fc2415c78d44760ad","author":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"date":"2019-07-12 15:53:34.000000000","message":"Patch Set 7:\n\nBuild failed\n\n- check-dsvm-tempest-vz7-exe-minimal http://openstack-3rd-party-virtuozzo-ci-logs.virtuozzo.com/30/666630/7/check/check-dsvm-tempest-vz7-exe-minimal/c98905d : FAILURE in 11m 44s\n\nFor information, see https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_CI Make the comment \u0027run-Virtuozzo CI\u0027 to recheck","accounts_in_message":[],"_revision_number":7},{"id":"0ffffe2bae92fe15735c8619065631f1bcaf46f6","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-07-12 16:18:55.000000000","message":"Patch Set 7: Code-Review+2","accounts_in_message":[],"_revision_number":7},{"id":"ff855efee0d84cb0c9f57e0f5a3051704d27b20b","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2019-07-12 16:46:38.000000000","message":"Patch Set 7:\n\nBuild succeeded\n\n- dsvm-nova http://207.189.188.190/logs/30/666630/7/check-vote/ext-nova-zuul/9dde806 : SUCCESS in 1h 05m 31s","accounts_in_message":[],"_revision_number":7},{"id":"b21175d98372bc3d840a6be33b4dc8f1b49277c4","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2019-07-12 17:37:36.000000000","message":"Patch Set 7:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm: recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/tempest-dsvm-full-xenial/abc28e7/ : SUCCESS in 1h 26m 50s\n- tempest-dsvm-full-xenial-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/tempest-dsvm-full-xenial-py3/6218c7c/ : SUCCESS in 1h 55m 42s (non-voting)\n- grenade-dsvm-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/grenade-dsvm-xenial/e3ac431/ : FAILURE in 1h 03m 08s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"1948ccc783d287af130ce2baec582804f6c57f7c","author":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"date":"2019-07-12 17:52:07.000000000","message":"Patch Set 7:\n\nTesting completed on the zVM Driver CI system check-nova pipeline.  To recheck only the zVM driver plugins, submit a comment with only zvm: recheck in the comment. Contact information: zvmosci@us.ibm.com. For information see https://wiki.openstack.org/wiki/ZVMDriver.\n\n- check-nova-master http://extbasicopstackcilog01.podc.sl.edst.ibm.com/test_logs/jenkins-check-nova-master-33833 : SUCCESS in 2h 10m 09s","accounts_in_message":[],"_revision_number":7},{"id":"532896534e7593f0bdc28d2070f071b7e05828c2","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-12 18:03:34.000000000","message":"Patch Set 7: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- grenade-py3 http://logs.openstack.org/30/666630/7/check/grenade-py3/0fcd3f7/ : SUCCESS in 1h 13m 07s\n- tempest-full-py3 http://logs.openstack.org/30/666630/7/check/tempest-full-py3/af7cdab/ : SUCCESS in 1h 48m 53s\n- openstack-tox-cover http://logs.openstack.org/30/666630/7/check/openstack-tox-cover/04f5269/cover/ : SUCCESS in 17m 28s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/7/check/openstack-tox-lower-constraints/1b5d340/ : SUCCESS in 17m 05s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/7/check/openstack-tox-pep8/18eac0a/ : SUCCESS in 8m 57s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/7/check/openstack-tox-py27/1694d38/ : SUCCESS in 15m 42s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/7/check/openstack-tox-py36/283d010/ : SUCCESS in 14m 40s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/7/check/openstack-tox-py37/1db4a68/ : SUCCESS in 18m 24s\n- openstack-tox-docs http://logs.openstack.org/30/666630/7/check/openstack-tox-docs/c14a5f2/html/ : SUCCESS in 6m 08s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa http://logs.openstack.org/30/666630/7/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/9872385/ : SUCCESS in 52m 30s (non-voting)\n- devstack-plugin-ceph-tempest http://logs.openstack.org/30/666630/7/check/devstack-plugin-ceph-tempest/f45ef81/ : SUCCESS in 1h 30m 27s (non-voting)\n- neutron-grenade-multinode http://logs.openstack.org/30/666630/7/check/neutron-grenade-multinode/02140a4/ : SUCCESS in 1h 11m 52s\n- neutron-tempest-linuxbridge http://logs.openstack.org/30/666630/7/check/neutron-tempest-linuxbridge/acbf250/ : SUCCESS in 1h 35m 09s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/7/check/nova-grenade-live-migration/d55ff59/ : SUCCESS in 1h 08m 41s\n- nova-live-migration http://logs.openstack.org/30/666630/7/check/nova-live-migration/2ca5a4a/ : SUCCESS in 50m 47s\n- nova-lvm http://logs.openstack.org/30/666630/7/check/nova-lvm/0be5a95/ : SUCCESS in 1h 06m 24s (non-voting)\n- nova-multi-cell http://logs.openstack.org/30/666630/7/check/nova-multi-cell/3af02fd/ : SUCCESS in 1h 38m 34s (non-voting)\n- nova-next http://logs.openstack.org/30/666630/7/check/nova-next/6db7a1f/ : FAILURE in 1h 10m 48s\n- nova-tox-functional http://logs.openstack.org/30/666630/7/check/nova-tox-functional/a7c4bdf/ : SUCCESS in 22m 47s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/7/check/nova-tox-functional-py36/7e574c7/ : SUCCESS in 20m 05s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/7/check/tempest-slow-py3/d8b467c/ : SUCCESS in 2h 14m 25s","accounts_in_message":[],"_revision_number":7},{"id":"45432f047914e06c46e2e23d6c722b08c30a61f7","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2019-07-12 18:07:20.000000000","message":"Patch Set 7:\n\nBuild succeeded.\n\n- nova http://cloudbase-ci.com/nova/666630/7 : SUCCESS in 2h 25m 52s","accounts_in_message":[],"_revision_number":7},{"id":"d557f968bcf7c8b71074316dd9b060d327cb78ec","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-07-12 18:38:27.000000000","message":"Patch Set 7:\n\nrecheck","accounts_in_message":[],"_revision_number":7},{"id":"9bcd03f45015f0a0bd87f1b12f3cce5577d67865","author":{"_account_id":16898,"name":"Virtuozzo CI","email":"virtuozzo6-ci@virtuozzo.com","username":"virtuozzo6-ci","tags":["SERVICE_USER"]},"date":"2019-07-12 18:58:21.000000000","message":"Patch Set 7:\n\nBuild failed\n\n- check-dsvm-tempest-vz7-exe-minimal http://openstack-3rd-party-virtuozzo-ci-logs.virtuozzo.com/30/666630/7/check/check-dsvm-tempest-vz7-exe-minimal/1d23177 : FAILURE in 16m 57s\n\nFor information, see https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_CI Make the comment \u0027run-Virtuozzo CI\u0027 to recheck","accounts_in_message":[],"_revision_number":7},{"id":"b93b66ee3228fb303b0a3b3e5c4500a4255b495b","author":{"_account_id":23498,"name":"IBM zVM CI","email":"zvmosci@us.ibm.com","username":"zvmosci"},"date":"2019-07-12 19:52:11.000000000","message":"Patch Set 7:\n\nTesting completed on the zVM Driver CI system check-nova pipeline.  To recheck only the zVM driver plugins, submit a comment with only zvm: recheck in the comment. Contact information: zvmosci@us.ibm.com. For information see https://wiki.openstack.org/wiki/ZVMDriver.\n\n- check-nova-master http://extbasicopstackcilog01.podc.sl.edst.ibm.com/test_logs/jenkins-check-nova-master-33844 : SUCCESS in 1h 10m 47s","accounts_in_message":[],"_revision_number":7},{"id":"b913209c056ca4d48493e60b7be44999b88a957c","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2019-07-12 20:10:43.000000000","message":"Patch Set 7:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm: recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/tempest-dsvm-full-xenial/1692922/ : SUCCESS in 1h 29m 31s\n- tempest-dsvm-full-xenial-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/tempest-dsvm-full-xenial-py3/db67d12/ : SUCCESS in 1h 31m 18s (non-voting)\n- grenade-dsvm-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/grenade-dsvm-xenial/8832a83/ : SUCCESS in 1h 11m 05s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"35df70918762b0fac50626ab74ecc4ca93212a7e","author":{"_account_id":9732,"name":"Mellanox CI","email":"mlnx-openstack-ci@dev.mellanox.co.il","username":"mellanox","tags":["SERVICE_USER"]},"date":"2019-07-12 20:11:16.000000000","message":"Patch Set 7:\n\nBuild succeeded.\n\n- Nova-ML2-Sriov http://13.74.249.42/30/666630/7/check-nova/Nova-ML2-Sriov/2047803 : FAILURE in 1h 50m 44s (non-voting)\n- Nova-MACVTAP-ML2-Sriov http://13.74.249.42/30/666630/7/check-nova/Nova-MACVTAP-ML2-Sriov/db927ce : SUCCESS in 1h 08m 40s (non-voting)\n\nTo re-run the job post \u0027recheck nova-mlnx\u0027 comment. For more information visit https://wiki.openstack.org/wiki/ThirdPartySystems/Mellanox_CI","accounts_in_message":[],"_revision_number":7},{"id":"2fb4de7c7a54ac2dd8c0e6bf8fb7909ed1e99752","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2019-07-12 21:05:37.000000000","message":"Patch Set 7:\n\nBuild succeeded.\n\n- nova http://cloudbase-ci.com/nova/666630/7 : SUCCESS in 2h 26m 20s","accounts_in_message":[],"_revision_number":7},{"id":"8109944393b90d2d7caa9691a6673d1324df0ef8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-12 21:17:51.000000000","message":"Patch Set 7:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- grenade-py3 http://logs.openstack.org/30/666630/7/check/grenade-py3/01d1901/ : SUCCESS in 52m 04s\n- tempest-full-py3 http://logs.openstack.org/30/666630/7/check/tempest-full-py3/55e7de8/ : SUCCESS in 1h 36m 49s\n- openstack-tox-cover http://logs.openstack.org/30/666630/7/check/openstack-tox-cover/eb69aec/cover/ : SUCCESS in 19m 45s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/7/check/openstack-tox-lower-constraints/bcca7ab/ : SUCCESS in 18m 13s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/7/check/openstack-tox-pep8/5291c27/ : SUCCESS in 9m 39s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/7/check/openstack-tox-py27/aca08b9/ : SUCCESS in 18m 55s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/7/check/openstack-tox-py36/72c96db/ : SUCCESS in 17m 31s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/7/check/openstack-tox-py37/735862f/ : SUCCESS in 19m 24s\n- openstack-tox-docs http://logs.openstack.org/30/666630/7/check/openstack-tox-docs/4df99f3/html/ : SUCCESS in 6m 08s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa http://logs.openstack.org/30/666630/7/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/ef582dd/ : SUCCESS in 51m 06s (non-voting)\n- devstack-plugin-ceph-tempest http://logs.openstack.org/30/666630/7/check/devstack-plugin-ceph-tempest/14b3926/ : SUCCESS in 1h 25m 31s (non-voting)\n- neutron-grenade-multinode http://logs.openstack.org/30/666630/7/check/neutron-grenade-multinode/bfca7e4/ : SUCCESS in 1h 08m 24s\n- neutron-tempest-linuxbridge http://logs.openstack.org/30/666630/7/check/neutron-tempest-linuxbridge/72b34ee/ : SUCCESS in 1h 38m 33s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/7/check/nova-grenade-live-migration/4bfe4f0/ : SUCCESS in 1h 01m 05s\n- nova-live-migration http://logs.openstack.org/30/666630/7/check/nova-live-migration/d7e4221/ : SUCCESS in 48m 09s\n- nova-lvm http://logs.openstack.org/30/666630/7/check/nova-lvm/c6c6361/ : SUCCESS in 1h 03m 38s (non-voting)\n- nova-multi-cell http://logs.openstack.org/30/666630/7/check/nova-multi-cell/09c2160/ : SUCCESS in 1h 51m 17s (non-voting)\n- nova-next http://logs.openstack.org/30/666630/7/check/nova-next/ed42cc9/ : FAILURE in 1h 30m 59s\n- nova-tox-functional http://logs.openstack.org/30/666630/7/check/nova-tox-functional/dfca557/ : SUCCESS in 23m 54s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/7/check/nova-tox-functional-py36/7190b9b/ : SUCCESS in 24m 09s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/7/check/tempest-slow-py3/48951f5/ : SUCCESS in 2h 29m 27s","accounts_in_message":[],"_revision_number":7},{"id":"4b628d6899cf77be22cb2ada928aa7c9fde9a8d7","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-07-12 21:29:29.000000000","message":"Patch Set 7:\n\nrecheck ssh auth failure","accounts_in_message":[],"_revision_number":7},{"id":"65732d152f4df3f7e010b044381ac4da2218ac75","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2019-07-12 22:14:09.000000000","message":"Patch Set 7:\n\nBuild succeeded\n\n- dsvm-nova http://207.189.188.190/logs/30/666630/7/check-vote/ext-nova-zuul/6764beb : SUCCESS in 1h 02m 24s","accounts_in_message":[],"_revision_number":7},{"id":"b1c1e8fa65399fb8eb44abb3d8876d9d620bc191","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2019-07-12 23:02:20.000000000","message":"Patch Set 7:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm: recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/tempest-dsvm-full-xenial/c18008b/ : SUCCESS in 1h 26m 26s\n- tempest-dsvm-full-xenial-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/tempest-dsvm-full-xenial-py3/2dafbd2/ : SUCCESS in 1h 31m 52s (non-voting)\n- grenade-dsvm-xenial https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/30/666630/7/check/grenade-dsvm-xenial/3d96fdb/ : SUCCESS in 1h 07m 31s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"77b357764ad54c0e907a3877c2adc9266cbeede9","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-12 23:54:49.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 http://logs.openstack.org/30/666630/7/check/grenade-py3/de8a3f6/ : SUCCESS in 49m 47s\n- tempest-full-py3 http://logs.openstack.org/30/666630/7/check/tempest-full-py3/cda8c7e/ : SUCCESS in 1h 23m 29s\n- openstack-tox-cover http://logs.openstack.org/30/666630/7/check/openstack-tox-cover/49e3c25/cover/ : SUCCESS in 19m 30s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/7/check/openstack-tox-lower-constraints/8643637/ : SUCCESS in 18m 21s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/7/check/openstack-tox-pep8/6b8c144/ : SUCCESS in 10m 25s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/7/check/openstack-tox-py27/ba75a6b/ : SUCCESS in 13m 22s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/7/check/openstack-tox-py36/918dd4f/ : SUCCESS in 16m 27s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/7/check/openstack-tox-py37/65762a6/ : SUCCESS in 19m 17s\n- openstack-tox-docs http://logs.openstack.org/30/666630/7/check/openstack-tox-docs/d06b6f2/html/ : SUCCESS in 5m 54s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa http://logs.openstack.org/30/666630/7/check/ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa/6c7b87f/ : SUCCESS in 1h 01m 12s (non-voting)\n- devstack-plugin-ceph-tempest http://logs.openstack.org/30/666630/7/check/devstack-plugin-ceph-tempest/a5097fc/ : SUCCESS in 1h 30m 08s (non-voting)\n- neutron-grenade-multinode http://logs.openstack.org/30/666630/7/check/neutron-grenade-multinode/218b716/ : SUCCESS in 1h 09m 03s\n- neutron-tempest-linuxbridge http://logs.openstack.org/30/666630/7/check/neutron-tempest-linuxbridge/612cd6d/ : SUCCESS in 1h 24m 13s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/7/check/nova-grenade-live-migration/9957e33/ : SUCCESS in 1h 12m 10s\n- nova-live-migration http://logs.openstack.org/30/666630/7/check/nova-live-migration/9559d46/ : SUCCESS in 47m 46s\n- nova-lvm http://logs.openstack.org/30/666630/7/check/nova-lvm/732489c/ : SUCCESS in 56m 36s (non-voting)\n- nova-multi-cell http://logs.openstack.org/30/666630/7/check/nova-multi-cell/d172364/ : SUCCESS in 1h 34m 33s (non-voting)\n- nova-next http://logs.openstack.org/30/666630/7/check/nova-next/e119873/ : SUCCESS in 1h 21m 25s\n- nova-tox-functional http://logs.openstack.org/30/666630/7/check/nova-tox-functional/ef1b882/ : SUCCESS in 26m 07s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/7/check/nova-tox-functional-py36/428c215/ : SUCCESS in 26m 31s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/7/check/tempest-slow-py3/c4529bf/ : SUCCESS in 2h 19m 03s","accounts_in_message":[],"_revision_number":7},{"id":"04680d712f331d32079146593736b8d101473185","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2019-07-12 23:55:21.000000000","message":"Patch Set 7:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_VxFlexOS_NOVA http://publiclogs.emc.com/30/666630/7/check/EMC_VxFlexOS_NOVA/cd5a92a/EMC_VxFlexOS_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC VxFlexOS CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_VxFlexOS_CI","accounts_in_message":[],"_revision_number":7},{"id":"b7b098f7725d16b1b55670c71d590cb3d9cf7f69","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2019-07-12 23:55:59.000000000","message":"Patch Set 7:\n\nBuild succeeded.\n\n- nova http://cloudbase-ci.com/nova/666630/7 : SUCCESS in 2h 25m 44s","accounts_in_message":[],"_revision_number":7},{"id":"597feff082592f5037b83c8050e3cb70411640f5","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2019-07-13 06:46:28.000000000","message":"Patch Set 7:\n\n* nova-quobyteci-dsvm-volume http://78.46.57.153:8081/refs-changes-30-666630-7 : FAILURE \n\nSee https://wiki.openstack.org/wiki/ThirdPartySystems/Quobyte_CI for rechecking and info.","accounts_in_message":[],"_revision_number":7},{"id":"c6dab1780d2cb860f74670a2ba170b709542bc84","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-07-15 07:52:11.000000000","message":"Patch Set 7: Code-Review-1\n\n(5 comments)\n\nWhile I definitely support removing getattr calls I think what we logically have in the code is an interface and many implementations of that interface. So we can even take a step further and replace the isinstance / vif_type dependent if-elses as well with polymorphism.","accounts_in_message":[],"_revision_number":7},{"id":"104ae8fe31cda49f4b537068a5b2a1f43ff063d4","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2019-07-15 15:14:13.000000000","message":"Patch Set 7:\n\n\u003e (5 comments)\n \u003e \n \u003e While I definitely support removing getattr calls I think what we\n \u003e logically have in the code is an interface and many implementations\n \u003e of that interface. So we can even take a step further and replace\n \u003e the isinstance / vif_type dependent if-elses as well with\n \u003e polymorphism.\n\nEverything you\u0027ve said kind of makes sense, but I\u0027ve no idea where to even start implementing this and I fear we\u0027ll see the same issues with os-vif objects that I described in an earlier patchset.\n\nWould it be possible to merge this as-is, unblocking the rest of the stack, and I\u0027ll happily rework again if you suggest what these should look like, assuming that\u0027s possible.","accounts_in_message":[],"_revision_number":7},{"id":"8ccfa83110e26012eb89d719d4d0b496365d89f7","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-07-15 16:12:09.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1\n\n\u003e \u003e (5 comments)\n \u003e \u003e\n \u003e \u003e While I definitely support removing getattr calls I think what we\n \u003e \u003e logically have in the code is an interface and many\n \u003e implementations\n \u003e \u003e of that interface. So we can even take a step further and replace\n \u003e \u003e the isinstance / vif_type dependent if-elses as well with\n \u003e \u003e polymorphism.\n \u003e \n \u003e Everything you\u0027ve said kind of makes sense, but I\u0027ve no idea where\n \u003e to even start implementing this and I fear we\u0027ll see the same\n \u003e issues with os-vif objects that I described in an earlier patchset.\n \u003e \n \u003e Would it be possible to merge this as-is, unblocking the rest of\n \u003e the stack, and I\u0027ll happily rework again if you suggest what these\n \u003e should look like, assuming that\u0027s possible.\n\nSure.\n\nMy current thinking: \nWe have vif objects from os-vif lib but those object does not want to be libvirt specific. Therefore the libvirt driver adds extra \"extension methods\" for the vif objects to generate the libvirt xml fragment for the vif. I think we can wrap the os-vif object created in _nova_to_osvif_*() functions with libvirt specific classes. And those libvirt specific classes can implement the generic get_config, set_config, plug, unplug interface. We need to move some code around from LibvirtGenericVIFDriver to the specific vif wrappers or a base class of those. But It feels doable. Ping me if you stuck with such a refactor I will try to help.","accounts_in_message":[],"_revision_number":7},{"id":"adf179c10a160991f5d19b6bd18ab877157decb3","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-16 17:59:09.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"7480d914fc31377df9fdfe5189ad1697ab0632a0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-16 20:47:07.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade-py3 http://logs.openstack.org/30/666630/7/gate/grenade-py3/cfd3839/ : SUCCESS in 1h 01m 16s\n- tempest-full-py3 http://logs.openstack.org/30/666630/7/gate/tempest-full-py3/00a3209/ : SUCCESS in 1h 26m 45s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/666630/7/gate/openstack-tox-lower-constraints/54bd6b7/ : SUCCESS in 24m 24s\n- openstack-tox-pep8 http://logs.openstack.org/30/666630/7/gate/openstack-tox-pep8/48b69a8/ : SUCCESS in 10m 41s\n- openstack-tox-py27 http://logs.openstack.org/30/666630/7/gate/openstack-tox-py27/22ae848/ : SUCCESS in 15m 16s\n- openstack-tox-py36 http://logs.openstack.org/30/666630/7/gate/openstack-tox-py36/c69c96a/ : SUCCESS in 16m 47s\n- openstack-tox-py37 http://logs.openstack.org/30/666630/7/gate/openstack-tox-py37/1d8cbd9/ : SUCCESS in 15m 17s\n- openstack-tox-docs http://logs.openstack.org/30/666630/7/gate/openstack-tox-docs/f15be93/html/ : SUCCESS in 7m 00s\n- nova-grenade-live-migration http://logs.openstack.org/30/666630/7/gate/nova-grenade-live-migration/71e5791/ : SUCCESS in 1h 18m 36s\n- nova-live-migration http://logs.openstack.org/30/666630/7/gate/nova-live-migration/b8c8f54/ : SUCCESS in 58m 02s\n- nova-tox-functional http://logs.openstack.org/30/666630/7/gate/nova-tox-functional/174b273/ : SUCCESS in 23m 16s\n- nova-tox-functional-py36 http://logs.openstack.org/30/666630/7/gate/nova-tox-functional-py36/120e8bf/ : SUCCESS in 19m 33s\n- nova-next http://logs.openstack.org/30/666630/7/gate/nova-next/889fd07/ : SUCCESS in 1h 17m 24s\n- tempest-slow-py3 http://logs.openstack.org/30/666630/7/gate/tempest-slow-py3/4dd2f59/ : SUCCESS in 2h 38m 42s","accounts_in_message":[],"_revision_number":7},{"id":"7055a4f7586e0b497fede355be7759a7aa4079c6","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-16 20:47:08.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":7},{"id":"901d65904e9b95f71175425150b1ae5af9ab8373","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2019-07-16 22:21:31.000000000","message":"Patch Set 7:\n\n\u003e \u003e \u003e (5 comments)\n \u003e \u003e \u003e\n \u003e \u003e \u003e While I definitely support removing getattr calls I think what\n \u003e we\n \u003e \u003e \u003e logically have in the code is an interface and many\n \u003e \u003e implementations\n \u003e \u003e \u003e of that interface. So we can even take a step further and\n \u003e replace\n \u003e \u003e \u003e the isinstance / vif_type dependent if-elses as well with\n \u003e \u003e \u003e polymorphism.\n \u003e \u003e\n \u003e \u003e Everything you\u0027ve said kind of makes sense, but I\u0027ve no idea\n \u003e where\n \u003e \u003e to even start implementing this and I fear we\u0027ll see the same\n \u003e \u003e issues with os-vif objects that I described in an earlier\n \u003e patchset.\n \u003e \u003e\n \u003e \u003e Would it be possible to merge this as-is, unblocking the rest of\n \u003e \u003e the stack, and I\u0027ll happily rework again if you suggest what\n \u003e these\n \u003e \u003e should look like, assuming that\u0027s possible.\n \u003e \n \u003e Sure.\n \u003e \n \u003e My current thinking:\n \u003e We have vif objects from os-vif lib but those object does not want\n \u003e to be libvirt specific. Therefore the libvirt driver adds extra\n \u003e \"extension methods\" for the vif objects to generate the libvirt xml\n \u003e fragment for the vif. I think we can wrap the os-vif object created\n \u003e in _nova_to_osvif_*() functions with libvirt specific classes. And\n \u003e those libvirt specific classes can implement the generic\n \u003e get_config, set_config, plug, unplug interface. We need to move\n \u003e some code around from LibvirtGenericVIFDriver to the specific vif\n \u003e wrappers or a base class of those. But It feels doable. Ping me if\n \u003e you stuck with such a refactor I will try to help.\n\nour instead of hacking it ourselves since we will have os-vif objects we can use PEP 443 -- Single-dispatch generic functions\nhttps://www.python.org/dev/peps/pep-0443/ which introduces function overlading based the first arguemetn type it was technically added in python 3.4  but its been backported to 2.7 as a library\nhttps://pypi.org/project/singledispatch/\nand it already in upperconstratints so we can use it. https://opendev.org/openstack/requirements/src/branch/master/upper-constraints.txt#L361","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"b4f3b2b09f8c836c470065be09be9281c336dec3","revisions":{"736d58b178c07e868a37a326738444768dace8a8":{"kind":"REWORK","_number":1,"created":"2019-06-20 16:18:41.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/1"}}},"commit":{"parents":[{"commit":"bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e","subject":"vif: Skip most of \u0027get_base_config\u0027 if not using virtio","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 16:18:21.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookup, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely breaks static code coverage analysers that we\ncan use to help us root out code that\u0027s not tested or is tested but is\nnever used in production but, more importantly, it make it so much more\ndifficult to figure out what on earth is going on in an already complex\npart of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/736d58b178c07e868a37a326738444768dace8a8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/736d58b178c07e868a37a326738444768dace8a8"}]},"branch":"refs/heads/master"},"32c9f7a26d93fb0cca2e9b2d1fca395619eda61a":{"kind":"REWORK","_number":2,"created":"2019-06-20 16:48:08.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/2"}}},"commit":{"parents":[{"commit":"bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e","subject":"vif: Skip most of \u0027get_base_config\u0027 if not using virtio","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 16:41:57.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookup, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely breaks static code coverage analysers that we\ncan use to help us root out code that\u0027s not tested or is tested but is\nnever used in production but, more importantly, it make it so much more\ndifficult to figure out what on earth is going on in an already complex\npart of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/32c9f7a26d93fb0cca2e9b2d1fca395619eda61a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/32c9f7a26d93fb0cca2e9b2d1fca395619eda61a"}]},"branch":"refs/heads/master"},"d77b0a4cdd6a459c123978821b557ac95f49baf8":{"kind":"REWORK","_number":3,"created":"2019-06-21 10:05:58.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/3"}}},"commit":{"parents":[{"commit":"bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e","subject":"vif: Skip most of \u0027get_base_config\u0027 if not using virtio","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-21 10:05:04.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookup, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely breaks static code coverage analysers that we\ncan use to help us root out code that\u0027s not tested or is tested but is\nnever used in production but, more importantly, it make it so much more\ndifficult to figure out what on earth is going on in an already complex\npart of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d77b0a4cdd6a459c123978821b557ac95f49baf8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d77b0a4cdd6a459c123978821b557ac95f49baf8"}]},"branch":"refs/heads/master"},"07e2d1f2ba1d6107112d205c26d9f46413ef932b":{"kind":"REWORK","_number":4,"created":"2019-06-21 10:48:17.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/4"}}},"commit":{"parents":[{"commit":"bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e","subject":"vif: Skip most of \u0027get_base_config\u0027 if not using virtio","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-21 10:46:50.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookup, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely breaks static code coverage analysers that we\ncan use to help us root out code that\u0027s not tested or is tested but is\nnever used in production but, more importantly, it make it so much more\ndifficult to figure out what on earth is going on in an already complex\npart of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/07e2d1f2ba1d6107112d205c26d9f46413ef932b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/07e2d1f2ba1d6107112d205c26d9f46413ef932b"}]},"branch":"refs/heads/master"},"bb82b16baa70cb764edffd064dc9abe4d2731139":{"kind":"REWORK","_number":5,"created":"2019-06-21 11:05:14.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/5"}}},"commit":{"parents":[{"commit":"bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e","subject":"vif: Skip most of \u0027get_base_config\u0027 if not using virtio","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bdb1230c87b2fee32d9f5886060e2a5d6ae52c7e"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-21 11:04:48.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookup, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely breaks static code coverage analysers that we\ncan use to help us root out code that\u0027s not tested or is tested but is\nnever used in production but, more importantly, it make it so much more\ndifficult to figure out what on earth is going on in an already complex\npart of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bb82b16baa70cb764edffd064dc9abe4d2731139"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bb82b16baa70cb764edffd064dc9abe4d2731139"}]},"branch":"refs/heads/master"},"821df7c27f76d9ca2f9631ead7e35d3cc8a1019e":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":6,"created":"2019-07-10 15:19:06.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/6"}}},"commit":{"parents":[{"commit":"de31466fdb09dd367b23660f71b4ca06f83271a2","subject":"doc: Fix a parameter of NotificationPublisher","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/de31466fdb09dd367b23660f71b4ca06f83271a2"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-07-10 15:17:27.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookups, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely break static code coverage analysers that we can\nuse to help us root out code that\u0027s not tested (or is tested but is\nnever used in production) but, more importantly, it make it so much more\ndifficult to figure out what on earth is going on in an already complex\npart of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/821df7c27f76d9ca2f9631ead7e35d3cc8a1019e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/821df7c27f76d9ca2f9631ead7e35d3cc8a1019e"}]},"branch":"refs/heads/master"},"b4f3b2b09f8c836c470065be09be9281c336dec3":{"kind":"REWORK","_number":7,"created":"2019-07-12 15:40:17.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/30/666630/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/30/666630/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/30/666630/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/30/666630/7"}}},"commit":{"parents":[{"commit":"17bc342c33caa0b6f2fbb01835e769de7dab639e","subject":"vif: Remove \u0027plug_vhostuser\u0027, \u0027unplug_vhostuser\u0027","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/17bc342c33caa0b6f2fbb01835e769de7dab639e"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-06-20 12:53:09.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2019-07-12 15:39:58.000000000","tz":60},"subject":"vif: Stop using getattr for VIF lookups","message":"vif: Stop using getattr for VIF lookups\n\n\u0027getattr\u0027 is really powerful and we make extensive use of it in nova.\nHowever, the way we\u0027ve used it for VIF lookups, where we use it to\nretrieve functions by a key, seems to be a bit of an anti-pattern. Not\nonly does it completely break static code coverage analysers that we can\nuse to help us root out code that\u0027s not tested (or is tested but is\nnever used in production) but, more importantly, it makes it so much\nmore difficult to figure out what on earth is going on in an already\ncomplex part of the codebase.\n\nBe verbose and, in the absence of a true switch statement in Python, use\nsimple if-else blocks to do the lookups. Due to how this is done, we\u0027re\nable to remove a few previously no-op functions. Funnily enough, this\nactually results in fewer LOC despite being more explicit. #winning?\n\nChange-Id: Idf08adca1e3a0d19e20bca2447c83f7372516cb7\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b4f3b2b09f8c836c470065be09be9281c336dec3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b4f3b2b09f8c836c470065be09be9281c336dec3"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
