keikoproj/minion-manager

minion manager should support events only mode

vgunapati opened this issue · 3 comments

Minion Manager should support Kubernetes events only mode

  • Published structured JSON with IG-name, Bid price, and aws-region, etc
  • Minion Manager will only publish recommendation and will not take any action

How would "Events Only Mode" be enabled or configured?

Currently, minion-manager makes changes to the ASG/launch-configuration based on the bid-price, spot-instance price, running instances, region and instance-type. Whenever minion-manager makes changes, it adds log messages accordingly. For the purpose of this Github issue, the following are the requirements

Requirements

  • Minion-manager should create Kubernetes events everytime it factors in the on-demand price, spot-instance price and comes up with a recommendation. It is possible that no changes are made to existing setup (i.e. instances continue to run as they are). But the recommendation should still generate a Kubernetes event.

  • The actual content of the event should be structured json: {"apiVersion":"v1alpha1","spotPrice":"0.0067", "useSpot": true}. See keikoproj/instance-manager#35 (comment) for more details.

  • The default behavior of minion-manager should be to generate the above event AND make the changes to ASGs as it currently does.

  • In addition, minion-manager should have a new cli option called --events-only.

  • If this option is enabled, minion-manager should only generate the K8s events and not actually make the changes to the ASG/launch-config.

Can we prioritize this? @shrinandj not sure if anyone already working on it.. I can probably try doing this..