From 9586588027dc3ae0955be2d87161e12ebc19bdab Mon Sep 17 00:00:00 2001 From: vie-serendipity <2733147505@qq.com> Date: Thu, 11 Apr 2024 19:47:45 +0800 Subject: [PATCH 1/2] doc: proposal for enhancement of edge autonomy --- docs/img/state_machine.jpg | Bin 0 -> 144914 bytes .../20240411-edge-autonomy-enhancement.md | 63 ++++++++++++++++++ pkg/yurthub/yurtcoordinator/coordinator.go | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 docs/img/state_machine.jpg create mode 100644 docs/proposals/20240411-edge-autonomy-enhancement.md diff --git a/docs/img/state_machine.jpg b/docs/img/state_machine.jpg new file mode 100644 index 0000000000000000000000000000000000000000..caa67fa4ee557c275bd3f26ce5b381ba70a4d289 GIT binary patch literal 144914 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

=`SHBx>KHDY_apbHz$;B_#Is29oO&N4Uh-i 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

    P!KC8-?glP_B%oMPZoPcQ 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 aw`sCC^Tgvz;71bp?~;=Gg +* [Edge-autonomy-enhancement](#edge-autonomy-enhancement) + * [Table of Contents](#table-of-contents) + * [Summary](#summary) + * [Motivation](#motivation) + * [Goals](#goals) + * [Non-Goals/Future Work](#non-goalsfuture-work) + * [Proposal](#proposal) + * [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) + * [Error key](#error-key) + * [Erase error key on each request](#erase-error-key-on-each-request) + * [Autonomy manager](#autonomy-manager) + * [Controller](#controller) + * [Implementation History](#implementation-history) + +## Summary +This proposal aims to enhance autonomy ability of yurthub. Based on [improve yurthub cache](https://github.com/openyurtio/openyurt/blob/224082855310f4a60d74301d935d1c316340a72b/docs/proposals/20230715-improve-yurthub-cache.md), +which will optimize the cache mechanism, this proposal will asynchronously enable node autonomy and incorporate a new module for +status report. +## Motivation +Currently, users can enable autonomy for a node by annotating "node.beta.openyurt.io/autonomy". With this annotation, the control plane does not evict the pods on the node. +but the node itself is not directly aware of the annotation, +which means that the node will only start interacting with the local data when it is disconnected from the network and actually turn on the autonomy. +Therefore, the current control plane does not validate the autonomy status of nodes and does not report any problems on the node's side. +This is not consistent with real-world scenarios. For example, deploying new pods may cause a disk cache write to fail, +which in turn affects the autonomy state of the node. +### Goals +- Asynchronously enable node autonomy +- Add a new module for status report +- Enhance the ability of cache +### Non-Goals/Future Work +## Proposal +The annotation operation of the user and the approval operation of the control plane should be asynchronous. +So it is necessary to add a new controller in control plane to approve or reject the annotation operation of users. +The node side have to report its own status to the condition so that controller can list&watch nodes to get real status of nodes. +### Implementation Details/Notes/Constraints +#### Error key +The hub proxies the local request and connects to api server, then writes all the objects responded to the node to disk. +It is logical to save all the keys that failed to be written, saves them in the error key, the error key is stored in memory as a hash, and then persists to disk. +Notably it is very important to record fail reasons of error key so that they can be reported in the node condition. +#### Erase error key on each request +Every time get&lis&... check if there is any in the error key, write it if there is, and remove it from the error key when it succeeds. +#### Autonomy manager +Incorporate a new module mainly responsible for updating node autonomy status and re-fetching objects according to error key. +- Every fixed period of time, retrieve the content of the object from the api server according to the error key, and then brush off the corresponding error key. +- Check the error key periodically, if the error key is not empty for three consecutive times, set the node condition AutonomyState to Unknown. + +Unknown state: at the moment of user annotation, the node is successfully autonomous, and then due to disk write burst and other reasons, the node's autonomy state is affected, so it is changed to Unknown. +`const AutonomyState v1.NodeConditionType = "AutonomyState"` +### Controller +The user annotates the node to request for node autonomy, and the controller goes to the list&watch edge node and labels the node with `node.autonomy.openyurt.io/status=true/false` based on the condition of the node AutonomyState, +thus indicating that the control plane approves or denies node autonomy request. +- node's condition state change(finite state machine) + +![node's condition state change](../img/state_machine.jpg) +## Implementation History +- [ ] 04/11/2024: Draft proposal created +- [ ] 04/17/2023: Present proposal at the community meeting diff --git a/pkg/yurthub/yurtcoordinator/coordinator.go b/pkg/yurthub/yurtcoordinator/coordinator.go index 730a59dd5b4..32beed28d5f 100644 --- a/pkg/yurthub/yurtcoordinator/coordinator.go +++ b/pkg/yurthub/yurtcoordinator/coordinator.go @@ -77,7 +77,7 @@ type Coordinator interface { // 2. Pool-Scoped resources have been synced with cloud, through list/watch // 3. local cache has been uploaded to yurt-coordinator IsReady() (cachemanager.CacheManager, bool) - // IsCoordinatorHealthy will return the poolCacheManager and true if the yurt-coordinator is healthy. + // IsHealthy will return the poolCacheManager and true if the yurt-coordinator is healthy. // We assume coordinator is healthy when the elect status is LeaderHub and FollowerHub. IsHealthy() (cachemanager.CacheManager, bool) } From 877934c349f559a9bd1ac67564c2cdfa50fa4d54 Mon Sep 17 00:00:00 2001 From: vie-serendipity <2733147505@qq.com> Date: Thu, 11 Apr 2024 20:01:17 +0800 Subject: [PATCH 2/2] chore: trim whitespaces --- docs/proposals/20240411-edge-autonomy-enhancement.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/proposals/20240411-edge-autonomy-enhancement.md b/docs/proposals/20240411-edge-autonomy-enhancement.md index 6e375fb7ac8..d39fa6e027b 100644 --- a/docs/proposals/20240411-edge-autonomy-enhancement.md +++ b/docs/proposals/20240411-edge-autonomy-enhancement.md @@ -24,10 +24,10 @@ which will optimize the cache mechanism, this proposal will asynchronously enabl status report. ## Motivation Currently, users can enable autonomy for a node by annotating "node.beta.openyurt.io/autonomy". With this annotation, the control plane does not evict the pods on the node. -but the node itself is not directly aware of the annotation, -which means that the node will only start interacting with the local data when it is disconnected from the network and actually turn on the autonomy. -Therefore, the current control plane does not validate the autonomy status of nodes and does not report any problems on the node's side. -This is not consistent with real-world scenarios. For example, deploying new pods may cause a disk cache write to fail, +but the node itself is not directly aware of the annotation, +which means that the node will only start interacting with the local data when it is disconnected from the network and actually turn on the autonomy. +Therefore, the current control plane does not validate the autonomy status of nodes and does not report any problems on the node's side. +This is not consistent with real-world scenarios. For example, deploying new pods may cause a disk cache write to fail, which in turn affects the autonomy state of the node. ### Goals - Asynchronously enable node autonomy @@ -48,12 +48,12 @@ Every time get&lis&... check if there is any in the error key, write it if there #### Autonomy manager Incorporate a new module mainly responsible for updating node autonomy status and re-fetching objects according to error key. - Every fixed period of time, retrieve the content of the object from the api server according to the error key, and then brush off the corresponding error key. -- Check the error key periodically, if the error key is not empty for three consecutive times, set the node condition AutonomyState to Unknown. +- Check the error key periodically, if the error key is not empty for three consecutive times, set the node condition AutonomyState to Unknown. Unknown state: at the moment of user annotation, the node is successfully autonomous, and then due to disk write burst and other reasons, the node's autonomy state is affected, so it is changed to Unknown. `const AutonomyState v1.NodeConditionType = "AutonomyState"` ### Controller -The user annotates the node to request for node autonomy, and the controller goes to the list&watch edge node and labels the node with `node.autonomy.openyurt.io/status=true/false` based on the condition of the node AutonomyState, +The user annotates the node to request for node autonomy, and the controller goes to the list&watch edge node and labels the node with `node.autonomy.openyurt.io/status=true/false` based on the condition of the node AutonomyState, thus indicating that the control plane approves or denies node autonomy request. - node's condition state change(finite state machine)