BROOKLYN-212: AutoScaling doesn’t retry if InsufficientCapacity

- Adds Resizable.InsufficientCapacityException, thrown by
  Resizable.resize() if could not grow at all.
- DynamicCluster catches NoMachinesAvailableException, and rethrows
  as InsufficientCapacityException in resize().
- AutoScalerPolicy catches InsufficientCapacityException, and sets
  insufficientCapacityHighWaterMark to record the max size it can get
  to. Does not try again to resize above that, unless the highWaterMark
  is explicitly cleared by reconfiguring that config value.
- Tests:
  - Changes TestCluster to include history of sizes and desiredSizes
  - Changes TestCluster, so can throw InsufficientCapacityException
    when gets to a particular size.
  - Test for DynamicCluster throwing InsufficientCapacityException
  - Test for AutoScalerPolicyMetricTest, to not resize above the failure
    level again.
  - Test for AutoScalerPolicyNoMoreMachinesTest, for when BYON location
    has run out of machines in a DynamicCluster.
10 files changed
tree: d635f4c2ab4391dfaa36317bc45c898b6f3849b3
  1. brooklyn/
  2. brooklyn-dist/
  3. brooklyn-docs/
  4. brooklyn-library/
  5. brooklyn-server/
  6. brooklyn-ui/
  7. docs/
  8. usage/
  9. .gitattributes
  10. .gitignore
  11. LICENSE
  12. NOTICE
  13. pom.xml
  14. README.md
README.md

Brooklyn

Apache Brooklyn Incubator Historic Repo

This is the historical incubator repo for Apache Brooklyn.

Brooklyn has graduated. Visit us here.

The sub-directories in this project correspond to multiple separate repositories in apache. (The link above to brooklyn/ started life exactly as a copy of brooklyn/ in this folder, as an uber-project for the others, including the server and the ui.)

To Build

The code can be built with a:

mvn clean install

This creates a build in usage/dist/target/brooklyn-dist. Run with bin/brooklyn launch.