Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AV-219152 Moving HTTPRoute Validation to Graph layer #1547

Merged
merged 2 commits into from
Oct 8, 2024

Conversation

pkoshtavmware
Copy link
Contributor

AV-219152 Moving HTTPRoute Validation to Graph layer

@pkoshtavmware
Copy link
Contributor Author

pkoshtavmware commented Sep 30, 2024

FT run result:

Screenshot 2024-09-30 at 3 47 09 PM

Screenshot 2024-09-30 at 4 18 47 PM

Screenshot 2024-09-30 at 5 04 18 PM

@pkoshtavmware
Copy link
Contributor Author

Ut run result:

ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/k8stest	30.423s	coverage: 8.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/integrationtest	499.123s	coverage: 26.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/ingresstests	1101.004s	coverage: 39.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/evhtests	2039.321s	coverage: 38.1% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/evhtests	1846.720s	coverage: 37.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedevhtests	692.492s	coverage: 28.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedevhtests	788.492s	coverage: 28.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/oshiftroutetests	1313.099s	coverage: 32.9% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/bootuptests	20.181s	coverage: 4.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/multicloudtests	170.464s	coverage: 8.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/advl4tests	46.715s	coverage: 19.1% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/namespacesynctests	152.417s	coverage: 21.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/servicesapitests	78.993s	coverage: 22.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/npltests	116.793s	coverage: 23.7% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedvstests	187.376s	coverage: 29.9% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/hatests	33.857s	coverage: 25.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/cnitests	103.552s	coverage: 13.1% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/cnitests	27.283s	coverage: 12.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/urltests	15.265s	coverage: 21.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/graphlayer	290.920s	coverage: 18.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/ingestion	260.602s	coverage: 3.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/npltests	60.330s	coverage: 15.7% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/status	300.669s	coverage: 12.6% of statements in ./...

@pkoshtavmware
Copy link
Contributor Author

pkoshtavmware commented Oct 2, 2024

UT run after changes:

`ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/k8stest	30.422s	coverage: 8.8% of statements in ./...
coverage: 26.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/integrationtest	499.099s	coverage: 26.3% of statements in ./...
coverage: 34.7% of statements in ./...
coverage: 8.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/k8stest	30.402s	coverage: 8.8% of statements in ./...
coverage: 26.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/integrationtest	499.061s	coverage: 26.3% of statements in ./...
coverage: 39.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/ingresstests	1101.039s	coverage: 39.0% of statements in ./...
coverage: 38.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/evhtests	2039.361s	coverage: 38.3% of statements in ./...
coverage: 37.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/evhtests	1846.792s	coverage: 37.6% of statements in ./...
coverage: 28.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedevhtests	692.522s	coverage: 28.3% of statements in ./...
coverage: 28.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedevhtests	788.508s	coverage: 28.6% of statements in ./...
coverage: 33.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/oshiftroutetests	1313.063s	coverage: 33.0% of statements in ./...
coverage: 4.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/bootuptests	20.154s	coverage: 4.0% of statements in ./...
coverage: 8.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/multicloudtests	170.445s	coverage: 8.2% of statements in ./...
coverage: 19.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/advl4tests	46.767s	coverage: 19.2% of statements in ./...
coverage: 21.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/namespacesynctests	152.395s	coverage: 21.2% of statements in ./...
coverage: 22.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/servicesapitests	79.008s	coverage: 22.3% of statements in ./...
coverage: 23.7% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/npltests	116.831s	coverage: 23.7% of statements in ./...
coverage: 30.4% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedvstests	187.484s	coverage: 30.4% of statements in ./...
coverage: 25.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/hatests	33.872s	coverage: 25.0% of statements in ./...
coverage: 13.1% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/cnitests	103.556s	coverage: 13.1% of statements in ./...
coverage: 12.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/cnitests	27.278s	coverage: 12.8% of statements in ./...
coverage: 21.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/urltests	15.238s	coverage: 21.6% of statements in ./...
	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests		coverage: 0.0% of statements
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/graphlayer	290.875s	coverage: 18.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/ingestion	220.582s	coverage: 2.5% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/npltests	60.323s	coverage: 15.7% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/status	300.652s	coverage: 12.6% of statements in ./...`

@pkoshtavmware
Copy link
Contributor Author

pkoshtavmware commented Oct 3, 2024

