Skip to content

Commit 1954332

Browse files
authored
Merge pull request kubernetes#3569 from wojtek-t/remove_prr_approvers_3
Update kep parser to get rid of prr-approvers
2 parents 18803c1 + 15f2d12 commit 1954332

File tree

15 files changed

+10
-136
lines changed

15 files changed

+10
-136
lines changed

api/approval.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ type PRRApproval struct {
3737
Number string `json:"kepNumber" yaml:"kep-number" validate:"required"`
3838

3939
// TODO: Need to validate these milestone pointers are not nil
40-
Alpha *PRRMilestone `json:"alpha" yaml:"alpha,omitempty"`
41-
Beta *PRRMilestone `json:"beta" yaml:"beta,omitempty"`
42-
Stable *PRRMilestone `json:"stable" yaml:"stable,omitempty"`
40+
Alpha *PRRMilestone `json:"alpha" yaml:"alpha,omitempty"`
41+
Beta *PRRMilestone `json:"beta" yaml:"beta,omitempty"`
42+
Stable *PRRMilestone `json:"stable" yaml:"stable,omitempty"`
43+
Deprecated *PRRMilestone `json:"deprecated" yaml:"deprecated,omitempty"`
44+
Removed *PRRMilestone `json:"removed", yaml:"removed,omitempty"`
4345

4446
// TODO(api): Move to separate struct for handling document parsing
4547
Error error `json:"-" yaml:"-"`

api/proposal.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ type Proposal struct {
103103
ParticipatingSIGs []string `json:"participatingSigs" yaml:"participating-sigs,flow,omitempty"`
104104
Reviewers []string `json:"reviewers" yaml:",flow"`
105105
Approvers []string `json:"approvers" yaml:",flow" validate:"required"`
106-
PRRApprovers []string `json:"prrApprovers" yaml:"prr-approvers,flow"`
107106
Editor string `json:"editor" yaml:"editor,omitempty"`
108107
CreationDate string `json:"creationDate" yaml:"creation-date"`
109108
LastUpdated string `json:"lastUpdated" yaml:"last-updated"`
@@ -221,22 +220,6 @@ func (k *KEPHandler) validateGroups(p *Proposal) []error {
221220
return errs
222221
}
223222

224-
// validatePRRApprovers returns errors for each invalid PRR Approver in the
225-
// given Proposal, or nil if there are no invalid PRR Approvers
226-
func (k *KEPHandler) validatePRRApprovers(p *Proposal) []error {
227-
var errs []error
228-
validPRRApprovers := make(map[string]bool)
229-
for _, a := range k.PRRApprovers {
230-
validPRRApprovers[a] = true
231-
}
232-
for _, a := range p.PRRApprovers {
233-
if _, ok := validPRRApprovers[a]; !ok {
234-
errs = append(errs, fmt.Errorf("invalid prr-approver: %s", a))
235-
}
236-
}
237-
return errs
238-
}
239-
240223
// Validate returns errors for each reason the given proposal is invalid,
241224
// or nil if it is valid
242225
func (k *KEPHandler) Validate(p *Proposal) []error {
@@ -248,9 +231,6 @@ func (k *KEPHandler) Validate(p *Proposal) []error {
248231
if errs := k.validateGroups(p); errs != nil {
249232
allErrs = append(allErrs, errs...)
250233
}
251-
if errs := k.validatePRRApprovers(p); errs != nil {
252-
allErrs = append(allErrs, errs...)
253-
}
254234
if err := p.Status.IsValid(); err != nil {
255235
allErrs = append(allErrs, err)
256236
}

pkg/kepctl/commands/create.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,6 @@ func addCreate(topLevel *cobra.Command) {
122122
"Participating SIGs",
123123
)
124124

125-
cmd.PersistentFlags().StringArrayVar(
126-
&co.PRRApprovers,
127-
"prr-approver",
128-
[]string{},
129-
"PRR Approver",
130-
)
131-
132125
topLevel.AddCommand(cmd)
133126
}
134127

pkg/proposal/create.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,6 @@ func populateProposal(p *api.Proposal, opts *CreateOpts) {
164164
p.Filename = opts.Name
165165
p.LastUpdated = "v1.19"
166166
p.Stage = api.Stage(opts.Stage)
167-
168-
if len(opts.PRRApprovers) > 0 {
169-
p.PRRApprovers = updatePersonReference(opts.PRRApprovers)
170-
}
171167
}
172168

173169
func updatePersonReference(names []string) []string {

pkg/repo/query.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ func (r *Repo) Query(opts *QueryOpts) ([]*api.Proposal, error) {
146146
if len(opts.Stage) > 0 && !allowedStage[string(k.Stage)] {
147147
continue
148148
}
149-
if len(opts.PRRApprover) > 0 && !atLeastOne(k.PRRApprovers, allowedPRR) {
149+
// TODO: Fetch PRR approvers from approval files.
150+
if len(opts.PRRApprover) > 0 && !atLeastOne([]string{}, allowedPRR) {
150151
continue
151152
}
152153
if len(opts.Author) > 0 && !atLeastOne(k.Authors, allowedAuthor) {

pkg/repo/query_test.go

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -209,33 +209,6 @@ func TestQuery(t *testing.T) {
209209
skip: true,
210210
},
211211
},
212-
"prr-approver": {
213-
{
214-
name: "results",
215-
queryOpts: repo.QueryOpts{
216-
PRRApprover: []string{"@dorothy"},
217-
},
218-
kepNames: []string{
219-
"404-question-not-found",
220-
"42-the-answer",
221-
"13-keps-as-crds",
222-
},
223-
},
224-
{
225-
name: "no results",
226-
queryOpts: repo.QueryOpts{
227-
PRRApprover: []string{"prr-approves-nothing"},
228-
},
229-
},
230-
{
231-
name: "TODO: invalid should error but instead returns nothing",
232-
queryOpts: repo.QueryOpts{
233-
PRRApprover: []string{"prr-approver-does-not-exist"},
234-
},
235-
err: fmt.Errorf("something about invalid prr-approver"),
236-
skip: true,
237-
},
238-
},
239212
"author": {
240213
{
241214
name: "results",

pkg/repo/repo.go

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -483,45 +483,6 @@ func (r *Repo) loadKEPFromYaml(repoPath, kepPath string) (*api.Proposal, error)
483483
"%v",
484484
errors.Wrapf(err, "validating PRR for %s", p.Name),
485485
)
486-
} else {
487-
sig := filepath.Base(filepath.Dir(filepath.Dir(kepPath)))
488-
prrPath := filepath.Join(
489-
prrApprovalPath,
490-
sig,
491-
p.Number+".yaml",
492-
)
493-
494-
prrFile, err := os.Open(prrPath)
495-
if os.IsNotExist(err) {
496-
return &p, nil
497-
}
498-
499-
if err != nil {
500-
return nil, errors.Wrapf(err, "opening PRR approval %s", prrPath)
501-
}
502-
503-
approval, err := handler.Parse(prrFile)
504-
if err != nil {
505-
return nil, errors.Wrapf(err, "parsing PRR")
506-
}
507-
508-
approver, err := approval.ApproverForStage(p.Stage)
509-
if err != nil {
510-
logrus.Errorf(
511-
"%v",
512-
fmt.Errorf("getting PRR approver for stage '%s' for kep %s: %w", p.Stage, fullKEPPath, err),
513-
)
514-
}
515-
516-
for _, a := range p.PRRApprovers {
517-
if a == approver {
518-
approver = ""
519-
}
520-
}
521-
522-
if approver != "" {
523-
p.PRRApprovers = append(p.PRRApprovers, approver)
524-
}
525486
}
526487

527488
return &p, nil

pkg/repo/repo_test.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,6 @@ func TestProposalValidate(t *testing.T) {
8787
fmt.Errorf("invalid owning-sig: not-a-sig"),
8888
},
8989
},
90-
{
91-
name: "invalid KEP: prr-approver does not exist",
92-
file: "testdata/invalid-prr-approver.yaml",
93-
errs: []error{
94-
fmt.Errorf("invalid prr-approver: not-a-prr-approver"),
95-
},
96-
},
9790
{
9891
name: "invalid KEP: status does not exist",
9992
file: "testdata/invalid-status.yaml",

pkg/repo/testdata/invalid-prr-approver.yaml

Lines changed: 0 additions & 12 deletions
This file was deleted.

pkg/repo/testdata/repos/valid/keps/NNNN-kep-template/kep.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ reviewers:
1414
approvers:
1515
- TBD
1616
- "@oscar.doe"
17-
prr-approvers:
18-
- TBD
19-
- "@bob.doe"
2017
see-also:
2118
- "/keps/sig-aaa/1234-we-heard-you-like-keps"
2219
- "/keps/sig-bbb/2345-everyone-gets-a-kep"

0 commit comments

Comments
 (0)