fix: add OwnerReference for HTTPRouteFilter#888
Conversation
Signed-off-by: googs1025 <googs1025@gmail.com>
Signed-off-by: googs1025 <googs1025@gmail.com>
Signed-off-by: googs1025 <googs1025@gmail.com>
e74821a to
8228055
Compare
Signed-off-by: googs1025 <googs1025@gmail.com>
5f52d75 to
7206728
Compare
Signed-off-by: googs1025 <googs1025@gmail.com>
Signed-off-by: googs1025 <googs1025@gmail.com>
fead319 to
1dea5c1
Compare
Signed-off-by: googs1025 <googs1025@gmail.com>
1dea5c1 to
6449c97
Compare
| if err := c.client.Get(ctx, client.ObjectKey{Name: base.Name, Namespace: base.Namespace}, &f); err != nil { | ||
| if apierrors.IsNotFound(err) { | ||
| if err = ctrlutil.SetControllerReference(aiGatewayRoute, base, c.client.Scheme()); err != nil { | ||
| return fmt.Errorf("failed to set owner reference for HTTPRouteFilter %s: %w", base.Name, err) |
There was a problem hiding this comment.
this should be a panic just like my comment in another pr
tests/controller/controller_test.go
Outdated
| var f egv1a1.HTTPRouteFilter | ||
| err = c.Get(t.Context(), hostRewriteKey, &f) | ||
| if err == nil { | ||
| return true | ||
| } | ||
| if !apierrors.IsNotFound(err) { | ||
| t.Logf("unexpected error when fetching filter %s: %v", hostRewriteKey, err) | ||
| return false | ||
| } | ||
| ok, _ := ctrlutil.HasOwnerReference(f.OwnerReferences, origin, c.Scheme()) | ||
| require.True(t, ok, "expected hostRewriteFilter to have owner reference to AIGatewayRoute") | ||
| return false |
There was a problem hiding this comment.
this is very weird. you are checking if err == nil at the beginning and at the bottom you are checking ownerreference. you should check the owner reference on ok case
| var f egv1a1.HTTPRouteFilter | |
| err = c.Get(t.Context(), hostRewriteKey, &f) | |
| if err == nil { | |
| return true | |
| } | |
| if !apierrors.IsNotFound(err) { | |
| t.Logf("unexpected error when fetching filter %s: %v", hostRewriteKey, err) | |
| return false | |
| } | |
| ok, _ := ctrlutil.HasOwnerReference(f.OwnerReferences, origin, c.Scheme()) | |
| require.True(t, ok, "expected hostRewriteFilter to have owner reference to AIGatewayRoute") | |
| return false | |
| var f egv1a1.HTTPRouteFilter | |
| err = c.Get(t.Context(), hostRewriteKey, &f) | |
| if err != nil { | |
| t.Logf("expected to get hostRewriteFilter %s, but got error: %v", hostRewriteHTTPFilterName, err) | |
| return false | |
| } | |
| ok, _ := ctrlutil.HasOwnerReference(f.OwnerReferences, origin, c.Scheme()) | |
| require.True(t, ok, "expected hostRewriteFilter to have owner reference to AIGatewayRoute") | |
| return true |
There was a problem hiding this comment.
Thanks for pointing out that. this was a logic error...
There was a problem hiding this comment.
can you add the deletion check in t.Run("delete route", func(t *testing.T) { below?
There was a problem hiding this comment.
The envtest.Environment does not seem to have gc deletion. I actually tested it and it seems that does not work.
some issue: kubernetes-sigs/kubebuilder#1175
Signed-off-by: googs1025 <googs1025@gmail.com>
mathetake
left a comment
There was a problem hiding this comment.
Thank you for your contributing!
Description
This commit add OwnerReference for HTTPRouteFilter when creating
Related Issues/PRs (if applicable)
Fixes: #873
Special notes for reviewers (if applicable)
None