FT run result:
Screenshot 2024-10-03 at 12 38 04 PM
Screenshot 2024-10-03 at 1 32 51 PM
Screenshot 2024-10-03 at 1 53 13 PM
Screenshot 2024-10-03 at 2 06 04 PM
Screenshot 2024-10-03 at 2 12 25 PM
Screenshot 2024-10-03 at 2 20 44 PM

@pkoshtavmware
Copy link
Contributor Author

UT run result:

ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/k8stest	30.418s	coverage: 8.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/integrationtest	499.124s	coverage: 26.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/ingresstests	1101.060s	coverage: 38.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/evhtests	2039.405s	coverage: 38.4% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/evhtests	1846.766s	coverage: 37.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedevhtests	692.489s	coverage: 28.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedevhtests	788.512s	coverage: 28.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/oshiftroutetests	1313.071s	coverage: 33.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/bootuptests	20.187s	coverage: 4.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/multicloudtests	170.451s	coverage: 8.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/advl4tests	46.756s	coverage: 19.1% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/namespacesynctests	152.410s	coverage: 21.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/servicesapitests	79.040s	coverage: 22.3% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/npltests	116.844s	coverage: 23.7% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/dedicatedvstests	187.498s	coverage: 30.2% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/hatests	33.880s	coverage: 25.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/cnitests	103.560s	coverage: 13.1% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/cnitests	27.259s	coverage: 12.8% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/urltests	15.204s	coverage: 21.6% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/graphlayer	290.915s	coverage: 18.0% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/ingestion	220.636s	coverage: 2.5% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/npltests	60.357s	coverage: 15.7% of statements in ./...
ok  	github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/status	300.674s	coverage: 12.7% of statements in ./...

ako-gateway-api/k8s/validator.go Show resolved Hide resolved
ako-gateway-api/k8s/validator.go Show resolved Hide resolved
httpRoute, err := akogatewayapilib.AKOControlConfig().GatewayApiInformers().HTTPRouteInformer.Lister().HTTPRoutes(namespace).Get(name)
if err == nil {
utils.AviLog.Debugf("key: %s, msg: Successfully retrieved the HTTPRoute object %s", key, name)
if !IsHTTPRouteValid(key, httpRoute) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pkoshtavmware: Should we include this as part of HTTPRouteChanges function? How transition from valid httproute to invalid HTTP route will be handled with return into picture? Are we deleting previously created objects with invalid transition?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be taken care as part of partial listener PR

tests/gatewayapitests/status/gateway_test.go Show resolved Hide resolved
@@ -80,7 +84,7 @@ func BulkUpdate(key string, objectType string, options []status.StatusOptions) e
return nil
}

func Record(key string, obj runtime.Object, status *Status) {
func Record(key string, obj runtime.Object, status *Status) (runtime.Object, error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pkoshtavmware: I think we are not using return value runtime.Object anywhere. Can we take it out (in nested calls also)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@pkoshtavmware
Copy link
Contributor Author

pkoshtavmware commented Oct 7, 2024

Ut runs:

  github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests               coverage: 0.0% of statements
ok      github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/graphlayer    291.243s        coverage: 18.1% of statements in ./...
ok      github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/ingestion     220.689s        coverage: 2.7% of statements in ./...
ok      github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/npltests      60.483s coverage: 16.0% of statements in ./...
ok      github.com/vmware/load-balancer-and-ingress-services-for-kubernetes/tests/gatewayapitests/status        300.773s        coverage: 12.8% of statements in ./...

Copy link
Contributor

@akshayhavile akshayhavile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few minor comments.

ako-gateway-api/k8s/validator.go Show resolved Hide resolved
httpRoute, err := akogatewayapilib.AKOControlConfig().GatewayApiInformers().HTTPRouteInformer.Lister().HTTPRoutes(namespace).Get(name)
if err == nil {
utils.AviLog.Debugf("key: %s, msg: Successfully retrieved the HTTPRoute object %s", key, name)
if !IsHTTPRouteValid(key, httpRoute) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be taken care as part of partial listener PR

Copy link
Contributor

@arihantg arihantg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@akshayhavile akshayhavile merged commit 7c6371c into vmware:master Oct 8, 2024
2 checks passed
@pkoshtavmware pkoshtavmware deleted the AV-219152-master branch October 8, 2024 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants