Skip to content

Commit 19a5947

Browse files
committed
ignore policy scaling factor of value 0
1 parent 97e18e4 commit 19a5947

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

scalr/policy/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,23 @@
77
class PolicyAdapter(ABC):
88
def configure(self, config: PolicyConfig) -> None:
99
self.name = config.name
10-
self.target = config.target
11-
self.query = config.query
12-
self.config = config.config
10+
self.target = config.target or 1
11+
self.query = config.query or ""
12+
self.config = config.config or dict()
1313

1414
def get_scaling_factor(self) -> float:
1515
try:
1616
current = self.get_current()
1717
except Exception as ex:
1818
log.error(ex)
19-
return 1
19+
return 0
2020

2121
log.info("Current metric: %s", current)
2222
log.info("Target: %s", self.target)
2323
try:
2424
return self.target / current
2525
except ZeroDivisionError:
26-
return 1
26+
return 0
2727

2828
@abstractclassmethod
2929
def get_current(self) -> float:

scalr/scalr.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,17 @@ def get_factor(self, policy_configs: List[PolicyConfig]) -> float:
6666
policy.configure(config=policy_config)
6767
policy_factor: float = policy.get_scaling_factor()
6868
log.debug(f"Policy scaling factor: {policy_factor}")
69+
70+
if policy_factor == 0:
71+
log.debug(f"Ignoring factor 0, keep current scaling factor: {scaling_factor}")
72+
continue
73+
6974
if policy_factor > scaling_factor:
7075
scaling_factor = policy_factor
7176
log.debug(f"Set scaling factor: {scaling_factor}")
72-
else:
73-
log.debug(f"Keep scaling factor: {scaling_factor}")
77+
continue
78+
79+
log.debug(f"Keep current scaling factor: {scaling_factor}")
7480
return scaling_factor
7581

7682
def scale(self, diff: int, cloud: CloudAdapter) -> None:

0 commit comments

Comments
 (0)