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

Add route-agent-healthcheck #3077

Merged
merged 3 commits into from
Sep 3, 2024

Conversation

aswinsuryan
Copy link
Contributor

@aswinsuryan aswinsuryan commented Jul 11, 2024

Add route-agent-healthcheck

@submariner-bot
Copy link
Contributor

🤖 Created branch: z_pr3077/aswinsuryan/route-agent-health-checker
🚀 Full E2E won't run until the "ready-to-test" label is applied. I will add it automatically once the PR has 2 approvals, or you can add it manually.

@tpantelis
Copy link
Contributor

I know this is still a draft but I took a cursory look at it. It seems you're trying to incorporate route agent ping info into the Gateway CR however I don't think we should do this. I think it makes sense to introduce a similar RouteAgent CR corresponding to each route agent pod, eg:

type RouteAgent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Status            RouteAgentStatus `json:"status"`
}

type RouteAgentStatus struct {
	Version       string       `json:"version"`
	StatusFailure string       `json:"statusFailure"`
	RemoteEndpoints   []RemoteEndpoint `json:"remoteEndpoints"`
}

type RemoteEndpoint struct {
	Status        ConnectionStatus `json:"status"`
	StatusMessage string           `json:"statusMessage"`
	Spec      EndpointSpec     `json:"endpoint"`
	// +optional
	LatencyRTT *LatencyRTTSpec `json:"latencyRTT,omitempty"`
}

@aswinsuryan
Copy link
Contributor Author

I know this is still a draft but I took a cursory look at it. It seems you're trying to incorporate route agent ping info into the Gateway CR however I don't think we should do this. I think it makes sense to introduce a similar RouteAgent CR corresponding to each route agent pod, eg:

type RouteAgent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Status            RouteAgentStatus `json:"status"`
}

type RouteAgentStatus struct {
	Version       string       `json:"version"`
	StatusFailure string       `json:"statusFailure"`
	RemoteEndpoints   []RemoteEndpoint `json:"remoteEndpoints"`
}

type RemoteEndpoint struct {
	Status        ConnectionStatus `json:"status"`
	StatusMessage string           `json:"statusMessage"`
	Spec      EndpointSpec     `json:"endpoint"`
	// +optional
	LatencyRTT *LatencyRTTSpec `json:"latencyRTT,omitempty"`
}

Thanks @tpantelis for the input. Yes, I was exploring various thoughts and was thinking of reusing the existing gateway status. This idea looks better, I will work in this direction.

@aswinsuryan aswinsuryan force-pushed the route-agent-health-checker branch 12 times, most recently from 99cacd7 to 312f51c Compare July 25, 2024 02:53
@aswinsuryan aswinsuryan force-pushed the route-agent-health-checker branch 9 times, most recently from 0e2745b to 6fae907 Compare August 1, 2024 23:10
@aswinsuryan aswinsuryan marked this pull request as ready for review August 1, 2024 23:24
@aswinsuryan
Copy link
Contributor Author

The RA health checker needs unit tests 😄

I will add the UTs. :)

pkg/pinger/pinger.go Outdated Show resolved Hide resolved
@aswinsuryan aswinsuryan force-pushed the route-agent-health-checker branch 6 times, most recently from b3426ce to 663b929 Compare August 20, 2024 18:23
@aswinsuryan aswinsuryan force-pushed the route-agent-health-checker branch 2 times, most recently from d000f00 to 4cb47ed Compare August 21, 2024 22:17
@aswinsuryan aswinsuryan force-pushed the route-agent-health-checker branch 3 times, most recently from 67ca700 to b4cc13c Compare August 28, 2024 15:56
@aswinsuryan aswinsuryan force-pushed the route-agent-health-checker branch 2 times, most recently from 8ea1111 to 9e9e594 Compare August 29, 2024 20:49
Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
@yboaron yboaron merged commit 303a59c into submariner-io:devel Sep 3, 2024
38 checks passed
@submariner-bot
Copy link
Contributor

🤖 Closed branches: [z_pr3077/aswinsuryan/route-agent-health-checker]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-test When a PR is ready for full E2E testing release-note-handled release-note-needed Should be mentioned in the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants