Matt Riedemann 268190b252 api-ref: explain aggregate set_metadata semantics
This came up as a source of confusion while reviewing
change Ic27195e46502067c87ee9c71a811a3ca3f610b73 because
I thought that the "metadata" key in the
POST /os-aggregates/{aggregate_id}/action (set_metadata)
API was an overwrite of the existing metadata rather than
an update.

The way the Aggregate.update_metadata() method works is that
new entries are added, existing metadata is updated if the
value is not None, otherwise existing entries are removed
if the value is None.

And because of the AggregateAPI.is_safe_to_update_az() method
the special "availability_zone" metadata cannot be unset to None
once it is set. So the only way to remove an AZ is to delete the
aggregate altogether.

This updates the API reference description of the "metadata"
parameter in the "set_metadata" action API.

Change-Id: I6fa9f9691b945b5212b7f951ab0a26b4d3049df9
Related-Bug: #1378904
2019-03-01 12:36:42 -05:00
..
2018-01-18 10:39:24 +00:00
2019-02-13 13:19:06 -05:00
2016-11-11 14:01:51 -05:00
2017-03-31 06:19:01 +00:00
2017-09-07 15:42:31 +02:00
2017-03-29 01:37:56 +08:00
2017-11-28 11:07:36 +08:00
2017-07-13 11:40:43 +08:00