)]}'
{"id":"openstack%2Fnova-specs~693655","triplet_id":"openstack%2Fnova-specs~master~I474826eadde4ac47aa4b89e1b7fbffdfe39a4e11","project":"openstack/nova-specs","branch":"master","topic":"bp/live_migration_without_peformance_impact","hashtags":[],"change_id":"I474826eadde4ac47aa4b89e1b7fbffdfe39a4e11","subject":"Add \"live migration without performance impact\" spec.","status":"ABANDONED","created":"2019-11-11 07:36:01.000000000","updated":"2020-02-13 18:18:33.000000000","total_comment_count":62,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"99287b5f8504f589118b1e2c474de820f79ec334","_number":693655,"virtual_id_number":693655,"owner":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:check","value":1,"date":"2019-12-18 07:45:18.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"date":"2020-01-20 01:29:42.000000000","_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},{"value":-1,"date":"2020-01-27 12:33:56.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":-1,"date":"2020-01-20 03:15:24.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"date":"2019-12-18 07:47:20.000000000","_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-11-13 16:48:36.000000000","updated_by":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"reviewer":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"state":"REVIEWER"},{"updated":"2019-11-14 09:33:32.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-11-14 18:59:13.000000000","updated_by":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"reviewer":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"state":"REVIEWER"},{"updated":"2019-11-14 22:34:20.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-11-18 02:49:02.000000000","updated_by":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"reviewer":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"state":"REVIEWER"},{"updated":"2019-11-21 11:03:16.000000000","updated_by":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"reviewer":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"state":"REVIEWER"},{"updated":"2019-11-22 19:43:31.000000000","updated_by":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"reviewer":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"state":"REVIEWER"},{"updated":"2019-12-18 07:45:18.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2019-12-18 07:47:20.000000000","updated_by":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"reviewer":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"state":"REVIEWER"},{"updated":"2020-01-20 01:29:42.000000000","updated_by":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"reviewer":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"state":"REVIEWER"},{"updated":"2020-01-20 03:15:24.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-01-27 12:33:56.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"}],"messages":[{"id":"c7f7276bdbf2f3df56c202d9dce9042aacf2e24b","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-11 07:36:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"1b7806b6e0656f59523448dbde99486a969447b7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-11-11 07:49:31.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c45e80c6f725448883c208813d719ed9 : SUCCESS in 11m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e15d4e8b6d464c84922b1a7f99c25cdd : SUCCESS in 4m 35s","accounts_in_message":[],"_revision_number":1},{"id":"5b546f57a340d725726e878b9e178607f3bcf054","author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"date":"2019-11-11 19:11:30.000000000","message":"Patch Set 1: Code-Review+1\n\ni think this is a much better alterantive.","accounts_in_message":[],"_revision_number":1},{"id":"041850a443f2ae67c93036915928c10fbdf5ce67","author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"date":"2019-11-12 12:19:00.000000000","message":"Patch Set 1: Code-Review+1\n\nI think this would be a relatively simple change which would enable this use case without adding additional orchestration or policy to Nova.","accounts_in_message":[],"_revision_number":1},{"id":"afa2dcbbf15b2561587a37f0af049892e4a95e8b","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2019-11-12 16:19:00.000000000","message":"Patch Set 1: Code-Review-1\n\n(23 comments)\n\nHi, Ya.Wang, I agree the idea is good.  So +1 for the idea; but a soft -1 to incorporate the suggested phrasing tweaks.  Hope you don\u0027t mind. :-)","accounts_in_message":[],"_revision_number":1},{"id":"07f739d1764ecbdca7b5696536bb158f74b5c50b","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2019-11-12 16:22:54.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"66634f20133725af41cf08e0db4dca9dddb30566","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2019-11-12 16:32:21.000000000","message":"Patch Set 1:\n\nAlso, one more point: I am not too fond of the very generic \"no_performance_impact\" name -- it hijacks the concept from all other features that can cause performance impact.\n\nI would suggest more specific: \"no_post_copy_and_auto_converge\"\n\nBetter alternatives welcome.","accounts_in_message":[],"_revision_number":1},{"id":"1515fc27de86f14bafe04a247599b617f7420edf","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-13 05:06:07.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"146f90c2ad570917c8481a4b5e5a906c5d580946","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-13 05:08:09.000000000","message":"Patch Set 1:\n\n(23 comments)","accounts_in_message":[],"_revision_number":1},{"id":"ba407a544ddce807daf3752d219d640d6b8a1499","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-11-13 05:14:17.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/650c728ed5184e1f91effcb713e0022e : SUCCESS in 7m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/36dcc94d426544f6bd89f4d63eb05a06 : SUCCESS in 2m 57s","accounts_in_message":[],"_revision_number":2},{"id":"150eb5e3dfa57ed079d15e7b3569d53b05cb258e","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-13 05:17:26.000000000","message":"Patch Set 1:\n\n\u003e Also, one more point: I am not too fond of the very generic\n \u003e \"no_performance_impact\" name -- it hijacks the concept from all\n \u003e other features that can cause performance impact.\n \u003e \n \u003e I would suggest more specific: \"no_post_copy_and_auto_converge\"\n \u003e \n \u003e Better alternatives welcome.\n\n\"no_post_copy_and_auto_converge\" expose the hypervisor feature, and it specify libvirt feature only. The parameter in API call need generic and semanticization.\n\nWe can point the actual effect in document and cli help.","accounts_in_message":[],"_revision_number":1},{"id":"e45ea2cc0b1d28da404c5354ac4b5021ad9cc37b","author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"date":"2019-11-13 16:48:36.000000000","message":"Patch Set 2:\n\n\u003e \u003e Also, one more point: I am not too fond of the very generic\n \u003e \u003e \"no_performance_impact\" name -- it hijacks the concept from all\n \u003e \u003e other features that can cause performance impact.\n \u003e \u003e\n \u003e \u003e I would suggest more specific: \"no_post_copy_and_auto_converge\"\n \u003e \u003e\n \u003e \u003e Better alternatives welcome.\n \u003e \n \u003e \"no_post_copy_and_auto_converge\" expose the hypervisor feature, and\n \u003e it specify libvirt feature only. The parameter in API call need\n \u003e generic and semanticization.\n \u003e \n \u003e We can point the actual effect in document and cli help.\n\nYep, I *vastly* prefer the generic name. We can bikeshed on a better name, but I\u0027d personally be -1 on anything which mentioned the specific features we were disabling.","accounts_in_message":[],"_revision_number":2},{"id":"0a8a128259105cbb8331dca54d615f6f2a79d936","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-11-14 09:33:32.000000000","message":"Patch Set 2: Code-Review+2\n\nThis looks good to me.","accounts_in_message":[],"_revision_number":2},{"id":"f679a78769f5659f3f2a655fb8058f2d10a203d6","author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"date":"2019-11-14 18:59:13.000000000","message":"Patch Set 2:\n\nyeah no_performance_impact isn\u0027t fun but better than hypervisor specific things\n\nbikeshedding over a better name is probably good but shouldnt hold this back","accounts_in_message":[],"_revision_number":2},{"id":"7f7df066881b839e2d47a32bfc27ca1877ae8d90","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-11-14 22:34:20.000000000","message":"Patch Set 2: Code-Review+1\n\nI have seen this.\n\nIt seems technically straightforward, so I\u0027ll upvote.\n\nBut I\u0027ve got no sense of whether it\u0027s something we *should* do (i.e. whether it\u0027s important to consumers) so I\u0027ll wait for others to chime in.","accounts_in_message":[],"_revision_number":2},{"id":"6930d5da94cbbc8e8dc8720df22c015b97239714","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-15 04:13:24.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)\n\nHope Matthew can +1 at here.","accounts_in_message":[],"_revision_number":2},{"id":"4ca4b1cf116923b4891303c07a47b6bd3c8879cb","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-15 04:16:15.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)\n\na question how we pass that parameter down to the compute node","accounts_in_message":[],"_revision_number":2},{"id":"d50e78c98e5f09243021af2a9d754070af78cef9","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-18 02:49:02.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"b63340eea8410811cd11f342917f745e01fedc21","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-18 02:52:58.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"d95149f6c773c9ca0e6f9f565c5bfd6431ae3db5","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-18 02:54:43.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"c45a05cf491981d63196a39595554eb2b3db21fa","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-18 03:05:56.000000000","message":"Patch Set 2:\n\n\u003e (1 comment)\n\nYes, as the L58,59 said, the new argument will not affect force-complete API call.","accounts_in_message":[],"_revision_number":2},{"id":"3ed0be05601df5ab019134841f25d37909dca122","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2019-11-21 10:55:53.000000000","message":"Patch Set 2:\n\n\u003e \u003e \u003e Also, one more point: I am not too fond of the very generic\n \u003e \u003e \u003e \"no_performance_impact\" name -- it hijacks the concept from all\n \u003e \u003e \u003e other features that can cause performance impact.\n \u003e \u003e \u003e\n \u003e \u003e \u003e I would suggest more specific: \"no_post_copy_and_auto_converge\"\n \u003e \u003e \u003e\n \u003e \u003e \u003e Better alternatives welcome.\n \u003e \u003e\n \u003e \u003e \"no_post_copy_and_auto_converge\" expose the hypervisor feature,\n \u003e and\n \u003e \u003e it specify libvirt feature only. The parameter in API call need\n \u003e \u003e generic and semanticization.\n \u003e \u003e\n \u003e \u003e We can point the actual effect in document and cli help.\n \u003e \n \u003e Yep, I *vastly* prefer the generic name. We can bikeshed on a\n \u003e better name, but I\u0027d personally be -1 on anything which mentioned\n \u003e the specific features we were disabling.\n\nOkay, I accept the reasonable point of not exposing \"hypervisor\"-specific details.  BTW, we\u0027re abusing the term \"hypervisor\" here to include QEMU -- \"hypervisor\" is strictly in the kernel/KVM area).  But I dislike using the sweeping \"no_performance_impact\", not least because it is a lie -- *all* migrations have an impact.\n\nMaybe \"no_migration_related_perf_impact\"  (or \"no_migration_perf_impact\").\n\nBut calling it just \"no_performance_impact\" is *utterly* awful.  Sorry, not everything is \"bike-shedding\"; you _do_ need to take care of how you name knobs that are user-visible.","accounts_in_message":[],"_revision_number":2},{"id":"a15baeb4061d140d1d22855d48838e3a983e2a36","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2019-11-21 11:03:16.000000000","message":"Patch Set 2: Code-Review+1\n\n(+1 for the idea itself; but I strongly suggest to not take the overly-generic \"no_performance_impact\", and perhaps go with \"no_migration_perf_impact\" or some such variant.)","accounts_in_message":[],"_revision_number":2},{"id":"f75729a12410cc5936d49afe88013e0f071b5260","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2019-11-21 11:13:37.000000000","message":"Patch Set 2:\n\n\u003e (+1 for the idea itself; but I strongly suggest to not take the\n \u003e overly-generic \"no_performance_impact\", and perhaps go with\n \u003e \"no_migration_perf_impact\" or some such variant.)\n\nYa Wang on IRC seemed amenable to: \"no_live_migration_perf_impact\"\n\n... which captures the intention most accurately.","accounts_in_message":[],"_revision_number":2},{"id":"0c53b838764619112e3a6aa44426ea0d545d7427","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-22 06:16:20.000000000","message":"Patch Set 2:\n\nOr we should try \"auto_force_complete\", The default is True.","accounts_in_message":[],"_revision_number":2},{"id":"be439ab15d33f66e9b6c0c0d9d75e652e7053d3d","author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"date":"2019-11-22 06:46:46.000000000","message":"Patch Set 2:\n\nWhen \u0027auto_force_complete\u003dTrue\u0027 sounds like that a contract for the invoker, but some of hypervisors may don\u0027t support this. Maybe should be \u0027allow_auto_froce_complete\u0027","accounts_in_message":[],"_revision_number":2},{"id":"c92d7c4a96c888d9dded30f98eb309ecd64da677","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-22 07:26:16.000000000","message":"Patch Set 2:\n\n\u003e When \u0027auto_force_complete\u003dTrue\u0027 sounds like that a contract for the\n \u003e invoker, but some of hypervisors may don\u0027t support this. Maybe\n \u003e should be \u0027allow_auto_froce_complete\u0027\n\nThe purpose of the argument is to avoid performance impact, try to disable something in this API call. It should be independent of another API call(force-complete).","accounts_in_message":[],"_revision_number":2},{"id":"d81db2b89e35ba7de58939934a94b2a9334a9e96","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2019-11-22 19:43:31.000000000","message":"Patch Set 2: Code-Review-1\n\n(2 comments)\n\n-1 for visibility, I guess. Main points:\n\nInline L66. The fact the *user* knowns whether his instance is performance-sensitive or not, but it\u0027s the *admin* doing the migration, is clunky. We\u0027re asking each operator to come up with their way for the user to communicate this performance-sensitivity to the admin, and then we give this new API to the admins. Would be better if the user could set... something (see ideas inline), and Nova can check it directly before doing a live migration. If necessary, the admin can have an API to override what the user requested.\n\nL172 for the upgrade impact. In a rolling upgrade situation, some compute hosts may not support the new thing, it\u0027s Not Cool (TM) to accept the request, and then silently ignore the performance-sensitive param.","accounts_in_message":[],"_revision_number":2},{"id":"013e52fef858cf8bead23f86613e645ea0bad5a0","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2019-11-23 05:24:38.000000000","message":"Patch Set 2:\n\n\u003e But calling it just \"no_performance_impact\" is *utterly* awful. \n \u003e Sorry, not everything is \"bike-shedding\"; you _do_ need to take\n \u003e care of how you name knobs that are user-visible.\n\nYes, as long as there is a migration, there will be a performance impact.","accounts_in_message":[],"_revision_number":2},{"id":"877cc227d74030056547691166dec0c5d6d97d35","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2019-11-23 21:08:52.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"6df26abd98c9342e6442cfd17a3a832f78ef7304","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-11-25 05:59:14.000000000","message":"Patch Set 2:\n\nThanks for reviewed.\n\n \u003e Inline L66. The fact the *user* knowns whether his instance is\n \u003e performance-sensitive or not, but it\u0027s the *admin* doing the\n \u003e migration, is clunky. We\u0027re asking each operator to come up with\n \u003e their way for the user to communicate this performance-sensitivity\n \u003e to the admin, and then we give this new API to the admins. Would be\n \u003e better if the user could set... something (see ideas inline), and\n \u003e Nova can check it directly before doing a live migration. If\n \u003e necessary, the admin can have an API to override what the user\n \u003e requested. \n\nUsing metadata to mark whether auto-converge/post-copy is disabled can make the process simple, but here are some problems.\n1. Add property in image properties/flavor extra specs, as you said, not flexible, and will make the amount of image/flavor bloated.\n2. Permission problem. User add the tag through instance metadata or other methods to decide whether the auto-converge/post-copy is disabled during live migrate. Which means, the user can indirectly operate to the virtualization layer. Generally speaking, exposing these to users is not a good choice.\n\n\n \u003e L172 for the upgrade impact. In a rolling upgrade situation, some\n \u003e compute hosts may not support the new thing, it\u0027s Not Cool (TM) to\n \u003e accept the request, and then silently ignore the performance-sensitive\n \u003e param.\n\nWill point these in next update.","accounts_in_message":[],"_revision_number":2},{"id":"350ea28b14742bdfb1d95aa1ed3d894cbe22549a","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2019-11-27 18:38:14.000000000","message":"Patch Set 2:\n\n\u003e Using metadata to mark whether auto-converge/post-copy is disabled\n \u003e can make the process simple, but here are some problems.\n \u003e 1. Add property in image properties/flavor extra specs, as you\n \u003e said, not flexible, and will make the amount of image/flavor\n \u003e bloated.\n \u003e 2. Permission problem. User add the tag through instance metadata\n \u003e or other methods to decide whether the auto-converge/post-copy is\n \u003e disabled during live migrate. Which means, the user can indirectly\n \u003e operate to the virtualization layer. Generally speaking, exposing\n \u003e these to users is not a good choice.\n\nWell, the user can already operate on the virt layer indirectly by setting other image properties. We have a bunch that trigger certain XML to be generated in the libvirt driver case, for example. So that part doesn\u0027t concern me much, but all the other objections you raised are valid. I just feel like there should be a better way for the user to indicate this performance-sensitivity without going through this extra admin-only API. However, as I can\u0027t actually come up with this \"better way\", I can\u0027t -1 your for it. As I said, the -1 is for visibility and to stimulate discussion, not to block the spec.\n \n \u003e \u003e L172 for the upgrade impact. In a rolling upgrade situation, some\n \u003e \u003e compute hosts may not support the new thing, it\u0027s Not Cool (TM)\n \u003e to\n \u003e \u003e accept the request, and then silently ignore the\n \u003e performance-sensitive\n \u003e \u003e param.\n \u003e \n \u003e Will point these in next update.\n\nFair. I understand you don\u0027t want to lose your +2 :)","accounts_in_message":[],"_revision_number":2},{"id":"aa7f695ad891001968d21d1384ec20883fdd3608","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-12-11 07:52:37.000000000","message":"Patch Set 2:\n\n\u003e \u003e Using metadata to mark whether auto-converge/post-copy is\n \u003e disabled\n \u003e \u003e can make the process simple, but here are some problems.\n \u003e \u003e 1. Add property in image properties/flavor extra specs, as you\n \u003e \u003e said, not flexible, and will make the amount of image/flavor\n \u003e \u003e bloated.\n \u003e \u003e 2. Permission problem. User add the tag through instance metadata\n \u003e \u003e or other methods to decide whether the auto-converge/post-copy is\n \u003e \u003e disabled during live migrate. Which means, the user can\n \u003e indirectly\n \u003e \u003e operate to the virtualization layer. Generally speaking, exposing\n \u003e \u003e these to users is not a good choice.\n \u003e \n \u003e Well, the user can already operate on the virt layer indirectly by\n \u003e setting other image properties. We have a bunch that trigger\n \u003e certain XML to be generated in the libvirt driver case, for\n \u003e example.\n\nYes, but these properties are basically used as a result(e.g. set \u0027hw_numa_node\u003d2\u0027, get 2 numa nodes in xml), the argument in the spec is actually affect a procedural operation, so I think place them into API is OK.\n\n \u003e So that part doesn\u0027t concern me much, but all the other\n \u003e objections you raised are valid. I just feel like there should be a\n \u003e better way for the user to indicate this performance-sensitivity\n \u003e without going through this extra admin-only API. However, as I\n \u003e can\u0027t actually come up with this \"better way\", I can\u0027t -1 your for\n \u003e it. As I said, the -1 is for visibility and to stimulate\n \u003e discussion, not to block the spec.\n\nYes, the \u0027better way\u0027 is always hard to find :)\nIn fact, the problem is that the user wants to affect the admin operation, but it can\u0027t be directly affected by the user due to the permission. So we have to introduce an intermediate layer to let the user tell admin: \u0027Hey, please do the things like this\u0027.","accounts_in_message":[],"_revision_number":2},{"id":"34e1b89f4885a91bd130f9ef39cb8251ec59eef1","author":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"date":"2019-12-18 07:30:50.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"03034d8447a0a05ae1f90cf08ede92f4f53726d2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-12-18 07:45:18.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/be9bb4ae7b194294b5cbc05df1d09dd2 : SUCCESS in 12m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/88a6436a86594e88a8232cb068cdf7c8 : SUCCESS in 5m 25s","accounts_in_message":[],"_revision_number":3},{"id":"581ffb64d37d4458c684a0759f82e0e1140535ee","author":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"date":"2020-01-20 01:29:42.000000000","message":"Patch Set 3:\n\nIf live migration is admin operation, then why not directly expose methods and let operator choose what then want?","accounts_in_message":[],"_revision_number":3},{"id":"de35c96b91f38821fae893e8aadeda1d2e1050ec","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-01-20 03:15:24.000000000","message":"Patch Set 3: Code-Review-1\n\n(6 comments)","accounts_in_message":[],"_revision_number":3},{"id":"9fe9f0bf394ca45b0dfae485b62e25ffc33f22f2","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-01-20 03:20:28.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"bc883ec585428dfb7c7c9ffa164eb16c93451cc9","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2020-01-27 12:33:56.000000000","message":"Patch Set 3: Code-Review-1\n\nWe discussed this at the last PTG and I still don\u0027t understand the point of this spec. By choosing to disable these features, you\u0027re opting for a shorter period of complete downtime rather than a longer period of degraded performance. Firstly, I\u0027m not sure why that is better. Secondly, if it\u0027s better for some applications, why can\u0027t we just change the option on all hosts? If that\u0027s not an option, it\u0027s possible to just use host aggregates to restrict these special instances to hosts with that option. All in all, this feels like a solution to an exceptionally specific problem and if there\u0027s a really good reason to have this, it hasn\u0027t been clearly explained. Let me know if you disagree :)","accounts_in_message":[],"_revision_number":3},{"id":"60a6dea2dc8e5fd23a75396544576a2a2fa48fa7","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2020-02-13 18:18:33.000000000","message":"Abandoned\n\nWe\u0027re at spec freeze. This has downvotes, and no update from the author in a couple of months.\n\nTo repropose for a subsequent $release please:\n- Restore (or ask a nova-core to do so)\n- Move the spec from specs/ussuri/ to specs/$release/\n- Update the blueprint\u0027s Series Goal","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"2f99f5edff11f1ba06e81ed443ae9d7940e5edfd","revisions":{"e57f6a6040cbafd1f1071ed75d64556b59db2e78":{"kind":"REWORK","_number":1,"created":"2019-11-11 07:36:01.000000000","uploader":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"ref":"refs/changes/55/693655/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/55/693655/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/1"}}},"commit":{"parents":[{"commit":"477fb6859f6b9880abd91f0abce36ecf42a350e5","subject":"Merge \"Re-propose policy-defaults-refresh spec for Ussuri\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/477fb6859f6b9880abd91f0abce36ecf42a350e5"}]}],"author":{"name":"ya.wang","email":"wang.ya@99cloud.net","date":"2019-11-11 07:35:29.000000000","tz":480},"committer":{"name":"ya.wang","email":"wang.ya@99cloud.net","date":"2019-11-11 07:35:43.000000000","tz":480},"subject":"Add spec for live migration no performance impact.","message":"Add spec for live migration no performance impact.\n\nChange-Id: I474826eadde4ac47aa4b89e1b7fbffdfe39a4e11\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/e57f6a6040cbafd1f1071ed75d64556b59db2e78"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/e57f6a6040cbafd1f1071ed75d64556b59db2e78"}]},"branch":"refs/heads/master"},"a9165b73240bc688d60e44ab556ee77dddc6e180":{"kind":"REWORK","_number":2,"created":"2019-11-13 05:06:07.000000000","uploader":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"ref":"refs/changes/55/693655/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/55/693655/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/2"}}},"commit":{"parents":[{"commit":"477fb6859f6b9880abd91f0abce36ecf42a350e5","subject":"Merge \"Re-propose policy-defaults-refresh spec for Ussuri\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/477fb6859f6b9880abd91f0abce36ecf42a350e5"}]}],"author":{"name":"ya.wang","email":"wang.ya@99cloud.net","date":"2019-11-11 07:35:29.000000000","tz":480},"committer":{"name":"ya.wang","email":"wang.ya@99cloud.net","date":"2019-11-13 05:05:38.000000000","tz":480},"subject":"Add \"live migration without performance impact\" spec.","message":"Add \"live migration without performance impact\" spec.\n\nThis spec proposes a way selectively disable live migration-related\nfeatures which will slow down guest performance.\nIt is useful for guest workloads that can\u0027t tolerate any potential\nperformance impact.\n\nChange-Id: I474826eadde4ac47aa4b89e1b7fbffdfe39a4e11\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/a9165b73240bc688d60e44ab556ee77dddc6e180"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/a9165b73240bc688d60e44ab556ee77dddc6e180"}]},"branch":"refs/heads/master"},"2f99f5edff11f1ba06e81ed443ae9d7940e5edfd":{"kind":"REWORK","_number":3,"created":"2019-12-18 07:30:50.000000000","uploader":{"_account_id":27614,"name":"ya.wang","email":"me@littleya.com","username":"ya.wang"},"ref":"refs/changes/55/693655/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova-specs","ref":"refs/changes/55/693655/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova-specs refs/changes/55/693655/3"}}},"commit":{"parents":[{"commit":"477fb6859f6b9880abd91f0abce36ecf42a350e5","subject":"Merge \"Re-propose policy-defaults-refresh spec for Ussuri\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/477fb6859f6b9880abd91f0abce36ecf42a350e5"}]}],"author":{"name":"ya.wang","email":"wang.ya@99cloud.net","date":"2019-11-11 07:35:29.000000000","tz":480},"committer":{"name":"ya.wang","email":"wang.ya@99cloud.net","date":"2019-12-18 07:30:40.000000000","tz":480},"subject":"Add \"live migration without performance impact\" spec.","message":"Add \"live migration without performance impact\" spec.\n\nThis spec proposes a way selectively disable live migration-related\nfeatures which will slow down guest performance.\nIt is useful for guest workloads that can\u0027t tolerate any potential\nperformance impact.\n\nChange-Id: I474826eadde4ac47aa4b89e1b7fbffdfe39a4e11\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/2f99f5edff11f1ba06e81ed443ae9d7940e5edfd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova-specs/commit/2f99f5edff11f1ba06e81ed443ae9d7940e5edfd"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
