Closed Future-Outlier closed 2 days ago
Attention: Patch coverage is 56.89655%
with 25 lines
in your changes missing coverage. Please review.
Project coverage is 60.97%. Comparing base (
5cc7f58
) to head (297d575
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@honnix sorry for the late reply and thank you for your patient. After this PR is merged, the watcher is done, and you can build the image to update your propeller.
Thank you so much!
Thank you for working on the watcher feature! Could you please write some description to help me understand what this achieves? Thank you.
Thank you for working on the watcher feature! Could you please write some description to help me understand what this achieves? Thank you.
No problem, I will do it, thank you!
Update: Facing issue with race condition, will try to solve it then we can merge it!!
Hi @EngHabu,
The agent watcher can now dynamically update the supported task types for agent-service
.
Kevin and I discovered that we need to perform two tasks concurrently
:
agent-service
.Therefore, we need to use mutex lock
in our code to handle these operations.
Thank you for reading this and have a nice weekend!
Hi, @honnix, can you take a look at this PR? The implementation might change, but could you help review it to check for potential issues? Thank you!
@Future-Outlier I didn't look into details of the change, but overall it's a great feature to be able to refresh agent capability at runtime without restarting propeller.
Hello, @EngHabu. Can you take a look? Kevin and I will fix it ASAP if any changes are needed. Thank you!
Hi, @honnix Before we merge this PR, can you help test this one in your scenario? I can help you build the image you need, here are the actionable steps.
Hi, @honnix Before we merge this PR, can you help test this one in your scenario? I can help you build the image you need, here are the actionable steps.
- checkout this branch
- Use this Dockerfile to build a new image, replace the flytepropeller's deployment and restart the flytepropeller
master
/Dockerfile.flytepropeller
Sorry for replying late. I was on vacation.
I unfortunately don't have capacity to take on this. I can ask around in the team.
Hi, @honnix Before we merge this PR, can you help test this one in your scenario? I can help you build the image you need, here are the actionable steps.
- checkout this branch
- Use this Dockerfile to build a new image, replace the flytepropeller's deployment and restart the flytepropeller
master
/Dockerfile.flytepropellerSorry for replying late. I was on vacation.
I unfortunately don't have capacity to take on this. I can ask around in the team.
No problem, I will be on vacation too! Have a nice vacation!
Tracking issue
https://github.com/flyteorg/flyte/issues/3936
Why are the changes needed?
Users don't need to configure
supportedTaskTypes
for agent service after this PR merged. We will connect to the agent server (or agent pod) to retrieve agent metadata every 10 seconds.The config map for
agent-service
will be like:Architecture Diagram
For example, the lifecycle in the propeller with agent will be like below
watchAgent
function inwebapi/agent/plugin.go
localhost:8000
andlocalhost:8001
agentRegistry
// map[taskTypeName][taskTypeVersion] => AgentagentService
*core.AgentService // Propeller will use it to route to the correct plugin. In our case, it’s agent-service.p.cfg.PollInterval.Duration
, and go back to 1What changes were proposed in this pull request?
TBD
How was this patch tested?
single binary
Setup process
Screenshots
Check all the applicable boxes
Related PRs
https://github.com/flyteorg/flyte/issues/3936
Docs link