Earlier  
Posted Nick Remark
#openstack-nova - 2025-04-30
18:55:56 EugenMayer440180 is there an official EOL for the nova cli?
18:57:03 sean-k-mooney yes and no. its been feature frozen for about 2 years
18:57:15 sean-k-mooney the python bindign are also frozen
18:57:35 sean-k-mooney we plan to remove it once heat/watcher/horizon stop usign it
18:58:30 sean-k-mooney EugenMayer440180: https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/server-backup.html
18:58:31 EugenMayer440180 any time horizon here? years, months? 2025.x or 2026?
18:59:05 sean-k-mooney my hope would be in the next 12-24 months but eventlet removal is a higher priority
18:59:56 EugenMayer440180 i tried to onboard the above, but it always failed with 'More than one Image exists with the name'
19:00:02 sean-k-mooney EugenMayer440180: osc has backup and we reached feature partiy with nova client a few years ago. teh only comamnd we did nto port are the host evacuate ones
19:00:13 EugenMayer440180 last time i tried was Nov 2023 though
19:02:12 EugenMayer440180 just tried again and:
19:02:13 EugenMayer440180 openstack --insecure server backup create --os-compute-api-version 2.64 --name "backup-vpn" --type daily --rotate 5 2ba904fb-47e3-4ee8-92b4-66e41bcf2a96
19:02:13 EugenMayer440180 More than one Image exists with the name 'backup-vpn'.
19:02:39 sean-k-mooney well you ment to provide unique names for each backup i belive
19:02:44 sean-k-mooney when passing --name
19:03:10 EugenMayer440180 well it creates a backup, it just fails
19:03:32 EugenMayer440180 (and nova backup actually needs that name to rotate .. so i thing osc will need that too;v
19:04:01 EugenMayer440180 i would love to use a name including a date, but this does not work for rotate - the name has to match the older backups.
19:04:06 sean-k-mooney well osc is using the sdk
19:04:15 sean-k-mooney but lo9oking at the api
19:04:21 sean-k-mooney https://docs.openstack.org/api-ref/compute/#id57
19:04:27 sean-k-mooney the name is not optional
19:05:07 sean-k-mooney EugenMayer440180: its not a bfv instance is it
19:05:26 EugenMayer440180 my point is, nova cli forced the name to be 'always the same' to be able to group the rotation - osc dropts that issue but ends up beeing in need for that too anyway. so with osc you are basically in a no-go spot
19:05:35 EugenMayer440180 bfv?
19:05:45 sean-k-mooney boot form volume
19:06:29 sean-k-mooney osc will default to using the server display name if you dont pass a name for the backup
19:06:49 sean-k-mooney wich is reasonble but do you know if the error is coming form nova or form the client
19:06:57 EugenMayer440180 if osc defaults to that, it will drop an error, since the server-name should be the same every time
19:07:22 EugenMayer440180 oh you mean i should try that once
19:07:59 sean-k-mooney the rotaion i belive is ment ot be server side
19:08:40 sean-k-mooney but im wonderign if your geting a error form nova or if its coming form the client or sdk
19:08:55 EugenMayer440180 the rotation is based on the name - that is no assumption. Tried and tested that, documented that
19:09:03 sean-k-mooney it might be form here https://github.com/openstack/python-openstackclient/blob/master/openstackclient/compute/v2/server_backup.py#L102
19:09:27 sean-k-mooney so they should be saving the uuid that is returned form the backup call and then using that not the name to look upt the image
19:09:49 EugenMayer440180 well is that new on osc? because nova does not do that, it used the name
19:10:08 sean-k-mooney this is an osc bug
19:10:17 EugenMayer440180 or, nova changed that recently, i'am not reading the commits
19:10:25 sean-k-mooney its a regression form when they swaped form the novaclint to the sdk
19:10:39 sean-k-mooney EugenMayer440180: this has not change in nova in many many years
19:10:57 EugenMayer440180 well then i can assure you, the 'uuid lookup' is broken too.
19:11:05 sean-k-mooney but the openstackclinet moved all the nova command to the openstacksdk
19:11:16 sean-k-mooney EugenMayer440180: its not using uuid lookup at all
19:11:22 sean-k-mooney its finding the backup image by name
19:11:49 EugenMayer440180 ok you confused me / i got confused. If the name is required (you mean the server name or the backup name?)
19:12:11 sean-k-mooney in novas api the name of the backup image is required
19:12:41 sean-k-mooney osc is passing that to the backup_server functon
19:12:51 sean-k-mooney but its alos doing image_client.find_image(backup_name, ignore_missing=False)
19:12:52 EugenMayer440180 ok then we are actually on the same spot. The name is required and is used to find the older backups, the lookup group for the rotate, the PK or whatever
19:13:19 sean-k-mooney i htink your error is happening here https://github.com/openstack/python-openstackclient/blob/master/openstackclient/compute/v2/server_backup.py#L102
19:13:32 sean-k-mooney i have an devstafck actully let me check
19:13:47 EugenMayer440180 so changing the name for every backup would be wrong. Thus wht osc requires of me (using a unique name) is wrong (and this is what you pointed out to be a bug)
19:15:22 sean-k-mooney ya it would
19:15:27 EugenMayer440180 not sure how to take it, that the centralized, only way to backup an instance (openstack server backup) is broken for over 1.5 years and nobody has noticed that
19:15:29 sean-k-mooney it will need to be sable
19:15:49 sean-k-mooney EugenMayer440180: you realsise we condiered removing the backup api entirely
19:15:54 sean-k-mooney instend of porting it
19:16:09 sean-k-mooney it is not really used much
19:16:30 sean-k-mooney most people just use snaphost directly instead of backup
19:16:40 sean-k-mooney because backup has never workd form server booted form cinder volume
19:16:50 sean-k-mooney where as the snapshot command do
19:17:49 sean-k-mooney im not saying this should not be fix im saying its a rearly used api/command
19:18:13 EugenMayer440180 yeah, this would explain that. Can you safely say that both 2025.x releases will not remove nova backup? or is this nothing that can be said
19:19:30 sean-k-mooney more or less yes. i expect it to still be a thing in 2026.1
19:20:01 sean-k-mooney it might not exist in 2027.1 or 2027.2 if we mange to get everyone over to the sdk
19:21:04 EugenMayer440180 well i will not get to 2026 anyway, so this is not what i would worry then. I plan to migrate away from openstack in Dec 2025 and want to be sure the backup strategy works as long as that.
19:21:28 sean-k-mooney EugenMayer440180: https://paste.opendev.org/show/bZLdha8p7l5juf4jF8Dw/
19:21:39 EugenMayer440180 Again sean-k-mooney, as all the other times, you helped me so much. I would hand you just another medal for that :)
19:21:44 sean-k-mooney so with a clean vm on master the backup commadn works
19:21:48 sean-k-mooney at least once
19:22:00 sean-k-mooney lets see what happens if i do it again
19:22:14 sean-k-mooney sean@devstack-ui:~$ openstack --os-cloud devstack-admin server backup create --name test --type daily --rotate 5 6a314bdf-66ba-42d5-908a-c13e6f67b214
19:22:16 sean-k-mooney Could not load 'message_list': module 'zaqarclient.queues.v2.cli' has no attribute 'OldListMessages'
19:22:18 sean-k-mooney Could not load 'message_post': module 'zaqarclient.queues.v2.cli' has no attribute 'OldPostMessages'
19:22:20 sean-k-mooney More than one Image exists with the name 'test'.
19:22:32 sean-k-mooney so ya my guess is we only test creating 1 backup
19:22:46 sean-k-mooney and since that works we didnt notice
19:23:01 EugenMayer440180 for a backup supporting rotation? thats elaborated :)
19:23:57 sean-k-mooney https://paste.opendev.org/show/827657/
19:24:07 sean-k-mooney so this is a clinet bug
19:24:15 sean-k-mooney nova responce fine and it fails exactly where i said it would
19:25:13 sean-k-mooney sean@devstack-ui:~$ openstack --os-cloud devstack-admin image list
19:25:15 sean-k-mooney Could not load 'message_list': module 'zaqarclient.queues.v2.cli' has no attribute 'OldListMessages'
19:25:17 sean-k-mooney Could not load 'message_post': module 'zaqarclient.queues.v2.cli' has no attribute 'OldPostMessages'
19:25:19 sean-k-mooney +--------------------------------------+--------------------------+--------+
19:25:21 sean-k-mooney | ID | Name | Status |
19:25:23 sean-k-mooney +--------------------------------------+--------------------------+--------+
19:25:25 sean-k-mooney | 6a1617c4-7b38-47ce-a197-c24932f1f358 | cirros-0.6.3-x86_64-disk | active |
19:25:27 sean-k-mooney | e7feb98c-9eca-463b-a8d1-54d90b265c76 | test | active |
19:25:29 sean-k-mooney | 7631698f-aac7-4ba0-93fd-c4ac7ccdc46f | test | active |
19:25:32 sean-k-mooney | 19aaf0a5-2978-4a8f-ac69-a812e4805750 | test | active |
19:25:33 sean-k-mooney +--------------------------------------+--------------------------+--------+
19:25:40 sean-k-mooney its not happy with that as it expecgin thte name to be unique
19:27:59 sean-k-mooney so we can see in the debug output on line 62 https://paste.opendev.org/show/827657/
19:28:20 sean-k-mooney RESP BODY: {"image_id": "e7feb98c-9eca-463b-a8d1-54d90b265c76"}
19:28:55 sean-k-mooney so the fix should be to save that to var and use it when geting the iamge https://github.com/openstack/python-openstackclient/blob/master/openstackclient/compute/v2/server_backup.py#L94-L102
19:31:26 EugenMayer440180 good catch
19:38:45 sean-k-mooney EugenMayer440180: so unfortunetly to fix this we need to fix the sdk first
19:38:47 sean-k-mooney https://github.com/openstack/openstacksdk/blob/df1b9e4f8ca877a7caddcbb9afc66de225a8dd21/openstack/compute/v2/server.py#L635-L655
19:39:10 sean-k-mooney it should return the id like create_image does https://github.com/openstack/openstacksdk/blob/df1b9e4f8ca877a7caddcbb9afc66de225a8dd21/openstack/compute/v2/server.py#L508-L551

Earlier   Later