-
Notifications
You must be signed in to change notification settings - Fork 1.6k
CRD cleanup + helm client download retires + error classification #6291
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
Changes from 110 commits
337382b
e275558
8c89fc3
11c2f90
fb57d0c
9d2317c
d684639
866e916
2202cd3
76800dd
cd46fbc
b46d055
474e2ec
a1c1093
a33c7d7
0190574
6e893c4
a639010
ba70771
fda625c
088d5e9
3062720
944c706
6aa9077
238de24
7ff4202
d4ea462
810dd10
2110301
7741186
dac1e88
df16fe6
4f28b57
cc482a3
f8d8ab6
4f9bdce
26797a1
3082aff
12e83b6
cd7b659
5556147
59686ad
40c5611
0e727c7
96a6b6a
ace2e02
a87383e
cab4ba4
eddbae2
1298879
b25217e
3d519f9
e43b6cb
f19a3ad
c2fb835
910e916
a1ed9dd
be6739f
d94836e
7891b9b
ee818ad
f7e18ea
1b34589
37177cf
1a22f1b
dbed4ab
6d628d8
3f6e841
9e8e8ba
df369d8
6f04cea
a0f180a
c5d508b
202a216
b327eee
7224044
e80e14b
e022773
e5ee706
cc7a545
49642a0
9da438b
818a530
6efefd1
9390ff5
70f9c84
60fba05
84d0b06
7d94fae
beb0fcc
15dc881
cb96347
9daef22
1886ed3
708ee01
904d6d8
6a10b16
f9b8a4f
743a80e
a2671b0
cca344a
195c253
426ec20
f615f6c
df5c2d8
5b897e6
5768727
b7294f1
5984a7d
b2e2c3a
109b8ad
e888a00
8240c57
64cd63e
aa87e3f
612d96b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -238,12 +238,26 @@ def check_cluster_outbound_connectivity(outbound_connectivity_check_log, filepat | |
| outbound_connectivity_response = outbound_connectivity_response[::-1] | ||
| if consts.Outbound_Connectivity_Check_Result_String not in outbound_connectivity_check_log: | ||
| return consts.Diagnostic_Check_Incomplete, storage_space_available | ||
|
|
||
| # extracting the obo endpoint log specifically from outbound connectivity check job logs | ||
| obo_check_log = outbound_connectivity_check_log.split(' ')[0] | ||
| # extracting the obo endpoint url | ||
| obo_enpoint_url = obo_check_log.split(" : ")[1] | ||
| # extracting the obo endpoint response code from outbound connectivity check | ||
| obo_check_response_code = obo_check_log.split(" : ")[2] | ||
| # Validating if outbound connectiivty is working or not and displaying proper result | ||
| if(outbound_connectivity_response != "000"): | ||
| # since connectivity to obo endpoint is required only for cluster connect feature , we only give out a warning if connectivity to obo endpoint is not present | ||
| if obo_check_response_code == "000": | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can't we have this condition outside of the parent if check? That way we keep it independent and will be easy to increase the list of endpoints in each category easily in future
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The reason for keeping this inside the if condition was , that supposing that the outbound connectivity isnt there to any endpoint , it will still give out the warning about obo endpoint and then it will say outbound connectivity fail when it checks the mcr endpoint. So i thought if mcr itself fails , then pointing to obo specifically doesnt make sense and the user should look into all the endpoint network requirements document. And if mcr connectivity is there than pointing out if some specific endpoint is not listed makes more sense. |
||
| logger.warning("The outbound network connectivity check for has failed for the endpoint - " + obo_enpoint_url + "\nThis will affect the \"cluser-connect\" functionality. If you have configured an outbound proxy in your environment, please ensure that all endpoints are properly whitelisted by referring to the network requirements outlined here: https://learn.microsoft.com/en-us/azure/azure-arc/network-requirements-consolidated?tabs=azure-cloud#azure-arc-enabled-kubernetes-endpoints.\n") | ||
| telemetry.set_exception(exception='Outbound network connectivity check failed for the OBO endpoint', fault_type=consts.Outbound_Connectivity_Check_Failed_For_OBO, summary="Outbound network connectivity check failed for the OBO endpoint") | ||
| if storage_space_available: | ||
| outbound_connectivity_check_path = os.path.join(filepath_with_timestamp, consts.Outbound_Network_Connectivity_Check) | ||
| with open(outbound_connectivity_check_path, 'w+') as outbound: | ||
| outbound.write("Response code " + outbound_connectivity_response + "\nOutbound network connectivity check passed successfully.") | ||
| if obo_check_response_code == "000": | ||
| outbound.write("Response code " + outbound_connectivity_response + "\nOutbound network connectivity check passed successfully." + "\nOutbound connectivity failed for the endpoint:" + obo_enpoint_url + " ,this is an optional endpoint needed for cluster-connect feature.") | ||
| else: | ||
| outbound.write("Response code " + outbound_connectivity_response + "\nOutbound network connectivity check passed successfully.") | ||
| return consts.Diagnostic_Check_Passed, storage_space_available | ||
| else: | ||
| logger.warning("Error: We found an issue with outbound network connectivity from the cluster.\nPlease ensure to meet the following network requirements 'https://docs.microsoft.com/en-us/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli#meet-network-requirements' \nIf your cluster is behind an outbound proxy server, please ensure that you have passed proxy parameters during the onboarding of your cluster.\nFor more details visit 'https://docs.microsoft.com/en-us/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli#connect-using-an-outbound-proxy-server' \n") | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a little confusing. Let's name the tests as "Outbound_Connectivity_Check_For_Onboarding" and "Outbound_Connectivity_Check_For_ClusterConnect" at all places to make it clear in the code as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment for logs as well which we're appending in the arc_diagnostic_logs folder
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah but OBO is not the only endpoint for cluster connect right , so if any other endpoint required for cluster connect fails then the log will not give the right impression to us and to the user.