Summary:
Added an additional reservation step before instantiating new servers in AWS (either by creating or by starting)
Reservations are per region (reservation group) and grouped by instance type.
To release the reservation after it was successfully utilized we need to do multiple steps:
1) Remove capacity reference from VM.
2) Truncate capacity (set value to 0)
3) Remove capacity and reservation
Feature is disabled by default and could be turned on for any of these operations:
CREATE, EDIT, RESIZE, RESUME
Test Plan:
1) Create universe
2) Edit univerese (add new node)
3) Do smart resize
4) Pause and resume the universe
5) Add read replica
Verify that all that operations used capacity reservation
Reviewers: nsingh, yshchetinin, anijhawan, nbhatia
Reviewed By: nsingh, yshchetinin
Subscribers: nikhil, yugaware
Differential Revision: https://phorge.dev.yugabyte.com/D46049