)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dcf67178947096e308f745c8ef199ae1e9f3ad28","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"e2f153d3_cb996fae","updated":"2024-01-30 11:21:47.000000000","message":"Where we are preventing a share deletion while it is used by VM? (I know we discussed it but I forgot what was the outcome)\n\nAs far as I see I can delete a share attached to the VM in manila. Then manila will unexport the share, which breaks the host mount of the share.\n\nAt this point the mount in the guest will fail.\nAt this point an openstack server reboot command will put the VM in ERROR state\nAt this point a restart of the nova-compute service will cause the nova-compute service to fail to start up with \n```\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service [None req-1317b556-4f69-4444-8842-05ce8a2c268a None None] Error starting thread.: nova.exception.ManilaConnectionFailed: Co\u003e\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service Traceback (most recent call last):\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/share/manila.py\", line 136, in wrapper\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     res \u003d method(self, *args, **kwargs)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/share/manila.py\", line 159, in wrapper\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     res \u003d method(self, share_id, *args, **kwargs)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/share/manila.py\", line 269, in get_access\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     for access in access_list:\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/openstacksdk/openstack/resource.py\", line 2093, in list\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     exceptions.raise_from_response(response)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/openstacksdk/openstack/exceptions.py\", line 247, in raise_from_response\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     raise cls(\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service openstack.exceptions.BadRequestException: BadRequestException: 400: Client Error for url: http://10.0.76.222/share/v2/share\u003e\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service \nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service The above exception was the direct cause of the following exception:\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service \nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service Traceback (most recent call last):\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_service/service.py\", line 810, in run_service\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     service.start()\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/service.py\", line 162, in start\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     self.manager.init_host(self.service_ref)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/compute/manager.py\", line 1684, in init_host\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     self._init_instance(context, instance)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/compute/manager.py\", line 1087, in _init_instance\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     self.mount_share(context, instance, share_mapping)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/oslo.messaging/oslo_messaging/rpc/server.py\", line 244, in inner\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     return func(*args, **kwargs)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/exception_wrapper.py\", line 65, in wrapped\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     with excutils.save_and_reraise_exception():\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     self.force_reraise()\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     raise self.value\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/exception_wrapper.py\", line 63, in wrapped\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     return f(self, context, *args, **kw)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/compute/manager.py\", line 4648, in mount_share\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     _mount_share(context, instance, share_mapping)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_concurrency/lockutils.py\", line 414, in inner\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     return f(*args, **kwargs)\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/compute/manager.py\", line 4606, in _mount_share\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     if not check_access():\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/compute/manager.py\", line 4597, in check_access\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     access \u003d get_access()\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/compute/manager.py\", line 4589, in get_access\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     access \u003d self.manila_api.get_access(\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service   File \"/opt/stack/nova/nova/share/manila.py\", line 140, in wrapper\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service     raise exception.ManilaConnectionFailed(reason\u003derr_msg) from exc\nJan 30 11:05:54 gibi-devstack-aio-jammy nova-compute[131178]: ERROR oslo_service.service nova.exception.ManilaConnectionFailed: Connection to manila service failed: BadRequestException: 400: Client Error for url:\u003e\n\n```\n\nI can accept the first two (mount failure, VM in ERROR) but I think we should not prevent the nova-compute startup, we should just put the VM in question to ERROR state. (But the best would be to prevent the manila share delete, if that is an option)","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9ef776f94cf2bb50cd460fa1a215a150d8db232d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"eeb37786_829bfe97","in_reply_to":"30e327ab_7f1b5f8e","updated":"2024-02-19 16:48:04.000000000","message":"will test again","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"694f3c460539f5b1a50bec2c4725dd46caafef85","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"30e327ab_7f1b5f8e","in_reply_to":"abe7de6f_7f996365","updated":"2024-02-16 14:21:23.000000000","message":"Share deletion should be prevented now.\nThe issue was due to a change in the sdk.\n\"restrict_visibility\" and \"restrict_deletion\" respectively changed to \"lock_visibility\" and \"lock_deletion\".\n\nShould be fixed now.","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"30ada129355a24d06212002f8c9103a3bb346a25","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"abe7de6f_7f996365","in_reply_to":"e2f153d3_cb996fae","updated":"2024-01-30 11:22:20.000000000","message":".","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"632fd3d34fbf94d12e4679ece070b6bbace62e03","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"93d04533_7398b671","in_reply_to":"eeb37786_829bfe97","updated":"2024-08-26 14:54:48.000000000","message":"Issue addressed by https://review.opendev.org/c/openstack/manila/+/926491","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b3c6d858c4c39a267eee09f6d441d85358028fbb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"a332eb39_128d3e65","updated":"2024-06-18 11:48:42.000000000","message":"my comments were fixed, looks good to me.","commit_id":"babf7d2bc0f13f263f09044362edc77bc57cabb0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3b629c824b84bc853f037ed38861dcdb43bb0ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"47fe426a_1c405d68","updated":"2024-07-02 11:26:52.000000000","message":"I still miss the test coverage.","commit_id":"6adcdcc028f087eb1ac9c3139773979470599598"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"332d401e532ca92ad5d0694e9ff0a96b6c496dc8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"4db597c2_ed943757","updated":"2024-08-28 13:12:39.000000000","message":"still -1 due to a change from this PR needs to move to the previous commit in the series","commit_id":"c78303b352fccff230ede0801111b5101105d639"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64c4a80d2ced13e3a4bf1e7d34e2d12853c0b557","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"8c432b7f_968eec94","updated":"2024-10-11 11:43:05.000000000","message":"We still have to move test change to the proper patch. And there is missing test coverage.","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"491a86f4407e27318dcc1be8b868fdf6128867db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"bf7ca665_93de7b7b","updated":"2024-11-15 10:27:23.000000000","message":"Looks good. Please fix the pep8 error and ping me to re +2 this.","commit_id":"52bd9a23e9f6d48db4400ac044623ca8e0037f9b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5405765998c6e68dba1c80b4857fa945253ed95f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"b2a2b222_9b30c234","updated":"2024-11-14 13:21:37.000000000","message":"Thanks for having moved the UTs","commit_id":"52bd9a23e9f6d48db4400ac044623ca8e0037f9b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4cb9c6db6f740f464939f731da76c6603541b088","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"61a97790_1ae9a3ed","updated":"2024-11-14 13:21:55.000000000","message":"whoops","commit_id":"52bd9a23e9f6d48db4400ac044623ca8e0037f9b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c7af3a5fb163aa69fa7f8e948ffc706c863a82a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"dbf5f94c_779c48b6","updated":"2024-11-20 15:04:08.000000000","message":"Thanks for the pep8 fix.","commit_id":"c435fe297019063ea2c9da1a7fc2ac103bc6d9bb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"198b77b99caa9a9fd71c19ab3db0404cac4cf640","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"69eab151_a6320e53","updated":"2024-11-21 09:25:43.000000000","message":"recheck flakey multicell","commit_id":"c435fe297019063ea2c9da1a7fc2ac103bc6d9bb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4fafa694d88f4a4d8558efe73c2b02febd8ab12c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"d5b11651_24c9af06","updated":"2024-11-21 09:25:22.000000000","message":"thanks for the pep8 fix","commit_id":"c435fe297019063ea2c9da1a7fc2ac103bc6d9bb"}],"nova/compute/manager.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"147461f8cab7bab676cc092f83498e1f684d67cd","unresolved":true,"context_lines":[{"line_number":3187,"context_line":""},{"line_number":3188,"context_line":"        timer.restart()"},{"line_number":3189,"context_line":""},{"line_number":3190,"context_line":"        if share_info:"},{"line_number":3191,"context_line":"            for share in share_info:"},{"line_number":3192,"context_line":"                self.umount_share(context, instance, share)"},{"line_number":3193,"context_line":"                share.delete()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9885236a_0cc7f9f6","line":3190,"updated":"2024-01-30 09:56:50.000000000","message":"share_info cannot be None so you can remove this if","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"8f9070d146cf355eabaa2b369e2c023c6e00e24a","unresolved":false,"context_lines":[{"line_number":3187,"context_line":""},{"line_number":3188,"context_line":"        timer.restart()"},{"line_number":3189,"context_line":""},{"line_number":3190,"context_line":"        if share_info:"},{"line_number":3191,"context_line":"            for share in share_info:"},{"line_number":3192,"context_line":"                self.umount_share(context, instance, share)"},{"line_number":3193,"context_line":"                share.delete()"}],"source_content_type":"text/x-python","patch_set":12,"id":"16b7523d_4ddcd012","line":3190,"in_reply_to":"816c21c7_a557b3d3","updated":"2024-03-11 15:44:39.000000000","message":"Done","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5ddf1dfab734cda34be6606974b82be63f641727","unresolved":true,"context_lines":[{"line_number":3187,"context_line":""},{"line_number":3188,"context_line":"        timer.restart()"},{"line_number":3189,"context_line":""},{"line_number":3190,"context_line":"        if share_info:"},{"line_number":3191,"context_line":"            for share in share_info:"},{"line_number":3192,"context_line":"                self.umount_share(context, instance, share)"},{"line_number":3193,"context_line":"                share.delete()"}],"source_content_type":"text/x-python","patch_set":12,"id":"816c21c7_a557b3d3","line":3190,"in_reply_to":"9885236a_0cc7f9f6","updated":"2024-02-28 13:23:15.000000000","message":"this is still open","commit_id":"aac2dcadf426ac7db5afeddc066af39f0ed1614a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5ddf1dfab734cda34be6606974b82be63f641727","unresolved":true,"context_lines":[{"line_number":3142,"context_line":"                    phase\u003dfields.NotificationPhase.START, bdms\u003dbdms)"},{"line_number":3143,"context_line":""},{"line_number":3144,"context_line":"        network_info \u003d instance.get_network_info()"},{"line_number":3145,"context_line":"        share_info \u003d self._get_share_info(context, instance)"},{"line_number":3146,"context_line":""},{"line_number":3147,"context_line":"        # NOTE(arnaudmorin) to avoid nova destroying the instance without"},{"line_number":3148,"context_line":"        # unplugging the interface, refresh network_info if it is empty."}],"source_content_type":"text/x-python","patch_set":15,"id":"d03ca6d7_0aa78ba2","line":3145,"updated":"2024-02-28 13:23:15.000000000","message":"If there is a share in ATTCHING state at this point then _get_share_info will prevent the instance deletion.","commit_id":"2a8aa5bc0cc688626b998e9da234ad5fc910a30e"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"8f9070d146cf355eabaa2b369e2c023c6e00e24a","unresolved":false,"context_lines":[{"line_number":3142,"context_line":"                    phase\u003dfields.NotificationPhase.START, bdms\u003dbdms)"},{"line_number":3143,"context_line":""},{"line_number":3144,"context_line":"        network_info \u003d instance.get_network_info()"},{"line_number":3145,"context_line":"        share_info \u003d self._get_share_info(context, instance)"},{"line_number":3146,"context_line":""},{"line_number":3147,"context_line":"        # NOTE(arnaudmorin) to avoid nova destroying the instance without"},{"line_number":3148,"context_line":"        # unplugging the interface, refresh network_info if it is empty."}],"source_content_type":"text/x-python","patch_set":15,"id":"d479a3e9_c5320afc","line":3145,"in_reply_to":"d03ca6d7_0aa78ba2","updated":"2024-03-11 15:44:39.000000000","message":"Done","commit_id":"2a8aa5bc0cc688626b998e9da234ad5fc910a30e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"81c632e9209ace4abbf20eb09a9c976290680d1b","unresolved":false,"context_lines":[{"line_number":3142,"context_line":"        network_info \u003d instance.get_network_info()"},{"line_number":3143,"context_line":"        try:"},{"line_number":3144,"context_line":"            share_info \u003d self._get_share_info(context, instance)"},{"line_number":3145,"context_line":"        except exception.ShareErrorUnexpectedStatus:"},{"line_number":3146,"context_line":"            pass"},{"line_number":3147,"context_line":""},{"line_number":3148,"context_line":"        # NOTE(arnaudmorin) to avoid nova destroying the instance without"}],"source_content_type":"text/x-python","patch_set":20,"id":"390a9ede_cd597284","line":3145,"updated":"2024-05-22 16:55:24.000000000","message":"Wondering if ignoring attaching state here can cause a race condition between allow_share rpc and delete rpc. The delete locks on the instance.uuid and the allow_share only locks on the share.id so the two things can overlap. Anyhow lets ignore this for now as it is probably a small race window.","commit_id":"f0f713da602bab9c7b1938df8abbf14a92c896bb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"81c632e9209ace4abbf20eb09a9c976290680d1b","unresolved":true,"context_lines":[{"line_number":3187,"context_line":"            # If we fail umounting or denying the share we may have a"},{"line_number":3188,"context_line":"            # dangling share_mapping in the DB (share_mapping entry with an"},{"line_number":3189,"context_line":"            # instance that does not exist anymore)."},{"line_number":3190,"context_line":"            self._umount_share(context, instance, share)"},{"line_number":3191,"context_line":"            self.deny_share(context, instance, share)"},{"line_number":3192,"context_line":""},{"line_number":3193,"context_line":"        connector \u003d None"},{"line_number":3194,"context_line":"        for bdm in vol_bdms:"},{"line_number":3195,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":20,"id":"b1b6d934_d927bec7","line":3192,"range":{"start_line":3190,"start_character":0,"end_line":3192,"end_character":0},"updated":"2024-05-22 16:55:24.000000000","message":"If either of these fails that currently leads to an instance in ERROR state, the rest of the share_mappings are not tried to be unmounted or denied and the delete is stopped. However in the spec we wrote:\n\u003e   - If either the unmount or policy removal fails, the instance\n\u003e    itself is deleted, but a share mapping record may remain in the database.\n\u003e    A future enhancement will include a periodic task designed to unmount,\n\u003e    remove the policy, and clean up any leaked share mappings.","commit_id":"f0f713da602bab9c7b1938df8abbf14a92c896bb"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"d37378d593bc9234af51b191f7d406c4e9137fad","unresolved":false,"context_lines":[{"line_number":3187,"context_line":"            # If we fail umounting or denying the share we may have a"},{"line_number":3188,"context_line":"            # dangling share_mapping in the DB (share_mapping entry with an"},{"line_number":3189,"context_line":"            # instance that does not exist anymore)."},{"line_number":3190,"context_line":"            self._umount_share(context, instance, share)"},{"line_number":3191,"context_line":"            self.deny_share(context, instance, share)"},{"line_number":3192,"context_line":""},{"line_number":3193,"context_line":"        connector \u003d None"},{"line_number":3194,"context_line":"        for bdm in vol_bdms:"},{"line_number":3195,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":20,"id":"3817a030_fc650f46","line":3192,"range":{"start_line":3190,"start_character":0,"end_line":3192,"end_character":0},"in_reply_to":"b1b6d934_d927bec7","updated":"2024-06-03 14:59:03.000000000","message":"Done","commit_id":"f0f713da602bab9c7b1938df8abbf14a92c896bb"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"81c632e9209ace4abbf20eb09a9c976290680d1b","unresolved":true,"context_lines":[{"line_number":4292,"context_line":"        for share_mapping in objects.ShareMappingList.get_by_instance_uuid("},{"line_number":4293,"context_line":"            context, instance.uuid"},{"line_number":4294,"context_line":"        ):"},{"line_number":4295,"context_line":"            share_info.objects.append(share_mapping)"},{"line_number":4296,"context_line":""},{"line_number":4297,"context_line":"            if ("},{"line_number":4298,"context_line":"                share_mapping.status \u003d\u003d fields.ShareMappingStatus.ATTACHING or"}],"source_content_type":"text/x-python","patch_set":20,"id":"d025c415_ec481c79","line":4295,"updated":"2024-05-22 16:55:24.000000000","message":"I feel this change does not belong to this patch. Is it so?","commit_id":"f0f713da602bab9c7b1938df8abbf14a92c896bb"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"621195e92fca788e3e8fdeb87d1695537b1e026c","unresolved":false,"context_lines":[{"line_number":4292,"context_line":"        for share_mapping in objects.ShareMappingList.get_by_instance_uuid("},{"line_number":4293,"context_line":"            context, instance.uuid"},{"line_number":4294,"context_line":"        ):"},{"line_number":4295,"context_line":"            share_info.objects.append(share_mapping)"},{"line_number":4296,"context_line":""},{"line_number":4297,"context_line":"            if ("},{"line_number":4298,"context_line":"                share_mapping.status \u003d\u003d fields.ShareMappingStatus.ATTACHING or"}],"source_content_type":"text/x-python","patch_set":20,"id":"53958fc9_1d59cf63","line":4295,"in_reply_to":"d025c415_ec481c79","updated":"2024-06-05 12:49:26.000000000","message":"Done","commit_id":"f0f713da602bab9c7b1938df8abbf14a92c896bb"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fd16a2b735886c2e89b7fca766a54d420db4ee5e","unresolved":true,"context_lines":[{"line_number":3183,"context_line":""},{"line_number":3184,"context_line":"        timer.restart()"},{"line_number":3185,"context_line":""},{"line_number":3186,"context_line":"        for share in share_info:"},{"line_number":3187,"context_line":"            # If we fail umounting or denying the share we may have a"},{"line_number":3188,"context_line":"            # dangling share_mapping in the DB (share_mapping entry with an"},{"line_number":3189,"context_line":"            # instance that does not exist anymore)."}],"source_content_type":"text/x-python","patch_set":24,"id":"e45f4cf4_9c38e3cc","line":3186,"range":{"start_line":3186,"start_character":21,"end_line":3186,"end_character":31},"updated":"2024-07-04 10:24:48.000000000","message":"share_info could be not set, right?","commit_id":"6adcdcc028f087eb1ac9c3139773979470599598"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"48c1ce195de435c469c940c9c0fcdb6cbcdb3c84","unresolved":false,"context_lines":[{"line_number":3183,"context_line":""},{"line_number":3184,"context_line":"        timer.restart()"},{"line_number":3185,"context_line":""},{"line_number":3186,"context_line":"        for share in share_info:"},{"line_number":3187,"context_line":"            # If we fail umounting or denying the share we may have a"},{"line_number":3188,"context_line":"            # dangling share_mapping in the DB (share_mapping entry with an"},{"line_number":3189,"context_line":"            # instance that does not exist anymore)."}],"source_content_type":"text/x-python","patch_set":24,"id":"ee24ece1_2f2a56e0","line":3186,"range":{"start_line":3186,"start_character":21,"end_line":3186,"end_character":31},"in_reply_to":"e45f4cf4_9c38e3cc","updated":"2024-07-16 12:47:09.000000000","message":"Done","commit_id":"6adcdcc028f087eb1ac9c3139773979470599598"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c214b1604e5b911a250f7ecb360f85627009f494","unresolved":true,"context_lines":[{"line_number":3191,"context_line":"            try:"},{"line_number":3192,"context_line":"                self.deny_share(context, instance, share)"},{"line_number":3193,"context_line":"                self._umount_share(context, instance, share)"},{"line_number":3194,"context_line":"            except ("},{"line_number":3195,"context_line":"                exception.ShareUmountError,"},{"line_number":3196,"context_line":"                exception.ShareNotFound,"},{"line_number":3197,"context_line":"                exception.ShareAccessNotFound,"}],"source_content_type":"text/x-python","patch_set":25,"id":"81e9d685_b4fbb9fc","line":3194,"updated":"2024-07-31 07:49:19.000000000","message":"something is still missing here as I get the following exception (if the share is already deleted) and the VM stuck in ERROR state.\nDo we have a missing exception translation in the manila client code?\n\n```\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [None req-7e2c8c48-0ded-41f9-ba09-355ea3f8aba1 demo demo] [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] Setting instance vm_state to ERROR: nova.exception.InvalidInput: Invalid input received: BadRequestException: 400: Client Error for url: http://10.0.76.222/share/v2/share-access-rules?share_id\u003d55458016-abf3-4237-a958-97312edf15ce, Share 55458016-abf3-4237-a958-97312edf15ce not found.\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] Traceback (most recent call last):\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 128, in wrapper\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     res \u003d method(self, *args, **kwargs)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 146, in wrapper\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     res \u003d method(self, *args, **kwargs)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 240, in get_access\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     for access in access_list:\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/openstacksdk/openstack/resource.py\", line 2100, in list\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     exceptions.raise_from_response(response)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/openstacksdk/openstack/exceptions.py\", line 247, in raise_from_response\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     raise cls(\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] openstack.exceptions.BadRequestException: BadRequestException: 400: Client Error for url: http://10.0.76.222/share/v2/share-access-rules?share_id\u003d55458016-abf3-4237-a958-97312edf15ce, Share 55458016-abf3-4237-a958-97312edf15ce not found.\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] \nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] The above exception was the direct cause of the following exception:\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] \nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] Traceback (most recent call last):\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/compute/manager.py\", line 3374, in do_terminate_instance\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     self._delete_instance(context, instance, bdms)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/compute/manager.py\", line 3309, in _delete_instance\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     self._shutdown_instance(context, instance, bdms)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/compute/manager.py\", line 3192, in _shutdown_instance\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     self.deny_share(context, instance, share)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/oslo.messaging/oslo_messaging/rpc/server.py\", line 244, in inner\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     return func(*args, **kwargs)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/exception_wrapper.py\", line 65, in wrapped\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     with excutils.save_and_reraise_exception():\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 227, in __exit__\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     self.force_reraise()\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     raise self.value\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/exception_wrapper.py\", line 63, in wrapped\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     return f(self, context, *args, **kw)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/compute/manager.py\", line 4841, in deny_share\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     _deny_share(context, instance, share_mapping)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_concurrency/lockutils.py\", line 412, in inner\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     return f(*args, **kwargs)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/compute/manager.py\", line 4817, in _deny_share\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     self.manila_api.deny(\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 128, in wrapper\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     res \u003d method(self, *args, **kwargs)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 177, in wrapper\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     res \u003d method(self, *args, **kwargs)\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 315, in deny\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     access \u003d self.get_access(\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]   File \"/opt/stack/nova/nova/share/manila.py\", line 133, in wrapper\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]     raise exception.InvalidInput(reason\u003dstr(exc)) from exc\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae] nova.exception.InvalidInput: Invalid input received: BadRequestException: 400: Client Error for url: http://10.0.76.222/share/v2/share-access-rules?share_id\u003d55458016-abf3-4237-a958-97312edf15ce, Share 55458016-abf3-4237-a958-97312edf15ce not found.\nJul 31 07:42:57 gibi-devstack-aio-jammy nova-compute[3060154]: ERROR nova.compute.manager [instance: 055b72fc-0eba-40c0-aba1-a67ece6fe9ae]\n```","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7625c7c34c6287c257b3206a29080dcd2495a22a","unresolved":true,"context_lines":[{"line_number":3191,"context_line":"            try:"},{"line_number":3192,"context_line":"                self.deny_share(context, instance, share)"},{"line_number":3193,"context_line":"                self._umount_share(context, instance, share)"},{"line_number":3194,"context_line":"            except ("},{"line_number":3195,"context_line":"                exception.ShareUmountError,"},{"line_number":3196,"context_line":"                exception.ShareNotFound,"},{"line_number":3197,"context_line":"                exception.ShareAccessNotFound,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9349200b_2eeac1c8","line":3194,"in_reply_to":"34b8bed2_a07e5c36","updated":"2024-07-31 11:56:55.000000000","message":"I can see this after the sdk bump too.","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"332d401e532ca92ad5d0694e9ff0a96b6c496dc8","unresolved":false,"context_lines":[{"line_number":3191,"context_line":"            try:"},{"line_number":3192,"context_line":"                self.deny_share(context, instance, share)"},{"line_number":3193,"context_line":"                self._umount_share(context, instance, share)"},{"line_number":3194,"context_line":"            except ("},{"line_number":3195,"context_line":"                exception.ShareUmountError,"},{"line_number":3196,"context_line":"                exception.ShareNotFound,"},{"line_number":3197,"context_line":"                exception.ShareAccessNotFound,"}],"source_content_type":"text/x-python","patch_set":25,"id":"ca90fac0_2552e254","line":3194,"in_reply_to":"67da31c9_030e6b6d","updated":"2024-08-28 13:12:39.000000000","message":"Acknowledged","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"887dcde364e6813124662691a83b04af03814a43","unresolved":true,"context_lines":[{"line_number":3191,"context_line":"            try:"},{"line_number":3192,"context_line":"                self.deny_share(context, instance, share)"},{"line_number":3193,"context_line":"                self._umount_share(context, instance, share)"},{"line_number":3194,"context_line":"            except ("},{"line_number":3195,"context_line":"                exception.ShareUmountError,"},{"line_number":3196,"context_line":"                exception.ShareNotFound,"},{"line_number":3197,"context_line":"                exception.ShareAccessNotFound,"}],"source_content_type":"text/x-python","patch_set":25,"id":"f015d114_dff6a41d","line":3194,"in_reply_to":"81e9d685_b4fbb9fc","updated":"2024-07-31 07:58:56.000000000","message":"I\u0027m wondering if this is due to different sdk versions. Nova defines \u003e 0.35 which is very old. Does nova work with that old sdk version as well as any newer versions as well up until our upper constraints that it 3.3.0?\n\nhttps://github.com/openstack/nova/blob/bb2d7f9cad577f3a32cb9523e2b1d9a6d6db3407/requirements.txt#L65\nhttps://github.com/openstack/requirements/blob/master/upper-constraints.txt#L474","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"632fd3d34fbf94d12e4679ece070b6bbace62e03","unresolved":true,"context_lines":[{"line_number":3191,"context_line":"            try:"},{"line_number":3192,"context_line":"                self.deny_share(context, instance, share)"},{"line_number":3193,"context_line":"                self._umount_share(context, instance, share)"},{"line_number":3194,"context_line":"            except ("},{"line_number":3195,"context_line":"                exception.ShareUmountError,"},{"line_number":3196,"context_line":"                exception.ShareNotFound,"},{"line_number":3197,"context_line":"                exception.ShareAccessNotFound,"}],"source_content_type":"text/x-python","patch_set":25,"id":"67da31c9_030e6b6d","line":3194,"in_reply_to":"9349200b_2eeac1c8","updated":"2024-08-26 14:54:48.000000000","message":"Corrected in manila abstraction.","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c6fb099ed49aee877aa1e030c8f2793a5e021af8","unresolved":true,"context_lines":[{"line_number":3191,"context_line":"            try:"},{"line_number":3192,"context_line":"                self.deny_share(context, instance, share)"},{"line_number":3193,"context_line":"                self._umount_share(context, instance, share)"},{"line_number":3194,"context_line":"            except ("},{"line_number":3195,"context_line":"                exception.ShareUmountError,"},{"line_number":3196,"context_line":"                exception.ShareNotFound,"},{"line_number":3197,"context_line":"                exception.ShareAccessNotFound,"}],"source_content_type":"text/x-python","patch_set":25,"id":"34b8bed2_a07e5c36","line":3194,"in_reply_to":"f015d114_dff6a41d","updated":"2024-07-31 08:00:01.000000000","message":"In my env I have:\n```\nstack@gibi-devstack-aio-jammy:~/nova$ pip freeze | grep sdk\nopenstacksdk\u003d\u003d1.0.1\n```\nso I will bump that and retest. But we need to define the version we really support.","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"74c5b54355fca04212d405acb979a151c47afe35","unresolved":true,"context_lines":[{"line_number":4299,"context_line":"        for bdm in bdms_to_delete:"},{"line_number":4300,"context_line":"            bdms.objects.remove(bdm)"},{"line_number":4301,"context_line":""},{"line_number":4302,"context_line":"    def _get_share_info(self, context, instance, check_status\u003dTrue):"},{"line_number":4303,"context_line":"        share_info \u003d objects.ShareMappingList(context)"},{"line_number":4304,"context_line":""},{"line_number":4305,"context_line":"        for share_mapping in objects.ShareMappingList.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":25,"id":"9f3c233c_4e6ceef0","line":4302,"range":{"start_line":4302,"start_character":49,"end_line":4302,"end_character":66},"updated":"2024-07-25 14:35:37.000000000","message":"instead of adding this parameter, you could just continue to check the exception on L3145 and then do something like \n\n```\ntry:\n  share_info \u003d self._get_shareinfo()\nexcept ThatException:\n  # NOTE(rribaud): we would want to see whether we have share infos later\n  share_info \u003d []\n```","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"45896c52df773089e1615017ea04c308a07f1fe8","unresolved":false,"context_lines":[{"line_number":4299,"context_line":"        for bdm in bdms_to_delete:"},{"line_number":4300,"context_line":"            bdms.objects.remove(bdm)"},{"line_number":4301,"context_line":""},{"line_number":4302,"context_line":"    def _get_share_info(self, context, instance, check_status\u003dTrue):"},{"line_number":4303,"context_line":"        share_info \u003d objects.ShareMappingList(context)"},{"line_number":4304,"context_line":""},{"line_number":4305,"context_line":"        for share_mapping in objects.ShareMappingList.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":25,"id":"c6d737b7_8a91e1be","line":4302,"range":{"start_line":4302,"start_character":49,"end_line":4302,"end_character":66},"in_reply_to":"01169844_1cc2e2df","updated":"2024-11-13 14:43:59.000000000","message":"Done","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"632fd3d34fbf94d12e4679ece070b6bbace62e03","unresolved":true,"context_lines":[{"line_number":4299,"context_line":"        for bdm in bdms_to_delete:"},{"line_number":4300,"context_line":"            bdms.objects.remove(bdm)"},{"line_number":4301,"context_line":""},{"line_number":4302,"context_line":"    def _get_share_info(self, context, instance, check_status\u003dTrue):"},{"line_number":4303,"context_line":"        share_info \u003d objects.ShareMappingList(context)"},{"line_number":4304,"context_line":""},{"line_number":4305,"context_line":"        for share_mapping in objects.ShareMappingList.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":25,"id":"01169844_1cc2e2df","line":4302,"range":{"start_line":4302,"start_character":49,"end_line":4302,"end_character":66},"in_reply_to":"9f3c233c_4e6ceef0","updated":"2024-08-26 14:54:48.000000000","message":"The intent here is not to have an empty list but to have the correct ones on which to take the required action.\nE.g., You may have two shares with a good status and 1 with UnexpectedStatus.\nSo we will manage correctly the two first ones and do what we can with the one in UnexpectedStatus (it could leak)","commit_id":"a500661748439f4d7317c3971d6fc93db8ea39aa"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d3055cd867e6fdc09a58e58c681c00c4908a5df8","unresolved":true,"context_lines":[{"line_number":1328,"context_line":"            self._get_instance_block_device_info(context, instance)"},{"line_number":1329,"context_line":""},{"line_number":1330,"context_line":"        share_info \u003d self._get_share_info(context, instance)"},{"line_number":1331,"context_line":"        self._mount_all_shares(context, instance, share_info)"},{"line_number":1332,"context_line":""},{"line_number":1333,"context_line":"        try:"},{"line_number":1334,"context_line":"            self.driver.resume_state_on_host_boot("}],"source_content_type":"text/x-python","patch_set":27,"id":"b6394ce5_b863c0a2","line":1331,"updated":"2024-08-28 13:02:53.000000000","message":"This is in the wrong patch. Please move it to the previous one.","commit_id":"c78303b352fccff230ede0801111b5101105d639"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"97ccf0cf32d8687bbdbf94f37e1971451c1e8aad","unresolved":false,"context_lines":[{"line_number":1328,"context_line":"            self._get_instance_block_device_info(context, instance)"},{"line_number":1329,"context_line":""},{"line_number":1330,"context_line":"        share_info \u003d self._get_share_info(context, instance)"},{"line_number":1331,"context_line":"        self._mount_all_shares(context, instance, share_info)"},{"line_number":1332,"context_line":""},{"line_number":1333,"context_line":"        try:"},{"line_number":1334,"context_line":"            self.driver.resume_state_on_host_boot("}],"source_content_type":"text/x-python","patch_set":27,"id":"fe4b6f55_da05f673","line":1331,"in_reply_to":"b6394ce5_b863c0a2","updated":"2024-09-09 16:12:41.000000000","message":"Done","commit_id":"c78303b352fccff230ede0801111b5101105d639"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64c4a80d2ced13e3a4bf1e7d34e2d12853c0b557","unresolved":true,"context_lines":[{"line_number":4310,"context_line":"        ):"},{"line_number":4311,"context_line":"            share_info.objects.append(share_mapping)"},{"line_number":4312,"context_line":""},{"line_number":4313,"context_line":"            if check_status:"},{"line_number":4314,"context_line":"                fsm \u003d fields.ShareMappingStatus"},{"line_number":4315,"context_line":"                if ("},{"line_number":4316,"context_line":"                    share_mapping.status \u003d\u003d fsm.ATTACHING or"}],"source_content_type":"text/x-python","patch_set":31,"id":"ec914751_dc2bbd79","line":4313,"updated":"2024-10-11 11:43:05.000000000","message":"This change has no test coverage","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"59d7e40db04d95a5e7883200fade0318c8a8b425","unresolved":false,"context_lines":[{"line_number":4310,"context_line":"        ):"},{"line_number":4311,"context_line":"            share_info.objects.append(share_mapping)"},{"line_number":4312,"context_line":""},{"line_number":4313,"context_line":"            if check_status:"},{"line_number":4314,"context_line":"                fsm \u003d fields.ShareMappingStatus"},{"line_number":4315,"context_line":"                if ("},{"line_number":4316,"context_line":"                    share_mapping.status \u003d\u003d fsm.ATTACHING or"}],"source_content_type":"text/x-python","patch_set":31,"id":"7935a22b_a95a4434","line":4313,"in_reply_to":"ec914751_dc2bbd79","updated":"2024-11-13 20:36:39.000000000","message":"Done","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"45896c52df773089e1615017ea04c308a07f1fe8","unresolved":true,"context_lines":[{"line_number":4310,"context_line":"        ):"},{"line_number":4311,"context_line":"            share_info.objects.append(share_mapping)"},{"line_number":4312,"context_line":""},{"line_number":4313,"context_line":"            if check_status:"},{"line_number":4314,"context_line":"                fsm \u003d fields.ShareMappingStatus"},{"line_number":4315,"context_line":"                if ("},{"line_number":4316,"context_line":"                    share_mapping.status \u003d\u003d fsm.ATTACHING or"}],"source_content_type":"text/x-python","patch_set":31,"id":"913a4b91_ad815044","line":4313,"in_reply_to":"ec914751_dc2bbd79","updated":"2024-11-13 14:43:59.000000000","message":"valid point","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0d0b01e58a1163caf9c51fe3466837acccc19dec","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"9c767a41_54f359b2","updated":"2024-06-18 11:57:22.000000000","message":"please add test coverage for the unmount and deny logic added to the delete codepath.","commit_id":"babf7d2bc0f13f263f09044362edc77bc57cabb0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c3b629c824b84bc853f037ed38861dcdb43bb0ca","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"c5dac8eb_12795c8e","in_reply_to":"6b219626_39e33cb5","updated":"2024-07-02 11:26:52.000000000","message":"Where it was added? I don\u0027t see it in the diff between PS23 and 24","commit_id":"babf7d2bc0f13f263f09044362edc77bc57cabb0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"48c1ce195de435c469c940c9c0fcdb6cbcdb3c84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"630ab2ba_2addfabe","in_reply_to":"9b7a76e3_89ee09e6","updated":"2024-07-16 12:47:09.000000000","message":"Added specific tests for this case.","commit_id":"babf7d2bc0f13f263f09044362edc77bc57cabb0"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"cf3f77b326ee827e3ff583c63def8443ea115075","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"6b219626_39e33cb5","in_reply_to":"9c767a41_54f359b2","updated":"2024-06-26 16:09:51.000000000","message":"Done","commit_id":"babf7d2bc0f13f263f09044362edc77bc57cabb0"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fd16a2b735886c2e89b7fca766a54d420db4ee5e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"9b7a76e3_89ee09e6","in_reply_to":"c5dac8eb_12795c8e","updated":"2024-07-04 10:24:48.000000000","message":"Yeah, please check that we don\u0027t return an exception when deleting the instance when the share is getting an issue.","commit_id":"babf7d2bc0f13f263f09044362edc77bc57cabb0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64c4a80d2ced13e3a4bf1e7d34e2d12853c0b557","unresolved":true,"context_lines":[{"line_number":1737,"context_line":"                              self.compute._get_power_state,"},{"line_number":1738,"context_line":"                              instance)"},{"line_number":1739,"context_line":""},{"line_number":1740,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_mount_all_shares\u0027)"},{"line_number":1741,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_get_share_info\u0027)"},{"line_number":1742,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_get_power_state\u0027)"},{"line_number":1743,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027plug_vifs\u0027)"},{"line_number":1744,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027resume_state_on_host_boot\u0027)"},{"line_number":1745,"context_line":"    @mock.patch.object(manager.ComputeManager,"},{"line_number":1746,"context_line":"                       \u0027_get_instance_block_device_info\u0027)"},{"line_number":1747,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_set_instance_obj_error_state\u0027)"},{"line_number":1748,"context_line":"    def test_init_instance_failed_resume_sets_error(self, mock_set_inst,"},{"line_number":1749,"context_line":"        mock_get_inst, mock_resume, mock_plug, mock_get_power,"},{"line_number":1750,"context_line":"        mock_get_share_info, mock_mount):"},{"line_number":1751,"context_line":"        instance \u003d fake_instance.fake_instance_obj("},{"line_number":1752,"context_line":"                self.context,"},{"line_number":1753,"context_line":"                uuid\u003duuids.instance,"},{"line_number":1754,"context_line":"                info_cache\u003dNone,"},{"line_number":1755,"context_line":"                power_state\u003dpower_state.RUNNING,"},{"line_number":1756,"context_line":"                vm_state\u003dvm_states.ACTIVE,"},{"line_number":1757,"context_line":"                task_state\u003dNone,"},{"line_number":1758,"context_line":"                host\u003dself.compute.host,"},{"line_number":1759,"context_line":"                expected_attrs\u003d[\u0027info_cache\u0027])"},{"line_number":1760,"context_line":""},{"line_number":1761,"context_line":"        self.flags(resume_guests_state_on_host_boot\u003dTrue)"},{"line_number":1762,"context_line":"        mock_get_power.side_effect \u003d (power_state.SHUTDOWN,"},{"line_number":1763,"context_line":"                                      power_state.SHUTDOWN)"},{"line_number":1764,"context_line":"        mock_get_inst.return_value \u003d \u0027fake-bdm\u0027"},{"line_number":1765,"context_line":"        mock_resume.side_effect \u003d test.TestingException"},{"line_number":1766,"context_line":"        share_info \u003d objects.ShareMappingList()"},{"line_number":1767,"context_line":"        mock_get_share_info.return_value \u003d share_info"},{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"        self.compute._init_instance(\u0027fake-context\u0027, instance)"},{"line_number":1770,"context_line":"        mock_get_power.assert_has_calls([mock.call(instance),"},{"line_number":1771,"context_line":"                                         mock.call(instance)])"},{"line_number":1772,"context_line":"        mock_plug.assert_called_once_with(instance, mock.ANY)"},{"line_number":1773,"context_line":"        mock_get_inst.assert_called_once_with(mock.ANY, instance)"},{"line_number":1774,"context_line":"        mock_resume.assert_called_once_with(mock.ANY, instance, mock.ANY,"},{"line_number":1775,"context_line":"                                            share_info, \u0027fake-bdm\u0027)"},{"line_number":1776,"context_line":"        mock_set_inst.assert_called_once_with(instance)"},{"line_number":1777,"context_line":"        mock_get_share_info.assert_called_once_with(mock.ANY, instance)"},{"line_number":1778,"context_line":"        mock_mount.assert_called_once_with(mock.ANY, instance, share_info)"},{"line_number":1779,"context_line":""},{"line_number":1780,"context_line":"    @mock.patch.object(objects.BlockDeviceMapping, \u0027destroy\u0027)"},{"line_number":1781,"context_line":"    @mock.patch.object(objects.BlockDeviceMappingList, \u0027get_by_instance_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":31,"id":"68c428ba_9b3b4fdb","line":1778,"range":{"start_line":1740,"start_character":0,"end_line":1778,"end_character":74},"updated":"2024-10-11 11:43:05.000000000","message":"I think this test change belongs to the previous patch as that adds the resume guest on host reboot support.","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"59d7e40db04d95a5e7883200fade0318c8a8b425","unresolved":false,"context_lines":[{"line_number":1737,"context_line":"                              self.compute._get_power_state,"},{"line_number":1738,"context_line":"                              instance)"},{"line_number":1739,"context_line":""},{"line_number":1740,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_mount_all_shares\u0027)"},{"line_number":1741,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_get_share_info\u0027)"},{"line_number":1742,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_get_power_state\u0027)"},{"line_number":1743,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027plug_vifs\u0027)"},{"line_number":1744,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027resume_state_on_host_boot\u0027)"},{"line_number":1745,"context_line":"    @mock.patch.object(manager.ComputeManager,"},{"line_number":1746,"context_line":"                       \u0027_get_instance_block_device_info\u0027)"},{"line_number":1747,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_set_instance_obj_error_state\u0027)"},{"line_number":1748,"context_line":"    def test_init_instance_failed_resume_sets_error(self, mock_set_inst,"},{"line_number":1749,"context_line":"        mock_get_inst, mock_resume, mock_plug, mock_get_power,"},{"line_number":1750,"context_line":"        mock_get_share_info, mock_mount):"},{"line_number":1751,"context_line":"        instance \u003d fake_instance.fake_instance_obj("},{"line_number":1752,"context_line":"                self.context,"},{"line_number":1753,"context_line":"                uuid\u003duuids.instance,"},{"line_number":1754,"context_line":"                info_cache\u003dNone,"},{"line_number":1755,"context_line":"                power_state\u003dpower_state.RUNNING,"},{"line_number":1756,"context_line":"                vm_state\u003dvm_states.ACTIVE,"},{"line_number":1757,"context_line":"                task_state\u003dNone,"},{"line_number":1758,"context_line":"                host\u003dself.compute.host,"},{"line_number":1759,"context_line":"                expected_attrs\u003d[\u0027info_cache\u0027])"},{"line_number":1760,"context_line":""},{"line_number":1761,"context_line":"        self.flags(resume_guests_state_on_host_boot\u003dTrue)"},{"line_number":1762,"context_line":"        mock_get_power.side_effect \u003d (power_state.SHUTDOWN,"},{"line_number":1763,"context_line":"                                      power_state.SHUTDOWN)"},{"line_number":1764,"context_line":"        mock_get_inst.return_value \u003d \u0027fake-bdm\u0027"},{"line_number":1765,"context_line":"        mock_resume.side_effect \u003d test.TestingException"},{"line_number":1766,"context_line":"        share_info \u003d objects.ShareMappingList()"},{"line_number":1767,"context_line":"        mock_get_share_info.return_value \u003d share_info"},{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"        self.compute._init_instance(\u0027fake-context\u0027, instance)"},{"line_number":1770,"context_line":"        mock_get_power.assert_has_calls([mock.call(instance),"},{"line_number":1771,"context_line":"                                         mock.call(instance)])"},{"line_number":1772,"context_line":"        mock_plug.assert_called_once_with(instance, mock.ANY)"},{"line_number":1773,"context_line":"        mock_get_inst.assert_called_once_with(mock.ANY, instance)"},{"line_number":1774,"context_line":"        mock_resume.assert_called_once_with(mock.ANY, instance, mock.ANY,"},{"line_number":1775,"context_line":"                                            share_info, \u0027fake-bdm\u0027)"},{"line_number":1776,"context_line":"        mock_set_inst.assert_called_once_with(instance)"},{"line_number":1777,"context_line":"        mock_get_share_info.assert_called_once_with(mock.ANY, instance)"},{"line_number":1778,"context_line":"        mock_mount.assert_called_once_with(mock.ANY, instance, share_info)"},{"line_number":1779,"context_line":""},{"line_number":1780,"context_line":"    @mock.patch.object(objects.BlockDeviceMapping, \u0027destroy\u0027)"},{"line_number":1781,"context_line":"    @mock.patch.object(objects.BlockDeviceMappingList, \u0027get_by_instance_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":31,"id":"f148bfaf_0b6fbdd4","line":1778,"range":{"start_line":1740,"start_character":0,"end_line":1778,"end_character":74},"in_reply_to":"68c428ba_9b3b4fdb","updated":"2024-11-13 20:36:39.000000000","message":"Done","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"45896c52df773089e1615017ea04c308a07f1fe8","unresolved":true,"context_lines":[{"line_number":1737,"context_line":"                              self.compute._get_power_state,"},{"line_number":1738,"context_line":"                              instance)"},{"line_number":1739,"context_line":""},{"line_number":1740,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_mount_all_shares\u0027)"},{"line_number":1741,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_get_share_info\u0027)"},{"line_number":1742,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_get_power_state\u0027)"},{"line_number":1743,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027plug_vifs\u0027)"},{"line_number":1744,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027resume_state_on_host_boot\u0027)"},{"line_number":1745,"context_line":"    @mock.patch.object(manager.ComputeManager,"},{"line_number":1746,"context_line":"                       \u0027_get_instance_block_device_info\u0027)"},{"line_number":1747,"context_line":"    @mock.patch.object(manager.ComputeManager, \u0027_set_instance_obj_error_state\u0027)"},{"line_number":1748,"context_line":"    def test_init_instance_failed_resume_sets_error(self, mock_set_inst,"},{"line_number":1749,"context_line":"        mock_get_inst, mock_resume, mock_plug, mock_get_power,"},{"line_number":1750,"context_line":"        mock_get_share_info, mock_mount):"},{"line_number":1751,"context_line":"        instance \u003d fake_instance.fake_instance_obj("},{"line_number":1752,"context_line":"                self.context,"},{"line_number":1753,"context_line":"                uuid\u003duuids.instance,"},{"line_number":1754,"context_line":"                info_cache\u003dNone,"},{"line_number":1755,"context_line":"                power_state\u003dpower_state.RUNNING,"},{"line_number":1756,"context_line":"                vm_state\u003dvm_states.ACTIVE,"},{"line_number":1757,"context_line":"                task_state\u003dNone,"},{"line_number":1758,"context_line":"                host\u003dself.compute.host,"},{"line_number":1759,"context_line":"                expected_attrs\u003d[\u0027info_cache\u0027])"},{"line_number":1760,"context_line":""},{"line_number":1761,"context_line":"        self.flags(resume_guests_state_on_host_boot\u003dTrue)"},{"line_number":1762,"context_line":"        mock_get_power.side_effect \u003d (power_state.SHUTDOWN,"},{"line_number":1763,"context_line":"                                      power_state.SHUTDOWN)"},{"line_number":1764,"context_line":"        mock_get_inst.return_value \u003d \u0027fake-bdm\u0027"},{"line_number":1765,"context_line":"        mock_resume.side_effect \u003d test.TestingException"},{"line_number":1766,"context_line":"        share_info \u003d objects.ShareMappingList()"},{"line_number":1767,"context_line":"        mock_get_share_info.return_value \u003d share_info"},{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"        self.compute._init_instance(\u0027fake-context\u0027, instance)"},{"line_number":1770,"context_line":"        mock_get_power.assert_has_calls([mock.call(instance),"},{"line_number":1771,"context_line":"                                         mock.call(instance)])"},{"line_number":1772,"context_line":"        mock_plug.assert_called_once_with(instance, mock.ANY)"},{"line_number":1773,"context_line":"        mock_get_inst.assert_called_once_with(mock.ANY, instance)"},{"line_number":1774,"context_line":"        mock_resume.assert_called_once_with(mock.ANY, instance, mock.ANY,"},{"line_number":1775,"context_line":"                                            share_info, \u0027fake-bdm\u0027)"},{"line_number":1776,"context_line":"        mock_set_inst.assert_called_once_with(instance)"},{"line_number":1777,"context_line":"        mock_get_share_info.assert_called_once_with(mock.ANY, instance)"},{"line_number":1778,"context_line":"        mock_mount.assert_called_once_with(mock.ANY, instance, share_info)"},{"line_number":1779,"context_line":""},{"line_number":1780,"context_line":"    @mock.patch.object(objects.BlockDeviceMapping, \u0027destroy\u0027)"},{"line_number":1781,"context_line":"    @mock.patch.object(objects.BlockDeviceMappingList, \u0027get_by_instance_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":31,"id":"ba46581b_e9ade682","line":1778,"range":{"start_line":1740,"start_character":0,"end_line":1778,"end_character":74},"in_reply_to":"68c428ba_9b3b4fdb","updated":"2024-11-13 14:43:59.000000000","message":"yup, please move it.","commit_id":"55955d0405f0a02cf3161b8154bbf845ccef18f4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4cb9c6db6f740f464939f731da76c6603541b088","unresolved":true,"context_lines":[{"line_number":2343,"context_line":"            share_info[1].share_id, \u0027232a4b40-306b-4cce-8bf4-689d2e671553\u0027)"},{"line_number":2344,"context_line":"        self.assertEqual(share_info[1].status, \u0027error\u0027)"},{"line_number":2345,"context_line":"        self.assertEqual(share_info[1].tag, \u0027fake_tag2\u0027)"},{"line_number":2346,"context_line":"        self.assertEqual(share_info[1].export_location, \u0027fake_export_location2\u0027)"},{"line_number":2347,"context_line":"        self.assertEqual(share_info[1].share_proto, \u0027NFS\u0027)"},{"line_number":2348,"context_line":""},{"line_number":2349,"context_line":"    @mock.patch(\u0027nova.compute.manager.LOG\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":33,"id":"56c3b235_3c6d7fa5","line":2346,"in_reply_to":"d8a1dc66_a88e8833","updated":"2024-11-14 13:21:55.000000000","message":"\u003e pep8: E501 line too long (80 \u003e 79 characters)\n\nPlease fix.","commit_id":"52bd9a23e9f6d48db4400ac044623ca8e0037f9b"}]}
