parent
f987571b64
commit
d18884a0b9
|
|
@ -149,13 +149,7 @@ func (r *HorizontalRunnerAutoscalerReconciler) Reconcile(req ctrl.Request) (ctrl
|
||||||
updated = hra.DeepCopy()
|
updated = hra.DeepCopy()
|
||||||
}
|
}
|
||||||
|
|
||||||
var cacheEntries []v1alpha1.CacheEntry
|
cacheEntries := getValidCacheEntries(updated, now)
|
||||||
|
|
||||||
for _, ent := range updated.Status.CacheEntries {
|
|
||||||
if ent.ExpirationTime.Before(&metav1.Time{Time: now}) {
|
|
||||||
cacheEntries = append(cacheEntries, ent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var cacheDuration time.Duration
|
var cacheDuration time.Duration
|
||||||
|
|
||||||
|
|
@ -183,6 +177,18 @@ func (r *HorizontalRunnerAutoscalerReconciler) Reconcile(req ctrl.Request) (ctrl
|
||||||
return ctrl.Result{}, nil
|
return ctrl.Result{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getValidCacheEntries(hra *v1alpha1.HorizontalRunnerAutoscaler, now time.Time) []v1alpha1.CacheEntry {
|
||||||
|
var cacheEntries []v1alpha1.CacheEntry
|
||||||
|
|
||||||
|
for _, ent := range hra.Status.CacheEntries {
|
||||||
|
if ent.ExpirationTime.After(now) {
|
||||||
|
cacheEntries = append(cacheEntries, ent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return cacheEntries
|
||||||
|
}
|
||||||
|
|
||||||
func (r *HorizontalRunnerAutoscalerReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
func (r *HorizontalRunnerAutoscalerReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
||||||
name := "horizontalrunnerautoscaler-controller"
|
name := "horizontalrunnerautoscaler-controller"
|
||||||
if r.Name != "" {
|
if r.Name != "" {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package controllers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/go-cmp/cmp"
|
||||||
|
actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestGetValidCacheEntries(t *testing.T) {
|
||||||
|
now := time.Now()
|
||||||
|
|
||||||
|
hra := &actionsv1alpha1.HorizontalRunnerAutoscaler{
|
||||||
|
Status: actionsv1alpha1.HorizontalRunnerAutoscalerStatus{
|
||||||
|
CacheEntries: []actionsv1alpha1.CacheEntry{
|
||||||
|
{
|
||||||
|
Key: "foo",
|
||||||
|
Value: 1,
|
||||||
|
ExpirationTime: metav1.Time{Time: now.Add(-time.Second)},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Key: "foo",
|
||||||
|
Value: 2,
|
||||||
|
ExpirationTime: metav1.Time{Time: now},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Key: "foo",
|
||||||
|
Value: 3,
|
||||||
|
ExpirationTime: metav1.Time{Time: now.Add(time.Second)},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
revs := getValidCacheEntries(hra, now)
|
||||||
|
|
||||||
|
counts := map[string]int{}
|
||||||
|
|
||||||
|
for _, r := range revs {
|
||||||
|
counts[r.Key] += r.Value
|
||||||
|
}
|
||||||
|
|
||||||
|
want := map[string]int{"foo": 3}
|
||||||
|
|
||||||
|
if d := cmp.Diff(want, counts); d != "" {
|
||||||
|
t.Errorf("%s", d)
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue