summaryrefslogtreecommitdiff
path: root/0005-doc-support-version-opt.patch
blob: 39ebd5a606d7b93e81d20e1e3f5a11bf5fd5b4a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
From e314c2ba64b6f7a8b88566e6c01fac791c8e4186 Mon Sep 17 00:00:00 2001
From: liuxu <liuxu156@huawei.com>
Date: Wed, 8 Nov 2023 16:03:50 +0800
Subject: [PATCH 05/14] doc:support version opt

---
 .../detailed/Network/cni_1.0.0_change.md      | 24 ++++++++++++++++++-
 .../detailed/Network/cni_operator_design.md   |  8 +++++++
 .../Network/cni_operator_design_zh.md         |  8 +++++++
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/docs/design/detailed/Network/cni_1.0.0_change.md b/docs/design/detailed/Network/cni_1.0.0_change.md
index 35dde2f7..a91225fb 100644
--- a/docs/design/detailed/Network/cni_1.0.0_change.md
+++ b/docs/design/detailed/Network/cni_1.0.0_change.md
@@ -33,7 +33,29 @@ cni_net_conf_runtime_config;
 ## 2. Execution Protocol
 ### VERSION
 
-VERSION操作用于检查插件支持的CNI规范的版本,在spec-v1.0.0中,它增加了输入参数cniVersion,iSulad未使用VERSION功能,因此不涉及。
+VERSION操作用于检查插件支持的CNI规范的版本,在spec-v1.0.0中,它增加了输入参数cniVersion。
+
+整体时序:
+```mermaid
+sequenceDiagram
+	participant conf_bridge
+	participant cni_get_plugins_supported_version
+	participant cni_version_network_list
+	participant version_network
+	participant get_version_info
+    conf_bridge ->> cni_get_plugins_supported_version:post cni_net_conf_list
+    cni_get_plugins_supported_version ->> cni_version_network_list:post cni_net_conf_list
+    loop for each plugin
+        cni_version_network_list ->> version_network:post each cni_net_conf
+        version_network ->> get_version_info:post each cni_net_conf plugin path e.g.
+        get_version_info -->> version_network:get version_result
+        version_network -->> cni_version_network_list:get version_result
+    end
+    cni_version_network_list ->> cni_version_network_list:comb cni_version_info_list
+    cni_version_network_list -->> cni_get_plugins_supported_version:get cni_version_info_list
+    cni_get_plugins_supported_version ->> cni_get_plugins_supported_version:find the latest CNI version supported by all plugins
+    cni_get_plugins_supported_version -->> conf_bridge:get version
+```
 
 ## 3. Execution of Network Configurations
 
diff --git a/docs/design/detailed/Network/cni_operator_design.md b/docs/design/detailed/Network/cni_operator_design.md
index e77f4f94..64aaf2ed 100644
--- a/docs/design/detailed/Network/cni_operator_design.md
+++ b/docs/design/detailed/Network/cni_operator_design.md
@@ -73,6 +73,14 @@ int detach_network_plane(const struct cni_manager *manager, const struct cni_net
 * Return value: return 0 on success, non-zero on failure
 */
 int check_network_plane(const struct cni_manager *manager, const struct cni_network_list_conf *list, struct cni_opt_result **result);
+
+/*
+* Description: get the CNI version information supported by the plugins required for the single network plane of the container;
+* list: network configuration;
+* result_version_list: record the CNI version supported by the plugins;
+* Return value: return 0 on success, non-zero on failure
+*/
+int version_network_plane(const struct cni_network_list_conf *list, struct cni_result_version_list **result_version_list);
 ````
 
 # 4. Detailed Design
diff --git a/docs/design/detailed/Network/cni_operator_design_zh.md b/docs/design/detailed/Network/cni_operator_design_zh.md
index ac88806e..6aa3c51a 100644
--- a/docs/design/detailed/Network/cni_operator_design_zh.md
+++ b/docs/design/detailed/Network/cni_operator_design_zh.md
@@ -73,6 +73,14 @@ int detach_network_plane(const struct cni_manager *manager, const struct cni_net
 * 返回值:成功返回0,失败返回非0
 */
 int check_network_plane(const struct cni_manager *manager, const struct cni_network_list_conf *list, struct cni_opt_result **result);
+
+/*
+* 说明:获取容器单网络平面所需的插件支持的CNI版本信息;
+* list: 网络配置;
+* result_version_list:记录插件支持的CNI版本信息;
+* 返回值:成功返回0,失败返回非0
+*/
+int version_network_plane(const struct cni_network_list_conf *list, struct cni_result_version_list **result_version_list);
 ```
 
 # 4.详细设计
-- 
2.42.0