edgeless-project / edgeless

MVP Implementation
Other
14 stars 0 forks source link

133 ε-ORC implement deployment restrictions #148

Closed ccicconetti closed 3 months ago

ccicconetti commented 3 months ago

Implement basic deployment restrictions in the Orchestrator.

Improved significantly the robustness of the Orchestration, which now:

1) honors the deployment requirements, and 2) ensures that one function instance is maintained in execution for all the accepted logical functions, if possible based on the deployment requirements.

ccicconetti commented 3 months ago

The keep-alive is not quite right

I agree that the keep-alive may not be optimal for a number of reasons. It's just the Easiest Thing That Works (TM) that I could come up with. Suggestions on alternatives are welcome. I tried to structure the code with member functions so that migrating to a different solution should require minimal reworking (and the unit tests will help identify regressions).

I'm unusure about the fact that you only patch based on external mappings.

I am pretty sure it works, but of course 1) you can never be too sure and 2) there surely are some corner cases that slipped the minimal unit tests I implemented.

We should (later) also really clean this up (you already started with that) as the orcs complexity is getting out of hand.

Cleaning: that's always welcome.

Complexity: I think this is the peak of the orchestrator complexity. Everything else will be done by an external component once this issue is closed.

Hopefully this split will help keep the overall complexity under control.

But other than that thanks and good work.

Thanks ❤️