I had some time to look into this and I found the root cause:
First of all here's traceback printed at debug level:
Traceback (most recent call last):
File "/opt/stack/data/venv/lib/python3.10/site-packages/cliff/app.py", line 410, in run_subcommand
result = cmd.run(parsed_args)
File "/opt/stack/data/venv/lib/python3.10/site-packages/osc_lib/command/command.py", line 38, in run
return super(Command, self).run(parsed_args)
File "/opt/stack/data/venv/lib/python3.10/site-packages/cliff/display.py", line 117, in run
column_names, data = self.take_action(parsed_args)
File "/opt/stack/python-openstackclient/openstackclient/compute/v2/server_migration.py", line 316, in take_action
server_migration = _get_migration_by_uuid(
File "/opt/stack/python-openstackclient/openstackclient/compute/v2/server_migration.py", line 252, in _get_migration_by_uuid
for migration in compute_client.server_migrations(server_id):
File "/opt/stack/openstacksdk/openstack/resource.py", line 2060, in list
uri = base_path % params
KeyError: 'server_uuid'
Please note that the traceback above is incomplete between _get_migration_by_uuid() and list().
I had some time to look into this and I found the root cause:
First of all here's traceback printed at debug level:
Traceback (most recent call last): data/venv/ lib/python3. 10/site- packages/ cliff/app. py", line 410, in run_subcommand parsed_ args) data/venv/ lib/python3. 10/site- packages/ osc_lib/ command/ command. py", line 38, in run parsed_ args) data/venv/ lib/python3. 10/site- packages/ cliff/display. py", line 117, in run action( parsed_ args) python- openstackclient /openstackclien t/compute/ v2/server_ migration. py", line 316, in take_action migration = _get_migration_ by_uuid( python- openstackclient /openstackclien t/compute/ v2/server_ migration. py", line 252, in _get_migration_ by_uuid client. server_ migrations( server_ id): openstacksdk/ openstack/ resource. py", line 2060, in list
File "/opt/stack/
result = cmd.run(
File "/opt/stack/
return super(Command, self).run(
File "/opt/stack/
column_names, data = self.take_
File "/opt/stack/
server_
File "/opt/stack/
for migration in compute_
File "/opt/stack/
uri = base_path % params
KeyError: 'server_uuid'
Please note that the traceback above is incomplete between _get_migration_ by_uuid( ) and list().
However it's quite clear that here we pass 'server_id': /opendev. org/openstack/ openstacksdk/ src/commit/ c2baf1db41cce65 ce1aa8ac8908c4e 0d98f7a94c/ openstack/ compute/ v2/_proxy. py#L2196
https:/
But when we fill in the base_path template here: /opendev. org/openstack/ openstacksdk/ src/commit/ c2baf1db41cce65 ce1aa8ac8908c4e 0d98f7a94c/ openstack/ resource. py#L2060
https:/
We expect 'server_uuid' instead of 'server_id': /opendev. org/openstack/ openstacksdk/ src/commit/ c2baf1db41cce65 ce1aa8ac8908c4e 0d98f7a94c/ openstack/ compute/ v2/server_ migration. py#L21
https:/
Both sides of the conflicting code were merged in: /review. opendev. org/c/openstack /openstacksdk/ +/815099
https:/
I suspect the source of the confusion may have been this: /review. opendev. org/c/openstack /openstacksdk/ +/815099/ 3/openstack/ compute/ v2/server_ migration. py#56
https:/
Since the root cause is in openstacksdk, I'm moving the ticket accordingly.