upgrade version to v2.0.6
Signed-off-by: gaohuatao <gaohuatao@huawei.com>
This commit is contained in:
parent
bb443129b7
commit
f60259a7a6
@ -1,26 +0,0 @@
|
|||||||
From 2888c4de723200b85888cc7c2cf8b5c0b9a3c59e Mon Sep 17 00:00:00 2001
|
|
||||||
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
|
||||||
Date: Thu, 4 Feb 2021 10:49:43 +0800
|
|
||||||
Subject: [PATCH 1/2] fix CNI_ARGS value when there is no args
|
|
||||||
|
|
||||||
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
|
|
||||||
---
|
|
||||||
src/invoke/args.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/invoke/args.c b/src/invoke/args.c
|
|
||||||
index dae484e..2b357ed 100644
|
|
||||||
--- a/src/invoke/args.c
|
|
||||||
+++ b/src/invoke/args.c
|
|
||||||
@@ -126,7 +126,7 @@ static int add_cni_envs(const struct cni_args *cniargs, size_t *pos, char **resu
|
|
||||||
}
|
|
||||||
result[i++] = buffer;
|
|
||||||
buffer = NULL;
|
|
||||||
- nret = asprintf(&buffer, "%s=%s", ENV_CNI_ARGS, plugin_args_str);
|
|
||||||
+ nret = asprintf(&buffer, "%s=%s", ENV_CNI_ARGS, plugin_args_str == NULL ? "" : plugin_args_str);
|
|
||||||
if (nret < 0) {
|
|
||||||
ERROR("Sprintf failed");
|
|
||||||
goto free_out;
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
From 70b8a1516207cb9af774c6742d0973e022f3265b Mon Sep 17 00:00:00 2001
|
|
||||||
From: haozi007 <liuhao27@huawei.com>
|
|
||||||
Date: Fri, 26 Mar 2021 17:42:02 +0800
|
|
||||||
Subject: [PATCH 2/2] add error info for failed run cni plugin
|
|
||||||
|
|
||||||
Signed-off-by: haozi007 <liuhao27@huawei.com>
|
|
||||||
---
|
|
||||||
src/api.c | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/api.c b/src/api.c
|
|
||||||
index 97d166d..52d193f 100644
|
|
||||||
--- a/src/api.c
|
|
||||||
+++ b/src/api.c
|
|
||||||
@@ -348,6 +348,9 @@ static int run_cni_plugin(const struct network_config_list *list, size_t i, cons
|
|
||||||
*pret = NULL;
|
|
||||||
ret = exec_plugin_with_result(plugin_path, net.bytes, cargs, pret, err);
|
|
||||||
}
|
|
||||||
+ if (ret != 0) {
|
|
||||||
+ ERROR("pod %s CNI op failed with %s", rc->container_id, net.bytes);
|
|
||||||
+ }
|
|
||||||
free_out:
|
|
||||||
free_cni_args(cargs);
|
|
||||||
free(plugin_path);
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
@ -1,397 +0,0 @@
|
|||||||
From 678baec08a80c65950180dd0e4c403c03d628693 Mon Sep 17 00:00:00 2001
|
|
||||||
From: haozi007 <liuhao27@huawei.com>
|
|
||||||
Date: Thu, 16 Sep 2021 04:57:01 +0100
|
|
||||||
Subject: [PATCH] add testcase for clibcni
|
|
||||||
|
|
||||||
Signed-off-by: haozi007 <liuhao27@huawei.com>
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 5 +
|
|
||||||
clibcni.spec | 8 +-
|
|
||||||
tests/CMakeLists.txt | 48 ++++++++++
|
|
||||||
tests/api_llt.cpp | 185 +++++++++++++++++++++++++++++++++++++
|
|
||||||
tests/main.cpp | 22 +++++
|
|
||||||
tests/utils/CMakeLists.txt | 7 ++
|
|
||||||
tests/utils/constants.h | 37 ++++++++
|
|
||||||
7 files changed, 310 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 tests/CMakeLists.txt
|
|
||||||
create mode 100644 tests/api_llt.cpp
|
|
||||||
create mode 100644 tests/main.cpp
|
|
||||||
create mode 100644 tests/utils/CMakeLists.txt
|
|
||||||
create mode 100644 tests/utils/constants.h
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index a5c7fec..fad4472 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -58,6 +58,11 @@ endif()
|
|
||||||
|
|
||||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
||||||
|
|
||||||
+option(ENABLE_UT "enble ut testcase" OFF)
|
|
||||||
+if (ENABLE_UT STREQUAL "ON")
|
|
||||||
+ add_subdirectory(tests)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
# install all files
|
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/conf/clibcni.pc
|
|
||||||
DESTINATION ${LIB_INSTALL_DIR_DEFAULT}/pkgconfig PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE)
|
|
||||||
diff --git a/clibcni.spec b/clibcni.spec
|
|
||||||
index fa2046b..784538a 100644
|
|
||||||
--- a/clibcni.spec
|
|
||||||
+++ b/clibcni.spec
|
|
||||||
@@ -12,7 +12,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}
|
|
||||||
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: cmake
|
|
||||||
-BuildRequires: lcr-devel yajl-devel
|
|
||||||
+BuildRequires: lcr-devel yajl-devel gtest-devel
|
|
||||||
|
|
||||||
Requires: lcr
|
|
||||||
|
|
||||||
@@ -44,9 +44,13 @@ the %{name}-libs package contains libraries for running %{name} applications.
|
|
||||||
%build
|
|
||||||
mkdir -p build
|
|
||||||
cd build
|
|
||||||
-%cmake -DDEBUG=ON -DLIB_INSTALL_DIR=%{_libdir} ../
|
|
||||||
+%cmake -DDEBUG=ON -DENABLE_UT=ON -DLIB_INSTALL_DIR=%{_libdir} ../
|
|
||||||
%make_build
|
|
||||||
|
|
||||||
+pushd tests
|
|
||||||
+ctest -V
|
|
||||||
+popd
|
|
||||||
+
|
|
||||||
%install
|
|
||||||
rm -rf %{buildroot}
|
|
||||||
cd build
|
|
||||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..6cb2c7b
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/CMakeLists.txt
|
|
||||||
@@ -0,0 +1,48 @@
|
|
||||||
+enable_testing()
|
|
||||||
+find_package(GTest REQUIRED)
|
|
||||||
+
|
|
||||||
+set(CMAKE_C_COMPILER "g++" CACHE PATH "c compiler")
|
|
||||||
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
|
||||||
+
|
|
||||||
+include_directories(
|
|
||||||
+ ${GTEST_INCLUDE_DIR}
|
|
||||||
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/utils
|
|
||||||
+ PUBLIC ${CMAKE_SOURCE_DIR}/src
|
|
||||||
+ PUBLIC ${CMAKE_SOURCE_DIR}/src/version/
|
|
||||||
+ PUBLIC ${CMAKE_SOURCE_DIR}/src/types/
|
|
||||||
+ PUBLIC ${CMAKE_SOURCE_DIR}/src/invoke/
|
|
||||||
+ PUBLIC ${CMAKE_SOURCE_DIR}/src/json
|
|
||||||
+ PUBLIC ${CMAKE_SOURCE_DIR}/src/json/schema/src
|
|
||||||
+ PUBLIC ${CMAKE_BINARY_DIR}/json
|
|
||||||
+ PUBLIC ${CMAKE_BINARY_DIR}/conf
|
|
||||||
+ )
|
|
||||||
+
|
|
||||||
+add_subdirectory(utils)
|
|
||||||
+
|
|
||||||
+macro(_DEFINE_NEW_TEST)
|
|
||||||
+ add_executable(${ARGV0}
|
|
||||||
+ ${TESTS_UTILS_SRCS}
|
|
||||||
+ main.cpp
|
|
||||||
+ ${ARGV0}.cpp
|
|
||||||
+ )
|
|
||||||
+
|
|
||||||
+ target_link_libraries(${ARGV0}
|
|
||||||
+ clibcni
|
|
||||||
+ gtest
|
|
||||||
+ -lyajl
|
|
||||||
+ pthread
|
|
||||||
+ )
|
|
||||||
+
|
|
||||||
+ add_test(
|
|
||||||
+ NAME ${ARGV1}
|
|
||||||
+ COMMAND ${ARGV0}
|
|
||||||
+ )
|
|
||||||
+endmacro()
|
|
||||||
+
|
|
||||||
+# --------------- testcase add here -----------------
|
|
||||||
+# api testcase
|
|
||||||
+_DEFINE_NEW_TEST(api_llt api_testcase)
|
|
||||||
+
|
|
||||||
+# --------------- testcase add finish -----------------
|
|
||||||
+
|
|
||||||
diff --git a/tests/api_llt.cpp b/tests/api_llt.cpp
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..d21ec01
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/api_llt.cpp
|
|
||||||
@@ -0,0 +1,185 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved.
|
|
||||||
+ * clibcni licensed under the Mulan PSL v2.
|
|
||||||
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
||||||
+ * You may obtain a copy of Mulan PSL v2 at:
|
|
||||||
+ * http://license.coscl.org.cn/MulanPSL2
|
|
||||||
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
|
|
||||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
|
|
||||||
+ * PURPOSE.
|
|
||||||
+ * See the Mulan PSL v2 for more details.
|
|
||||||
+ * Author: haozi007
|
|
||||||
+ * Create: 2021-09-16
|
|
||||||
+ * Description: provide cni api functions
|
|
||||||
+ */
|
|
||||||
+#include <gtest/gtest.h>
|
|
||||||
+
|
|
||||||
+#include <iostream>
|
|
||||||
+
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <unistd.h>
|
|
||||||
+
|
|
||||||
+#include "api.h"
|
|
||||||
+#include "version.h"
|
|
||||||
+#include "conf.h"
|
|
||||||
+#include "constants.h"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void api_check_network_config_list(struct cni_network_list_conf *conf, const char *target_name, bool check_plugin_name)
|
|
||||||
+{
|
|
||||||
+ /* check network_config_list */
|
|
||||||
+ ASSERT_NE(conf, nullptr);
|
|
||||||
+ ASSERT_NE(conf->first_plugin_name, nullptr);
|
|
||||||
+ ASSERT_NE(conf->first_plugin_type, nullptr);
|
|
||||||
+ EXPECT_STREQ(target_name, conf->name);
|
|
||||||
+ ASSERT_NE(conf->bytes, nullptr);
|
|
||||||
+
|
|
||||||
+ struct network_config_list *tmp = NULL;
|
|
||||||
+ char *err = NULL;
|
|
||||||
+ int ret = conflist_from_bytes(conf->bytes, &tmp, &err);
|
|
||||||
+ if (ret != 0) {
|
|
||||||
+ std::cout << "conflist parse failed:" << err << std::endl;
|
|
||||||
+ }
|
|
||||||
+ free(err);
|
|
||||||
+ ASSERT_EQ(ret , 0);
|
|
||||||
+
|
|
||||||
+ /* check net_conf_list */
|
|
||||||
+ EXPECT_STREQ("0.3.0", tmp->list->cni_version);
|
|
||||||
+ EXPECT_STREQ(target_name, tmp->list->name);
|
|
||||||
+ ASSERT_NE(tmp->list->plugins, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins_len, 2);
|
|
||||||
+ EXPECT_STREQ("0.3.0", tmp->list->plugins[0]->cni_version);
|
|
||||||
+ if (check_plugin_name) {
|
|
||||||
+ EXPECT_STREQ(target_name, tmp->list->plugins[0]->name);
|
|
||||||
+ }
|
|
||||||
+ EXPECT_STREQ("bridge", tmp->list->plugins[0]->type);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->dns, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->runtime_config, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->capabilities, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->prev_result, nullptr);
|
|
||||||
+ EXPECT_STREQ("10.1.0.1", tmp->list->plugins[1]->dns->nameservers[0]);
|
|
||||||
+ EXPECT_STREQ("bridge", tmp->list->plugins[1]->type);
|
|
||||||
+
|
|
||||||
+ free_network_config_list(tmp);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+TEST(api_testcases, cni_conflist_from_bytes)
|
|
||||||
+{
|
|
||||||
+ int ret;
|
|
||||||
+ struct cni_network_list_conf *new_list = NULL;
|
|
||||||
+ char *err = NULL;
|
|
||||||
+
|
|
||||||
+ ret = cni_conflist_from_bytes(COMMON_CONF_LIST, &new_list, &err);
|
|
||||||
+ if (ret != 0) {
|
|
||||||
+ std::cout << "conflist parse failed:" << err << std::endl;
|
|
||||||
+ }
|
|
||||||
+ free(err);
|
|
||||||
+ std::cout << new_list->bytes << std::endl;
|
|
||||||
+
|
|
||||||
+ api_check_network_config_list(new_list, "default", true);
|
|
||||||
+
|
|
||||||
+ free(err);
|
|
||||||
+ free_cni_network_list_conf(new_list);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void api_check_network_config_list_from_conf(struct cni_network_list_conf *conf, const char *target_name, bool check_plugin_name)
|
|
||||||
+{
|
|
||||||
+ /* check network_config_list */
|
|
||||||
+ ASSERT_NE(conf, nullptr);
|
|
||||||
+ ASSERT_NE(conf->first_plugin_name, nullptr);
|
|
||||||
+ ASSERT_NE(conf->first_plugin_type, nullptr);
|
|
||||||
+ EXPECT_STREQ(target_name, conf->name);
|
|
||||||
+ ASSERT_NE(conf->bytes, nullptr);
|
|
||||||
+
|
|
||||||
+ struct network_config_list *tmp = NULL;
|
|
||||||
+ char *err = NULL;
|
|
||||||
+ int ret = conflist_from_bytes(conf->bytes, &tmp, &err);
|
|
||||||
+ if (ret != 0) {
|
|
||||||
+ std::cout << "conflist parse failed:" << err << std::endl;
|
|
||||||
+ }
|
|
||||||
+ free(err);
|
|
||||||
+ ASSERT_EQ(ret , 0);
|
|
||||||
+
|
|
||||||
+ /* check net_conf_list */
|
|
||||||
+ EXPECT_STREQ("0.3.0", tmp->list->cni_version);
|
|
||||||
+ EXPECT_STREQ(target_name, tmp->list->name);
|
|
||||||
+ ASSERT_NE(tmp->list->plugins, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins_len, 1);
|
|
||||||
+ EXPECT_STREQ("0.3.0", tmp->list->plugins[0]->cni_version);
|
|
||||||
+ if (check_plugin_name) {
|
|
||||||
+ EXPECT_STREQ(target_name, tmp->list->plugins[0]->name);
|
|
||||||
+ }
|
|
||||||
+ EXPECT_STREQ("bridge", tmp->list->plugins[0]->type);
|
|
||||||
+ ASSERT_NE(tmp->list->plugins[0]->dns, nullptr);
|
|
||||||
+ EXPECT_STREQ("10.1.0.1", tmp->list->plugins[0]->dns->nameservers[0]);
|
|
||||||
+ EXPECT_STREQ("bridge", tmp->list->plugins[0]->type);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->runtime_config, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->capabilities, nullptr);
|
|
||||||
+ ASSERT_EQ(tmp->list->plugins[0]->prev_result, nullptr);
|
|
||||||
+ ASSERT_NE(tmp->list->plugins[0]->ipam, nullptr);
|
|
||||||
+ EXPECT_STREQ("host-local", tmp->list->plugins[0]->ipam->type);
|
|
||||||
+ EXPECT_STREQ("10.1.0.0/16", tmp->list->plugins[0]->ipam->subnet);
|
|
||||||
+ EXPECT_STREQ("10.1.0.1", tmp->list->plugins[0]->ipam->gateway);
|
|
||||||
+
|
|
||||||
+ free_network_config_list(tmp);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+TEST(api_testcases, cni_conflist_from_conf)
|
|
||||||
+{
|
|
||||||
+ int ret;
|
|
||||||
+ struct cni_network_list_conf *new_list = NULL;
|
|
||||||
+ char *err = NULL;
|
|
||||||
+ struct cni_network_conf test = {
|
|
||||||
+ .name = "default",
|
|
||||||
+ .type = "bridge",
|
|
||||||
+ .bytes = COMMON_CONF,
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ ret = cni_conflist_from_conf(&test, &new_list, &err);
|
|
||||||
+ if (ret != 0) {
|
|
||||||
+ std::cout << "conflist parse failed:" << err << std::endl;
|
|
||||||
+ }
|
|
||||||
+ free(err);
|
|
||||||
+ std::cout << new_list->bytes << std::endl;
|
|
||||||
+
|
|
||||||
+ api_check_network_config_list_from_conf(new_list, "default", true);
|
|
||||||
+
|
|
||||||
+ free(err);
|
|
||||||
+ free_cni_network_list_conf(new_list);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+TEST(api_testcases, get_version_info)
|
|
||||||
+{
|
|
||||||
+ const std::string CNI_PLUGIN_PATH = "/opt/cni/bin/";
|
|
||||||
+ char *err = nullptr;
|
|
||||||
+ struct plugin_info *pinfo = nullptr;
|
|
||||||
+ size_t i = 0;
|
|
||||||
+ int ret = 0;
|
|
||||||
+ char *paths[] = {strdup(CNI_PLUGIN_PATH.c_str()), nullptr};
|
|
||||||
+ const std::string bridge_name = "bridge";
|
|
||||||
+
|
|
||||||
+ ret = cni_get_version_info(bridge_name.c_str(), paths, &pinfo, &err);
|
|
||||||
+ if (ret != 0) {
|
|
||||||
+ if (strstr(err, "No such file or directory") != nullptr) {
|
|
||||||
+ std::cout << "Skip: cni_get_version_info api cause by no bridge plugin found" << std::endl;
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ std::cout << "Get version failed:" << err << std::endl;
|
|
||||||
+ }
|
|
||||||
+ ASSERT_EQ(ret, 0);
|
|
||||||
+
|
|
||||||
+ /* check plugin info */
|
|
||||||
+ EXPECT_STREQ("0.4.0", pinfo->cniversion);
|
|
||||||
+ ASSERT_LE(0, pinfo->supported_versions_len);
|
|
||||||
+ for (i = 0; i < pinfo->supported_versions_len; i++) {
|
|
||||||
+ if (strcmp(pinfo->supported_versions[i], CURRENT_VERSION) == 0) {
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ ASSERT_LE(i, pinfo->supported_versions_len);
|
|
||||||
+
|
|
||||||
+ free_plugin_info(pinfo);
|
|
||||||
+ free(paths[0]);
|
|
||||||
+ paths[0] = nullptr;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
diff --git a/tests/main.cpp b/tests/main.cpp
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..7a4bc09
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/main.cpp
|
|
||||||
@@ -0,0 +1,22 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved.
|
|
||||||
+ * clibcni licensed under the Mulan PSL v2.
|
|
||||||
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
||||||
+ * You may obtain a copy of Mulan PSL v2 at:
|
|
||||||
+ * http://license.coscl.org.cn/MulanPSL2
|
|
||||||
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
|
|
||||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
|
|
||||||
+ * PURPOSE.
|
|
||||||
+ * See the Mulan PSL v2 for more details.
|
|
||||||
+ * Author: haozi007
|
|
||||||
+ * Create: 2021-09-16
|
|
||||||
+ * Description: provide cni api functions
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include "gtest/gtest.h"
|
|
||||||
+
|
|
||||||
+int main(int argc, char **argv) {
|
|
||||||
+ testing::InitGoogleTest(&argc, argv);
|
|
||||||
+
|
|
||||||
+ return RUN_ALL_TESTS();
|
|
||||||
+}
|
|
||||||
diff --git a/tests/utils/CMakeLists.txt b/tests/utils/CMakeLists.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..9b01eb6
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/utils/CMakeLists.txt
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+# get current directory sources files
|
|
||||||
+aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} local_cutils_srcs)
|
|
||||||
+
|
|
||||||
+set(TESTS_UTILS_SRCS
|
|
||||||
+ ${local_cutils_srcs}
|
|
||||||
+ PARENT_SCOPE
|
|
||||||
+ )
|
|
||||||
diff --git a/tests/utils/constants.h b/tests/utils/constants.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..1f06bfc
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/utils/constants.h
|
|
||||||
@@ -0,0 +1,37 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved.
|
|
||||||
+ * clibcni licensed under the Mulan PSL v2.
|
|
||||||
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
||||||
+ * You may obtain a copy of Mulan PSL v2 at:
|
|
||||||
+ * http://license.coscl.org.cn/MulanPSL2
|
|
||||||
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
|
|
||||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
|
|
||||||
+ * PURPOSE.
|
|
||||||
+ * See the Mulan PSL v2 for more details.
|
|
||||||
+ * Author: haozi007
|
|
||||||
+ * Create: 2021-09-16
|
|
||||||
+ * Description: provide cni api functions
|
|
||||||
+ */
|
|
||||||
+#ifndef _TESTS_CONSTANTS_H
|
|
||||||
+#define _TESTS_CONSTANTS_H
|
|
||||||
+
|
|
||||||
+#ifdef __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define DEFAULT_CNI_BIN_PATH "/opt/cni/bin"
|
|
||||||
+
|
|
||||||
+#define COMMON_CONF_LIST "{\"cniVersion\":\"0.3.0\",\"name\":\"default\", \
|
|
||||||
+ \"plugins\":[{\"cniVersion\":\"0.3.0\", \"name\":\"default\",\"type\":\"bridge\"}, \
|
|
||||||
+ {\"name\": \"exist\",\"type\": \"bridge\", \"dns\": {\"nameservers\": [\"10.1.0.1\"]}}]}"
|
|
||||||
+
|
|
||||||
+#define COMMON_CONF "{\"cniVersion\":\"0.3.0\",\"name\":\"default\", \
|
|
||||||
+ \"type\": \"bridge\", \"bridge\": \"cni0\", \"isGateway\": \"true\", \
|
|
||||||
+ \"ipam\": {\"type\": \"host-local\", \"subnet\": \"10.1.0.0/16\", \"gateway\": \"10.1.0.1\"},\
|
|
||||||
+ \"dns\": {\"nameservers\": [\"10.1.0.1\"]}}"
|
|
||||||
+
|
|
||||||
+#ifdef __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
||||||
13
clibcni.spec
13
clibcni.spec
@ -1,5 +1,5 @@
|
|||||||
%global _version 2.0.4
|
%global _version 2.0.6
|
||||||
%global _release 20210916.073015.gitf0a2cb38
|
%global _release 1
|
||||||
Name: clibcni
|
Name: clibcni
|
||||||
Version: %{_version}
|
Version: %{_version}
|
||||||
Release: %{_release}
|
Release: %{_release}
|
||||||
@ -10,9 +10,6 @@ URL: https://gitee.com/openeuler/clibcni
|
|||||||
Source0: https://gitee.com/openeuler/clibcni/repository/archive/v%{version}.tar.gz
|
Source0: https://gitee.com/openeuler/clibcni/repository/archive/v%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}
|
BuildRoot: %{_tmppath}/%{name}-%{version}
|
||||||
|
|
||||||
Patch0001: 0001-fix-CNI_ARGS-value-when-there-is-no-args.patch
|
|
||||||
Patch0002: 0002-add-error-info-for-failed-run-cni-plugin.patch
|
|
||||||
Patch0003: 0003-add-testcase-for-clibcni.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc git gcc-c++
|
BuildRequires: gcc git gcc-c++
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
@ -93,6 +90,12 @@ rm -rf %{buildroot}
|
|||||||
%{_libdir}/pkgconfig/%{name}.pc
|
%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 09 2021 haozi007 <liuhao27@huawei.com> - 2.0.6-1
|
||||||
|
- Type: upgrade version
|
||||||
|
- ID: NA
|
||||||
|
- SUG: NA
|
||||||
|
- DESC: upgrade to v2.0.6
|
||||||
|
|
||||||
* Mon Jun 28 2021 haozi007 <liuhao27@huawei.com> - 2.0.4-20210628.190359.git14c104bc
|
* Mon Jun 28 2021 haozi007 <liuhao27@huawei.com> - 2.0.4-20210628.190359.git14c104bc
|
||||||
- Type: add g++ to build require
|
- Type: add g++ to build require
|
||||||
- ID: NA
|
- ID: NA
|
||||||
|
|||||||
BIN
v2.0.4.tar.gz
BIN
v2.0.4.tar.gz
Binary file not shown.
BIN
v2.0.6.tar.gz
Normal file
BIN
v2.0.6.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user