)]}'
{"id":"openstack%2Fcyborg~712231","triplet_id":"openstack%2Fcyborg~master~I85bf8fa70f776520f3b1f5eef09ca1e054a210f3","project":"openstack/cyborg","branch":"master","topic":"block-rebind","hashtags":[],"change_id":"I85bf8fa70f776520f3b1f5eef09ca1e054a210f3","subject":"Check during ARQ bind that the target instance has no other ARQs.","status":"MERGED","created":"2020-03-11 04:38:52.000000000","updated":"2020-04-06 23:28:05.000000000","submitted":"2020-04-06 23:26:46.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":52,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"712231-1586215606462-cde04409","meta_rev_id":"77f956740bd97fa249183cbc0422418e3a744dc3","_number":712231,"virtual_id_number":712231,"owner":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},{"value":0,"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":0,"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},{"value":0,"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"value":0,"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-04-06 23:26:46.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"}],"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":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"all":[{"value":0,"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},{"value":2,"date":"2020-04-06 12:11:39.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":0,"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},{"value":2,"date":"2020-04-01 07:35:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"value":0,"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"}],"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":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"all":[{"value":0,"date":"2020-03-30 11:03:41.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},{"value":0,"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":1,"date":"2020-04-06 22:44:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},{"value":0,"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"value":0,"date":"2020-03-30 11:03:34.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-03-12 02:19:06.000000000","updated_by":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"reviewer":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"state":"REVIEWER"},{"updated":"2020-03-30 11:03:34.000000000","updated_by":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"reviewer":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"state":"REVIEWER"},{"updated":"2020-03-30 11:03:41.000000000","updated_by":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"reviewer":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"state":"REVIEWER"},{"updated":"2020-04-01 07:35:25.000000000","updated_by":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"reviewer":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"state":"REVIEWER"},{"updated":"2020-04-06 12:11:39.000000000","updated_by":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"reviewer":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"state":"REVIEWER"},{"updated":"2020-04-06 23:26:46.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":"ab7e4c695ea3e7b9c148254631b6df22be56e623","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-11 04:38:52.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5c75d1fff932c3d84f4173e8c01bf2a8fc58ce3b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-11 05:14:31.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/082af4ee9b20407c937481c2a930746e : SUCCESS in 4m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/27c57e6daf614e00932eab53cbc2286c : SUCCESS in 3m 51s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/6fb574eddcca48d69ed1191eeb6c9c3d : SUCCESS in 3m 45s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/4318ee59945e4f8a8e96df22ef4fc4cc : SUCCESS in 4m 20s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/90aa4c86eac844289f0922accbfd0de8 : SUCCESS in 4m 30s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4732131ed8454b24bc5480b41f56c061 : SUCCESS in 4m 04s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/8679d3b62d0a4846bb50543ce4b013fa : SUCCESS in 30m 43s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/76a5faac2d4e433db52f51471b417b5f : SUCCESS in 30m 27s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/9728a2d0c0fa495c933225640913a18e : FAILURE in 4m 03s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e47ada86ef80154f0525148cd5b793062fdcf9e3","author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"date":"2020-03-11 07:49:03.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"56637adaefe2cc4cfff3925a7baa4383926a3c6a","author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"date":"2020-03-11 09:07:23.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ebe549ba1bbb5a280a05ae724286d7fcb729e8b7","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-03-11 14:38:58.000000000","message":"Patch Set 1: Code-Review-1\n\n(7 comments)\n\nNeed to add a test case of PatchError.","accounts_in_message":[],"_revision_number":1},{"id":"fdf752bb1e8747409a9d3068d037b9d5f4b6aa6a","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-11 21:06:41.000000000","message":"Patch Set 1:\n\n(9 comments)","accounts_in_message":[],"_revision_number":1},{"id":"ddab4376ea4fa6e3e57f31ae68eaff34b599ed36","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-11 21:06:59.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"85792ccfbe9eb33c77dc013aa18c9e763d439b16","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-11 21:36:13.000000000","message":"Uploaded patch set 3: Commit message was updated.","accounts_in_message":[],"_revision_number":3},{"id":"3443076a7dd7ff683dcd68e23adc0d1fb304552a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-11 22:23:21.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f98d7d4e90ce443fb8eccbf1d98541e7 : SUCCESS in 4m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/308ff85ec473450abd8e649fd05f8491 : SUCCESS in 4m 02s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/32181c4cb9364ff185df2c46a51df6ad : SUCCESS in 4m 59s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/29583eb7f9b54b188f369856cb352f3e : SUCCESS in 5m 30s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/ffa9d749d16d43e194ed719b4d6b049f : SUCCESS in 5m 15s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a09efbffadcd44959c528f02c369d50e : SUCCESS in 5m 10s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/409d0bb2f6c84c26901931ac3cfbe02a : SUCCESS in 35m 34s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4ea4cdee7eed42bbaa77d92454006733 : SUCCESS in 42m 14s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/29bd3595523146feb9c2d67dacec81d4 : FAILURE in 7m 58s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"ffdc8257cbaa591beac35f896154e2cfa6d09e7f","author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"date":"2020-03-12 02:19:06.000000000","message":"Patch Set 3:\n\n(1 comment)\n\nSeems The UT passed.","accounts_in_message":[],"_revision_number":3},{"id":"20f28273a4d6ff927c8e683ebc4ae847b533c8f9","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-03-12 13:27:34.000000000","message":"Patch Set 3:\n\n(8 comments)\n\nLooks good to me overall, but some attention inline.","accounts_in_message":[],"_revision_number":3},{"id":"5e547cb77f539f99cb715219cacccca404a0d4fd","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-03-12 13:28:48.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"dd3de3993b98f8cecd282f04ad3df7fe22eb8894","author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"date":"2020-03-19 12:23:57.000000000","message":"Patch Set 3: Code-Review-1\n\n(5 comments)\n\nHi Sundar, pls see my comments inline.","accounts_in_message":[],"_revision_number":3},{"id":"345d0998012031fe9728161f2ce8858616e6bc06","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-22 21:11:50.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"072dc231cd2799e364ed3982b2d5fd2109bd6cea","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-22 21:37:36.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/365fc440a2f744bbbb41e164cb4614f2 : SUCCESS in 3m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f408c52a38ca454fa66461adecc45834 : SUCCESS in 3m 37s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/1917490d6c794ae8ac8540eeb1a5f569 : SUCCESS in 4m 35s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d7cbacdec71a404383b7d66c3502f6e7 : SUCCESS in 5m 25s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/bfd1ff5b0f6a466e986e050eb0b7ada5 : SUCCESS in 5m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/21713c1740904587b3e9f9f07a4733e8 : SUCCESS in 5m 54s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/83f43243bb274106922310dda98c76d2 : SUCCESS in 24m 42s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/76a00ee76ce44e829106e3d6c5b74e95 : SUCCESS in 24m 23s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/eea4a0f0c5314dcd821666c69a64c80e : FAILURE in 3m 47s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"e4ef4dc60cc1563e292f5c768133c69f3aa14bf6","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-03-24 03:58:07.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)\n\nLGTM","accounts_in_message":[],"_revision_number":4},{"id":"d0b3cbdc2140d1c8844436e40676eee4bf7656ef","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-24 23:11:19.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"23eb41a1e87961814780069c0d1c2bfc6749f3b6","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-24 23:12:58.000000000","message":"Patch Set 5: Workflow-1\n\n(12 comments)\n\nNeeds discussion.","accounts_in_message":[],"_revision_number":5},{"id":"0cadc505268a262b29d153b1c42f032d8030703e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-24 23:48:57.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/121cd1d1b98f4ce08e15cde3420496e9 : SUCCESS in 4m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8d7b43f464aa46ad8f316039b20bbf02 : SUCCESS in 4m 33s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d39a64608e364ec18c29ccb14c0324ae : SUCCESS in 4m 44s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/67345c32619b4d7792118a47364cf199 : SUCCESS in 4m 36s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/bcaddf2ff91645139460606cdae9d778 : SUCCESS in 4m 28s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0776b6d9e7114e2fa505c4fd6ef22eb3 : SUCCESS in 5m 51s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/43a4aecc5be54defae914fb59bd2fe80 : SUCCESS in 32m 11s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/88cc1a4da1f94a0ba43bcf0c20cc89ed : SUCCESS in 31m 09s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/e227e5d65289411f9cc3c5c994202844 : FAILURE in 4m 05s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"b8ff70bdec4e727898958c918e0e1385b47102e5","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-03-25 00:31:57.000000000","message":"Patch Set 5:\n\n(2 comments)\n\nThanks update.","accounts_in_message":[],"_revision_number":5},{"id":"36512338bd6babbdd34cb0c1f4b5bceb22fe626b","author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"date":"2020-03-26 03:07:31.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"4a4390b168217f3ea28807ad8c9d0ec600d83bf5","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-28 17:42:44.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"b7030ae1c979cc46386f8ca3ea533d0613dae61c","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-03-28 17:48:01.000000000","message":"Uploaded patch set 6: Commit message was updated.","accounts_in_message":[],"_revision_number":6},{"id":"d70834f0542ab12458a5f1405a567efb6b45f900","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-03-28 18:20:13.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e17003ccfe2441c8a8c2742100b78bf7 : SUCCESS in 4m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/814b077a97b34c5fbfb0134ff3ac6930 : SUCCESS in 3m 59s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ac6c129486c54909870fd99f06d66f4f : SUCCESS in 4m 00s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/3a3e68032c15495eaab81f2b9fa1f31c : SUCCESS in 4m 36s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/ba80ca6fc3754bb2b8054e8f31d5275e : SUCCESS in 4m 34s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e07a10ded9c9459e8d36bc5a30f9c1d9 : SUCCESS in 5m 27s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/49a8f621638942d9a914c24b9ac32766 : SUCCESS in 26m 36s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/384f2a7d84df4ffb99585e65d24ca6fe : SUCCESS in 30m 05s (non-voting)\n- cyborg-tox-bandit https://zuul.opendev.org/t/openstack/build/040b108ae2dd41828a5a314b45cd0a41 : FAILURE in 3m 09s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"98b899944696eac7d8192b02d1d50a6e337df360","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-04-01 07:35:25.000000000","message":"Patch Set 6: Code-Review+2\n\nLGTM, if you could add a releasenote, I think it would be more perfect, but it is not important because we have not changed the API, just add the bind arqs logical check.","accounts_in_message":[],"_revision_number":6},{"id":"db22a952c35941dff132774b15fe1e66e41356fd","author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"date":"2020-04-06 12:11:39.000000000","message":"Patch Set 6: Code-Review+2\n\nLGTM.","accounts_in_message":[],"_revision_number":6},{"id":"bf744a96f9a65f0ab85fd04fe5d2063f19316fd2","author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"date":"2020-04-06 22:44:57.000000000","message":"Patch Set 6: Workflow+1\n\n\u003e if you could add a releasenote, I think it would be more\n \u003e perfect\n\nRelease notes are for end users and are release-specific. This probably belongs in the API docs?","accounts_in_message":[],"_revision_number":6},{"id":"dbddaa18d32365d83833da6a8829762f261a73ab","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-06 22:45:08.000000000","message":"Patch Set 6: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":6},{"id":"089d5650011a43e8ece34261ff8f6c7919846ad4","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-06 23:26:46.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":6},{"id":"0168ac07eeb4b59fb3bc344f8fe0a65e91bf635d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-06 23:26:46.000000000","message":"Patch Set 6: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a6c79465219b443ea2a6aceb8534c9ab : SUCCESS in 3m 25s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/0471528f043242d39bc646fe7fa939f8 : SUCCESS in 3m 52s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/191542e655e44fe5b1fc8eebe3cb56fc : SUCCESS in 4m 34s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c7782482d4db4b579e38ad4e4112e804 : SUCCESS in 7m 28s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/27ff2971a6df4a3ba3e47f3b25ca3c9f : SUCCESS in 36m 06s","accounts_in_message":[],"_revision_number":6},{"id":"2c03a96b7901e0a20f3a859ec0bf9581319f6e6c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-04-06 23:28:05.000000000","message":"Patch Set 6:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ae34221f401e44e09bd95a10733c2df3 : SUCCESS in 1m 03s","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"afc1245aa3d07e23c91bfcf450cdab1a925aefd0","revisions":{"6461992df6cb4b3d4cd368f7d699bd6f3e134dbc":{"kind":"REWORK","_number":1,"created":"2020-03-11 04:38:52.000000000","uploader":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"ref":"refs/changes/31/712231/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/31/712231/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/31/712231/1"}}},"commit":{"parents":[{"commit":"6dab512af226677c9065f85f264a691f3aeb6eab","subject":"Merge \"Revert \"Solve py37 timeout\"\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6dab512af226677c9065f85f264a691f3aeb6eab"}]}],"author":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"committer":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"subject":"WIP: Check during ARQ bind that the target instance has no other ARQs.","message":"WIP: Check during ARQ bind that the target instance has no other ARQs.\n\nIn the ARQ create/bind flow, new ARQs can be created for a device profile\nany time. However, if an attempt is made to bind those created ARQs to an\ninstance, it must be ensured that the instance does not already have other\nARQs bound to it. In the future, we may allow that for hot adds,\nbut not now.\n\nChange-Id: I85bf8fa70f776520f3b1f5eef09ca1e054a210f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6461992df6cb4b3d4cd368f7d699bd6f3e134dbc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6461992df6cb4b3d4cd368f7d699bd6f3e134dbc"}]},"branch":"refs/heads/master"},"530f95f564c0e79403f862f8590a776c9bf81be7":{"kind":"REWORK","_number":2,"created":"2020-03-11 21:06:59.000000000","uploader":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"ref":"refs/changes/31/712231/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/31/712231/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/31/712231/2"}}},"commit":{"parents":[{"commit":"6dab512af226677c9065f85f264a691f3aeb6eab","subject":"Merge \"Revert \"Solve py37 timeout\"\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6dab512af226677c9065f85f264a691f3aeb6eab"}]}],"author":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"committer":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 21:06:13.000000000","tz":-420},"subject":"Check during ARQ bind that the target instance has no other ARQs.","message":"Check during ARQ bind that the target instance has no other ARQs.\n\nIn the ARQ create/bind flow, new ARQs can be created for a device profile\nany time. However, if an attempt is made to bind those created ARQs to an\ninstance, it must be ensured that the instance does not already have other\nARQs bound to it. In the future, we may allow that for hot adds,\nbut not now.\n\nDuplicate binds may be requested if the APIs are invoked directly, by an\nadmin or a script. That is, the admin/script calls POST to create ARQs,\nthen calls PATCH to bind them to some instance UUID, which happens to be\nan existing instance with ARQs. IOW, this is user error.\n\nThis can also arise in principle when an instance is rescheduled to another\nhost by Nova -- though I haven\u0027t seen this in my testing. During\nrescheduling of an instance, Nova is expected to delete the bound ARQs\nfor that instance before creating/binding ARQs to a different host. But\nthere could be a race condition where the deletion is still in progress\nwhen the next bind call for rescheduling comes in. That is, the race\nscenario is like this:\n* Nova calls Cyborg to delete ARQs for an instance prior to rescheduling.\n* Nova calls Cyborg to create ARQs for a device profile. Since there is\n  no reference to any instance or host here, Cyborg has to satisfy this\n  request.\n* Nova calls Cyborg to bind the new ARQs to the same instance but a\n  different host.\n\nTo handle this race, one option is to queue the bind till the deletion\nsucceeds: but that is complex. Another option is to let the bind go\nthrough if the instance\u0027s ARQs are all in deleting state. But that still\nallows duplicate binds for some window of time till the deletions\ncomplete. This scenario may be rare enough that the simple solution of\nfailing the duplicate bind is adequate.\n\nChange-Id: I85bf8fa70f776520f3b1f5eef09ca1e054a210f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/530f95f564c0e79403f862f8590a776c9bf81be7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/530f95f564c0e79403f862f8590a776c9bf81be7"}]},"branch":"refs/heads/master"},"6d508affe66d72da4e2d91bfea2062ca198f4f93":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2020-03-11 21:36:13.000000000","uploader":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"ref":"refs/changes/31/712231/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/31/712231/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/31/712231/3"}}},"commit":{"parents":[{"commit":"6dab512af226677c9065f85f264a691f3aeb6eab","subject":"Merge \"Revert \"Solve py37 timeout\"\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6dab512af226677c9065f85f264a691f3aeb6eab"}]}],"author":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"committer":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 21:33:28.000000000","tz":-420},"subject":"Check during ARQ bind that the target instance has no other ARQs.","message":"Check during ARQ bind that the target instance has no other ARQs.\n\nIn the ARQ create/bind flow, new ARQs can be created for a device profile\nany time. However, if an attempt is made to bind those created ARQs to an\ninstance, it must be ensured that the instance does not already have other\nARQs bound to it. In the future, we may allow that for hot adds,\nbut not now.\n\nDuplicate binds may be requested if the APIs are invoked directly, by an\nadmin or a script. That is, the admin/script calls POST to create ARQs,\nthen calls PATCH to bind them to some instance UUID, which happens to be\nan existing instance with ARQs. IOW, this is user error.\n\nThis can also arise in principle when an instance is rescheduled to another\nhost by Nova -- though I haven\u0027t seen this in my testing. During\nrescheduling of an instance, Nova is expected to delete the bound ARQs\nfor that instance before creating/binding ARQs to a different host. But\nthere could be a race condition where the deletion is still in progress\nwhen the next bind call for rescheduling comes in. That is, the race\nscenario is like this:\n* Nova calls Cyborg to delete ARQs for an instance prior to rescheduling.\n* Nova calls Cyborg to create ARQs for a device profile. Since there is\n  no reference to any instance or host here, Cyborg has to satisfy this\n  request.\n* Nova calls Cyborg to bind the new ARQs to the same instance but a\n  different host.\n\nTo handle this race, one option is to queue the bind till the deletion\nsucceeds: but that is complex. Another option is to let the bind go\nthrough if the instance\u0027s ARQs are all in deleting state. But that still\nallows duplicate binds for some window of time till the deletions\ncomplete. This scenario may be rare enough that the simple solution of\nfailing the duplicate bind is adequate.\n\nNote that the Nova code deletes the created ARQs if bind fails during\nrescheduling:\nhttps://review.opendev.org/#/c/673735/44/nova/conductor/manager.py@598\n\nChange-Id: I85bf8fa70f776520f3b1f5eef09ca1e054a210f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6d508affe66d72da4e2d91bfea2062ca198f4f93"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/6d508affe66d72da4e2d91bfea2062ca198f4f93"}]},"branch":"refs/heads/master"},"2b54bac1311fe1b8dfd41dae44bb119524f7c61a":{"kind":"REWORK","_number":4,"created":"2020-03-22 21:11:50.000000000","uploader":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"ref":"refs/changes/31/712231/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/31/712231/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/31/712231/4"}}},"commit":{"parents":[{"commit":"cde5c3421d03722696269eb45ac148afd9838042","subject":"Merge \"Fix GPU\u0027s improper cpid_type allowed value and attach_handle_type value\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/cde5c3421d03722696269eb45ac148afd9838042"}]}],"author":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"committer":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-22 21:10:03.000000000","tz":-420},"subject":"Check during ARQ bind that the target instance has no other ARQs.","message":"Check during ARQ bind that the target instance has no other ARQs.\n\nIn the ARQ create/bind flow, new ARQs can be created for a device profile\nany time. However, if an attempt is made to bind those created ARQs to an\ninstance, it must be ensured that the instance does not already have other\nARQs bound to it. In the future, we may allow that for hot adds,\nbut not now.\n\nDuplicate binds may be requested if the APIs are invoked directly, by an\nadmin or a script. That is, the admin/script calls POST to create ARQs,\nthen calls PATCH to bind them to some instance UUID, which happens to be\nan existing instance with ARQs. IOW, this is user error.\n\nThis can also happen in principle when an instance is rescheduled to\nanother host by Nova -- though I haven\u0027t seen this in my testing. During\nrescheduling of an instance, Nova is expected to delete the bound ARQs\nfor that instance before creating/binding ARQs to a different host. But\nthere could be a race condition where the deletion is still in progress\nwhen the next bind call for rescheduling comes in. That is, the race\nscenario is like this:\n* Nova calls Cyborg to delete ARQs for an instance prior to rescheduling.\n* Nova calls Cyborg to create ARQs for a device profile. Since there is\n  no reference to any instance or host here, Cyborg has to satisfy this\n  request.\n* Nova calls Cyborg to bind the new ARQs to the same instance but a\n  different host.\n\nTo handle this race, one option is to queue the bind till the deletion\nsucceeds: but that is complex. Another option is to let the bind go\nthrough if the instance\u0027s ARQs are all in deleting state. But that still\nallows duplicate binds for some window of time till the deletions\ncomplete. This scenario may be rare enough that the simple solution of\nfailing the duplicate bind is adequate.\n\nNote that the Nova code deletes the created ARQs if bind fails during\nrescheduling:\nhttps://review.opendev.org/#/c/673735/44/nova/conductor/manager.py@598\n\nChange-Id: I85bf8fa70f776520f3b1f5eef09ca1e054a210f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2b54bac1311fe1b8dfd41dae44bb119524f7c61a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/2b54bac1311fe1b8dfd41dae44bb119524f7c61a"}]},"branch":"refs/heads/master"},"a3c0f87b85019926ea1c36a485e459a0383ec27c":{"kind":"REWORK","_number":5,"created":"2020-03-24 23:11:19.000000000","uploader":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"ref":"refs/changes/31/712231/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/31/712231/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/31/712231/5"}}},"commit":{"parents":[{"commit":"cde5c3421d03722696269eb45ac148afd9838042","subject":"Merge \"Fix GPU\u0027s improper cpid_type allowed value and attach_handle_type value\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/cde5c3421d03722696269eb45ac148afd9838042"}]}],"author":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"committer":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-24 22:53:30.000000000","tz":-420},"subject":"Check during ARQ bind that the target instance has no other ARQs.","message":"Check during ARQ bind that the target instance has no other ARQs.\n\nIn the ARQ create/bind flow, new ARQs can be created for a device profile\nany time. However, if an attempt is made to bind those created ARQs to an\ninstance, it must be ensured that the instance does not already have other\nARQs bound to it. In the future, we may allow that for hot adds,\nbut not now.\n\nDuplicate binds may be requested if the APIs are invoked directly, by an\nadmin or a script. That is, the admin/script calls POST to create ARQs,\nthen calls PATCH to bind them to some instance UUID, which happens to be\nan existing instance with ARQs. IOW, this is user error.\n\nThis can also happen in principle when an instance is rescheduled to\nanother host by Nova - but only in the future when ARQ deletions are\nmade asynchronous. During rescheduling of an instance, Nova is expected\nto delete the bound ARQs for that instance before creating/binding ARQs\nto a different host. That is fine today because ARQ deletions are\nsynchronous -- they complete before returning to the caller.\n\nBut, in the future, Cyborg could/should delete ARQs asynchronously, i.e.,\nthe API call returns before the deletion has completed. That is because\nthe unbind part of the deletion may require device cleanup if some kind,\nwhich may take time. When ARQ deletions become asynchronous, there could\nbe a race condition where the deletion is still in progress when the\nnext bind call for rescheduling comes in. That is, the race\nscenario is like this:\n* Nova calls Cyborg to delete ARQs for an instance prior to rescheduling.\n  Thw call returns while the deletion is still in progress.\n* Nova calls Cyborg to create ARQs for a device profile. Since there is\n  no reference to any instance or host here, Cyborg has to satisfy this\n  request.\n* Nova calls Cyborg to bind the new ARQs to the same instance but a\n  different host.\n\nTo handle this race, one option is to queue the bind till the deletion\nsucceeds: but that is complex. Another option is to let the bind go\nthrough if the instance\u0027s ARQs are all in deleting state. But that still\nallows duplicate binds for some window of time till the deletions\ncomplete. This scenario may be rare enough that the simple solution of\nfailing the duplicate bind is adequate.\n\nNote that the Nova code deletes the created ARQs if bind fails during\nrescheduling:\nhttps://review.opendev.org/#/c/673735/44/nova/conductor/manager.py@598\n\nChange-Id: I85bf8fa70f776520f3b1f5eef09ca1e054a210f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a3c0f87b85019926ea1c36a485e459a0383ec27c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/a3c0f87b85019926ea1c36a485e459a0383ec27c"}]},"branch":"refs/heads/master"},"afc1245aa3d07e23c91bfcf450cdab1a925aefd0":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2020-03-28 17:48:01.000000000","uploader":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"ref":"refs/changes/31/712231/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/31/712231/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/31/712231/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/31/712231/6"}}},"commit":{"parents":[{"commit":"cde5c3421d03722696269eb45ac148afd9838042","subject":"Merge \"Fix GPU\u0027s improper cpid_type allowed value and attach_handle_type value\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/cde5c3421d03722696269eb45ac148afd9838042"}]}],"author":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-11 04:27:59.000000000","tz":-420},"committer":{"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","date":"2020-03-28 19:42:56.000000000","tz":-420},"subject":"Check during ARQ bind that the target instance has no other ARQs.","message":"Check during ARQ bind that the target instance has no other ARQs.\n\nIn the ARQ create/bind flow, new ARQs can be created for a device profile\nany time. However, if an attempt is made to bind those created ARQs to an\ninstance, it must be ensured that the instance does not already have other\nARQs bound to it. In the future, we may allow that for hot adds,\nbut not now.\n\nDuplicate binds may be requested if the APIs are invoked directly, by an\nadmin or a script. That is, the admin/script calls POST to create ARQs,\nthen calls PATCH to bind them to some instance UUID, which happens to be\nan existing instance with ARQs. IOW, this is user error.\n\nThis can also happen in principle when an instance is rescheduled to\nanother host by Nova - but only in the future when ARQ deletions are\nmade asynchronous. During rescheduling of an instance, Nova is expected\nto delete the bound ARQs for that instance before creating/binding ARQs\nto a different host. That is fine today because ARQ deletions are\nsynchronous -- they complete before returning to the caller.\n\nBut, in the future, Cyborg could/should delete ARQs asynchronously, i.e.,\nthe API call returns before the deletion has completed. That is because\nthe unbind part of the deletion may require device cleanup if some kind,\nwhich may take time. When ARQ deletions become asynchronous, there could\nbe a race condition where the deletion is still in progress when the\nnext bind call for rescheduling comes in. That is, the race\nscenario is like this:\n* Nova calls Cyborg to delete ARQs for an instance prior to rescheduling.\n  The call returns while the deletion is still in progress.\n* Nova calls Cyborg to create ARQs for a device profile. Since there is\n  no reference to any instance or host here, Cyborg has to satisfy this\n  request.\n* Nova calls Cyborg to bind the new ARQs to the same instance but a\n  different host.\n\nTo handle this race, one option is to queue the bind till the deletion\nsucceeds: but that is complex. Another option is to let the bind go\nthrough if the instance\u0027s ARQs are all in deleting state. But that still\nallows duplicate binds for some window of time till the deletions\ncomplete. This scenario may be rare enough that the simple solution of\nfailing the duplicate bind is adequate.\n\nNote that the Nova code deletes the created ARQs if bind fails during\nrescheduling:\nhttps://review.opendev.org/#/c/673735/44/nova/conductor/manager.py@598\n\nChange-Id: I85bf8fa70f776520f3b1f5eef09ca1e054a210f3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/afc1245aa3d07e23c91bfcf450cdab1a925aefd0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/afc1245aa3d07e23c91bfcf450cdab1a925aefd0"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
