Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import (
const (
// consider fallback data good for 7 days
fallbackQueryTimeRoundingOverride = 24 * 7 * time.Hour

defaultFallbackReleases = 1
)

var _ middleware.Middleware = &ReleaseFallback{}
Expand Down Expand Up @@ -365,10 +367,7 @@ func (f *fallbackTestQueryReleasesGenerator) getTestFallbackReleases(ctx context
return nil, errs
}

// currently gets current base plus previous 3
// current base is just for testing but use could be
// extended to no longer require the base query
selectedTimeRanges := calculateFallbackReleases(f.BaseRelease, timeRanges, f.releaseConfigs)
selectedTimeRanges := calculateDefaultFallbackReleases(f.BaseRelease, timeRanges, f.releaseConfigs)

for _, crRelease := range selectedTimeRanges {

Expand Down Expand Up @@ -404,12 +403,15 @@ func (f *fallbackTestQueryReleasesGenerator) getTestFallbackReleases(ctx context
return &f.CachedFallbackTestStatuses, nil
}

func calculateFallbackReleases(startingRelease string, timeRanges []crtest.ReleaseTimeRange, releaseConfigs []v1.Release) []*crtest.ReleaseTimeRange {
func calculateDefaultFallbackReleases(startingRelease string, timeRanges []crtest.ReleaseTimeRange, releaseConfigs []v1.Release) []*crtest.ReleaseTimeRange {
return calculateFallbackReleases(startingRelease, timeRanges, releaseConfigs, defaultFallbackReleases)
}

func calculateFallbackReleases(startingRelease string, timeRanges []crtest.ReleaseTimeRange, releaseConfigs []v1.Release, maxReleases int) []*crtest.ReleaseTimeRange {
var selectedTimeRanges []*crtest.ReleaseTimeRange
fallbackRelease := startingRelease

// Get up to 3 fallback releases
for i := 0; i < 3; i++ {
for i := 0; i < maxReleases; i++ {
var crRelease *crtest.ReleaseTimeRange

var err error
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ func TestCalculateFallbackReleases(t *testing.T) {
{Release: "4.16", PreviousRelease: ""},
}

fallbackReleases := calculateFallbackReleases("4.20", allTimeRanges, releaseConfigs)
fallbackReleases := calculateFallbackReleases("4.20", allTimeRanges, releaseConfigs, 3)
for i := range expectedTimeRanges {
assert.Equal(t, expectedTimeRanges[i].Release, fallbackReleases[i].Release)
assert.Equal(t, expectedTimeRanges[i].Start, fallbackReleases[i].Start)
Expand Down