jrasell / sherpa

Sherpa is a highly available, fast, and flexible horizontal job scaling for HashiCorp Nomad. It is capable of running in a number of different modes to suit different requirements, and can scale based on Nomad resource metrics or external sources.
Mozilla Public License 2.0
163 stars 8 forks source link

Do not scale job groups which are in deployment #44

Closed jrasell closed 4 years ago

jrasell commented 4 years ago

Describe the solution you'd like. Initially, Sherpa should decline to perform scaling on a job group which is classified as being in deployment by Nomad. Application deployments cause instability and can cause inaccurate resource usage calculations. In the future functionality could be considered which allows the scaling of job groups if they are under certain deployment types, but that is out of scope for this iteration.

Calling the Nomad API for every scaling trigger would be costly, therefore it would be preferable to process updates via a blocking query on the Nomad deployments API. Internally Sherpa could keep a track of deployment within a map, meaning quick and easy lookups and reduced pressure on Nomad.

twitter poll reference: https://twitter.com/jrasell/status/1172817834663141379