Bug 1707872 - Inefficient getLBHostedZone Function
Summary: Inefficient getLBHostedZone Function
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 4.2.0
Assignee: Daneyon Hansen
QA Contact: Hongan Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-05-08 15:19 UTC by Daneyon Hansen
Modified: 2022-08-04 22:24 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-06-25 23:31:19 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Daneyon Hansen 2019-05-08 15:19:04 UTC
Description of problem:
The getLBHostedZone function lists multiple elb's for the name parameter.
The current function iterates over every elb in a hosted zone instead of
getting the elb hosted zone id by using the elb id.

Version-Release number of selected component (if applicable):
4.1.0-0.okd-2019-05-06-152942

How reproducible:
Always

Steps to Reproduce:
1. Deploy a cluster
2. Review the ingress operator logs for: aws/dns.go:200

Actual results:

2019-05-07T14:24:00.822-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "acb7b641d6e7011e9908e025cae9c705", "dns name": "acb7b641d6e7011e9908e025cae9c705-998075899.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.822-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a0e98d1e56f9611e98b130a75a6a0a32", "dns name": "a0e98d1e56f9611e98b130a75a6a0a32-721882060.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.822-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "ab25768ed6fad11e98480023416072a9", "dns name": "ab25768ed6fad11e98480023416072a9-300553536.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.822-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "ab6b645636faf11e9815f0aa75be8304", "dns name": "ab6b645636faf11e9815f0aa75be8304-233397442.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.822-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a943178ea6fd811e99333025ba57ad2f", "dns name": "a943178ea6fd811e99333025ba57ad2f-1814233026.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a142d34c66fde11e9a0c50a82eea0a54", "dns name": "a142d34c66fde11e9a0c50a82eea0a54-1775174685.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a07782f256ff611e98453029e242a4a9", "dns name": "a07782f256ff611e98453029e242a4a9-1420072097.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a67f44ecb6ff711e9ac0706dca2417a5", "dns name": "a67f44ecb6ff711e9ac0706dca2417a5-1585805222.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a58c7e485700711e9a4040a6f773a600", "dns name": "a58c7e485700711e9a4040a6f773a600-1352030917.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "aa0f70671700811e9b671065c757f45a", "dns name": "aa0f70671700811e9b671065c757f45a-927285957.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:200	found load balancer	{"name": "a36418f39701911e99cdb069ff56b3fd", "dns name": "a36418f39701911e99cdb069ff56b3fd-191902666.us-west-2.elb.amazonaws.com", "hosted zone ID": "Z1H1FL5HABSF5"}
2019-05-07T14:24:00.823-0700	INFO	operator.dns	aws/dns.go:215	associating load balancer with hosted zone	{"dns name": "a36418f39701911e99cdb069ff56b3fd-191902666.us-west-2.elb.amazonaws.com", "zone": "Z1H1FL5HABSF5"}

Expected results:

A single hosted zone:
2019-05-07T15:08:58.367-0700	INFO	operator.dns	aws/dns.go:182	found hosted zone using tags	{"zone id": "Z2R0MAXFHOY07X", "tags": {"Name":"dhansen-ctptd-int","kubernetes.io/cluster/dhansen-ctptd":"owned"}}

Additional info:

Comment 1 Dan Mace 2019-05-08 15:29:28 UTC
Can you quantify the performance impact in terms of number of API calls over a reasonable timeframe (e.g. an hour) and the gains from a theoretical fix?

Comment 2 Daneyon Hansen 2019-05-08 17:55:24 UTC
Fix submitted: https://github.com/openshift/cluster-ingress-operator/pull/232

Comment 4 Weibin Liang 2019-06-25 18:08:03 UTC
This PR is still in Open state: https://github.com/openshift/cluster-ingress-operator/pull/232

Change the bug back to Modified.

Comment 5 Daneyon Hansen 2019-06-25 23:31:19 UTC
https://github.com/openshift/cluster-ingress-operator/pull/232 details the need to stay with the implemented approach for listing lb's.


Note You need to log in before you can comment on or make changes to this bug.