Skip to content

Commit

Permalink
fix: api-server unnecessary normalize projects on every start (argopr…
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Matyushentsev authored Sep 1, 2020
1 parent cc1592e commit 016c8b3
Showing 3 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pkg/apis/application/v1alpha1/types.go
Original file line number Diff line number Diff line change
@@ -2606,7 +2606,7 @@ func jwtTokensCombine(tokens1 []JWTToken, tokens2 []JWTToken) []JWTToken {
tokensMap[token.ID] = token
}

tokens := []JWTToken{}
var tokens []JWTToken
for _, v := range tokensMap {
tokens = append(tokens, v)
}
5 changes: 5 additions & 0 deletions pkg/apis/application/v1alpha1/types_test.go
Original file line number Diff line number Diff line change
@@ -1695,6 +1695,11 @@ func TestProjectNormalize(t *testing.T) {
assert.Nil(t, p.Spec.Roles)
assert.Nil(t, p.Status.JWTTokensByRole)
})
t.Run("HasRoles_NoTokens", func(t *testing.T) {
p := AppProject{Spec: AppProjectSpec{Roles: []ProjectRole{{Name: "test-role"}}}}
needNormalize := p.NormalizeJWTTokens()
assert.False(t, needNormalize)
})
t.Run("SpecRolesToken-StatusRolesTokenEmpty", func(t *testing.T) {
p := AppProject{Spec: AppProjectSpec{Roles: []ProjectRole{{Name: "test-role", JWTTokens: testTokens}}}}
needNormalize := p.NormalizeJWTTokens()
3 changes: 2 additions & 1 deletion server/project/project.go
Original file line number Diff line number Diff line change
@@ -412,7 +412,6 @@ func (s *Server) NormalizeProjs() error {
return status.Errorf(codes.Internal, "Error retrieving project list: %s", err.Error())
}
for _, proj := range projList.Items {
// if !apierr.IsConflict(err), retry 3 times
for i := 0; i < 3; i++ {
if proj.NormalizeJWTTokens() {
_, err := s.appclientset.ArgoprojV1alpha1().AppProjects(s.ns).Update(context.Background(), &proj, metav1.UpdateOptions{})
@@ -432,6 +431,8 @@ func (s *Server) NormalizeProjs() error {
if i == 2 {
return status.Errorf(codes.Internal, "Failed normalize project %s", proj.Name)
}
} else {
break
}
}
}

0 comments on commit 016c8b3

Please sign in to comment.