What's happening in the first case is that the client parsing is getting confused and turns that into a list of two port updates, one specifying a subnet_id and one specifying an ip_address. The latter ends up giving you the IP you wanted and the first one allocates a random IP from the subnet.
There is no way to just add an IP with the CLI without specifying the old addresses. We don't have a concept of a patch list in the API as far as I can tell.
This seems to be a bug in the way the neutron client breaks down the first case into a list of two things.
For example, the following works to set three IP addresses:
In case someone stumbles across this like I did.
What's happening in the first case is that the client parsing is getting confused and turns that into a list of two port updates, one specifying a subnet_id and one specifying an ip_address. The latter ends up giving you the IP you wanted and the first one allocates a random IP from the subnet.
There is no way to just add an IP with the CLI without specifying the old addresses. We don't have a concept of a patch list in the API as far as I can tell.
This seems to be a bug in the way the neutron client breaks down the first case into a list of two things.
For example, the following works to set three IP addresses:
neutron port-update 7521786b- 6c7f-4385- b5e1-fb95655526 96 --fixed-ips type=dict {ip_address= 42.42.42. 93,ip_address= 42.42.42. 92,ip_address= 42.42.42. 91}