Last Modified: Mar 21, 2019
See more info
Known Affected Versions:
11.6.0, 11.6.0 HF1, 11.6.0 HF2, 11.6.0 HF3, 11.6.0 HF4, 11.6.0 HF5, 11.6.0 HF6, 11.6.0 HF7, 11.6.0 HF8, 11.6.1, 11.6.1 HF1, 11.6.1 HF2, 11.6.2, 11.6.2 HF1, 11.6.3, 184.108.40.206, 220.127.116.11, 12.0.0, 12.0.0 HF1, 12.0.0 HF2, 12.0.0 HF3, 12.0.0 HF4, 12.1.0, 12.1.0 HF1, 12.1.0 HF2, 12.1.1, 12.1.1 HF1, 12.1.1 HF2, 12.1.2, 12.1.2 HF1, 12.1.2 HF2, 12.1.3, 18.104.22.168, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 13.1.0, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124
14.0.0, 126.96.36.199, 188.8.131.52, 184.108.40.206
Opened: Jul 08, 2016
Related AskF5 Article: K03469520
Issuing an iControl REST call using 'PUT' on a pool results in a "replace-all-with" behavior that deletes and recreates the pool members with the specified attributes, and uses system-defaults for unspecified attributes. This delete-and-replace behavior causes the monitor status to reset to 'unchecked' for the newly-created pool members; and if health monitors are applied to pool members, the status will eventually transition based on health checks (e.g., to "up" or "down"). This behavior may be surprising if the user expected the iControl REST call using 'PUT' on a pool to leave the monitor status unchanged for individual pool members.
The iControl REST 'PUT' method on a collection overwrites all the members of that collection (e.g., all the members are deleted and re-created using the information provided). Because modifying a pool using 'PUT' causes all the pool members to be deleted and recreated, each pool member health status reverts to 'unchecked' (because the pool member is newly-created). If health monitor(s) are applied to pool members, then each pool member will eventually transition to a new status based on the result of subsequent health checks (e.g., to "up" or "down").
Issuing an iControl REST call using 'PUT' to modify a pool.
Use the iControl REST 'PATCH' method to individually modify members of a pool. This method is "safe" in that it will modify only that pool member, and the monitor health status will persist (based on its previous state and any associated health monitors). Note: You should generally prefer 'PATCH' over 'PUT' for iControl REST calls to modify collections. Using 'PATCH' will (safely) modify individual pool members, while using 'PUT' on the pool will cause "replace-all-with" to delete-and-recreate pool members (thereby resetting individual pool member health status).