提交 8c0ee03e 编写于 作者: O openeuler-ci-bot 提交者: Gitee

!632 refector: fix cri code according to coding standards

Merge pull request !632 from JingWoo/master
......@@ -15,20 +15,20 @@
#include "checkpoint_handler.h"
#include <cstring>
#include <errno.h>
#include <linux/limits.h>
#include <memory>
#include <string>
#include <linux/limits.h>
#include <unistd.h>
#include <errno.h>
#include "constants.h"
#include "utils.h"
#include "isula_libutils/log.h"
#include "cri_helpers.h"
#include "isula_libutils/cri_checkpoint.h"
#include "isula_libutils/log.h"
#include "utils.h"
namespace cri {
PortMapping &PortMapping::operator=(const PortMapping &obj)
auto PortMapping::operator=(const PortMapping &obj) -> PortMapping &
{
if (&obj == this) {
return *this;
......@@ -74,7 +74,7 @@ PortMapping::~PortMapping()
delete m_hostPort;
}
const std::string *PortMapping::GetProtocol() const
auto PortMapping::GetProtocol() const -> const std::string *
{
return m_protocol;
}
......@@ -87,7 +87,7 @@ void PortMapping::SetProtocol(const std::string &protocol)
}
}
const int32_t *PortMapping::GetContainerPort() const
auto PortMapping::GetContainerPort() const -> const int32_t *
{
return m_containerPort;
}
......@@ -101,7 +101,7 @@ void PortMapping::SetContainerPort(int32_t containerPort)
}
}
const int32_t *PortMapping::GetHostPort() const
auto PortMapping::GetHostPort() const -> const int32_t *
{
return m_hostPort;
}
......@@ -168,7 +168,7 @@ void PortMapping::CStructToPortMapping(const cri_port_mapping *pmapping, Errors
}
}
const std::vector<PortMapping> &CheckpointData::GetPortMappings() const
auto CheckpointData::GetPortMappings() const -> const std::vector<PortMapping> &
{
return m_portMappings;
}
......@@ -178,7 +178,7 @@ void CheckpointData::InsertPortMapping(const PortMapping &portMapping)
m_portMappings.push_back(portMapping);
}
bool CheckpointData::GetHostNetwork()
auto CheckpointData::GetHostNetwork() const -> bool
{
return m_hostNetwork;
}
......@@ -232,7 +232,7 @@ void CheckpointData::CStructToCheckpointData(const cri_checkpoint_data *data, Er
return;
}
m_hostNetwork = data->host_network;
if (data->port_mappings && data->port_mappings_len > 0) {
if ((data->port_mappings != nullptr) && data->port_mappings_len > 0) {
for (size_t i = 0; i < data->port_mappings_len; i++) {
PortMapping tmpPortMap;
tmpPortMap.CStructToPortMapping(data->port_mappings[i], error);
......@@ -248,7 +248,7 @@ out:
m_portMappings.clear();
}
const std::string &PodSandboxCheckpoint::GetVersion() const
auto PodSandboxCheckpoint::GetVersion() const -> const std::string &
{
return m_version;
}
......@@ -258,7 +258,7 @@ void PodSandboxCheckpoint::SetVersion(const std::string &version)
m_version = version;
}
const std::string &PodSandboxCheckpoint::GetName() const
auto PodSandboxCheckpoint::GetName() const -> const std::string &
{
return m_name;
}
......@@ -268,7 +268,7 @@ void PodSandboxCheckpoint::SetName(const std::string &name)
m_name = name;
}
const std::string &PodSandboxCheckpoint::GetNamespace() const
auto PodSandboxCheckpoint::GetNamespace() const -> const std::string &
{
return m_namespace;
}
......@@ -278,7 +278,7 @@ void PodSandboxCheckpoint::SetNamespace(const std::string &ns)
m_namespace = ns;
}
std::shared_ptr<CheckpointData> PodSandboxCheckpoint::GetData()
auto PodSandboxCheckpoint::GetData() -> std::shared_ptr<CheckpointData>
{
return m_data;
}
......@@ -288,7 +288,7 @@ void PodSandboxCheckpoint::SetData(CheckpointData *data)
m_data = std::shared_ptr<CheckpointData>(data);
}
const std::string &PodSandboxCheckpoint::GetCheckSum() const
auto PodSandboxCheckpoint::GetCheckSum() const -> const std::string &
{
return m_checkSum;
}
......
......@@ -14,9 +14,9 @@
*********************************************************************************/
#ifndef DAEMON_ENTRY_CRI_CHECKPOINT_HANDLER_H
#define DAEMON_ENTRY_CRI_CHECKPOINT_HANDLER_H
#include <memory>
#include <string>
#include <vector>
#include <memory>
#include "errors.h"
#include "isula_libutils/cri_checkpoint.h"
......@@ -28,16 +28,16 @@ class PortMapping {
public:
PortMapping() = default;
PortMapping(const PortMapping &obj);
PortMapping &operator=(const PortMapping &);
auto operator=(const PortMapping &) -> PortMapping &;
~PortMapping();
void PortMappingToCStruct(cri_port_mapping **pmapping, Errors &error);
void CStructToPortMapping(const cri_port_mapping *pmapping, Errors &error);
const std::string *GetProtocol() const;
auto GetProtocol() const -> const std::string *;
void SetProtocol(const std::string &protocol);
const int32_t *GetContainerPort() const;
auto GetContainerPort() const -> const int32_t *;
void SetContainerPort(int32_t containerPort);
const int32_t *GetHostPort() const;
auto GetHostPort() const -> const int32_t *;
void SetHostPort(int32_t hostPort);
private:
......@@ -51,9 +51,9 @@ public:
void CheckpointDataToCStruct(cri_checkpoint_data **data, Errors &error);
void CStructToCheckpointData(const cri_checkpoint_data *data, Errors &error);
const std::vector<PortMapping> &GetPortMappings() const;
auto GetPortMappings() const -> const std::vector<PortMapping> &;
void InsertPortMapping(const PortMapping &portMapping);
bool GetHostNetwork();
auto GetHostNetwork() const -> bool;
void SetHostNetwork(bool hostNetwork);
private:
......@@ -68,15 +68,15 @@ public:
void CheckpointToCStruct(cri_checkpoint **checkpoint, Errors &error);
void CStructToCheckpoint(const cri_checkpoint *checkpoint, Errors &error);
const std::string &GetVersion() const;
auto GetVersion() const -> const std::string &;
void SetVersion(const std::string &version);
const std::string &GetName() const;
auto GetName() const -> const std::string &;
void SetName(const std::string &name);
const std::string &GetNamespace() const;
auto GetNamespace() const -> const std::string &;
void SetNamespace(const std::string &ns);
std::shared_ptr<CheckpointData> GetData();
auto GetData() -> std::shared_ptr<CheckpointData>;
void SetData(CheckpointData *data);
const std::string &GetCheckSum() const;
auto GetCheckSum() const -> const std::string &;
void SetCheckSum(const std::string &checkSum);
private:
......
......@@ -13,21 +13,22 @@
* Description: provide cni network plugin function definition
**********************************************************************************/
#include "cni_network_plugin.h"
#include <iostream>
#include <memory>
#include <algorithm>
#include <vector>
#include <chrono>
#include <iostream>
#include <utility>
#include <memory>
#include <set>
#include <chrono>
#include <utility>
#include <vector>
#include "cri_helpers.h"
#include "cxxutils.h"
#include "isula_libutils/log.h"
#include "utils.h"
#include "cri_helpers.h"
namespace Network {
static std::unique_ptr<CNINetwork> GetLoNetwork(std::vector<std::string> binDirs, const std::string &vendorDirPrefix)
static auto GetLoNetwork(std::vector<std::string> binDirs) -> std::unique_ptr<CNINetwork>
{
const std::string loNetConfListJson { "{\"cniVersion\": \"0.3.0\", \"name\": \"cni-loopback\","
"\"plugins\":[{\"type\": \"loopback\" }]}" };
......@@ -44,7 +45,7 @@ static std::unique_ptr<CNINetwork> GetLoNetwork(std::vector<std::string> binDirs
char **traces = get_backtrace();
if (traces != nullptr) {
ERROR("show backtrace: ");
for (char **sym = traces; sym && *sym; sym++) {
for (char **sym = traces; (sym != nullptr) && (*sym != nullptr); sym++) {
ERROR("%s", *sym);
}
util_free_array(traces);
......@@ -75,7 +76,7 @@ CNINetwork::~CNINetwork()
free_cni_network_list_conf(m_networkConfig);
}
char **CNINetwork::GetPaths(Errors &err)
auto CNINetwork::GetPaths(Errors &err) -> char **
{
char **paths = CRIHelpers::StringVectorToCharArray(m_path);
if (paths == nullptr) {
......@@ -90,7 +91,7 @@ void ProbeNetworkPlugins(const std::string &pluginDir, const std::string &binDir
const std::string useBinDir = binDir.empty() ? DEFAULT_CNI_DIR : binDir;
std::vector<std::string> binDirs = CXXUtils::Split(useBinDir, ',');
auto plugin = std::make_shared<CniNetworkPlugin>(binDirs, pluginDir);
plugin->SetLoNetwork(GetLoNetwork(binDirs, ""));
plugin->SetLoNetwork(GetLoNetwork(binDirs));
plugins->push_back(plugin);
}
......@@ -151,10 +152,10 @@ void CniNetworkPlugin::PlatformInit(Errors &error)
}
m_nsenterPath = tpath;
free(tpath);
return;
}
int CniNetworkPlugin::GetCNIConfFiles(const std::string &pluginDir, std::vector<std::string> &vect_files, Errors &err)
auto CniNetworkPlugin::GetCNIConfFiles(const std::string &pluginDir, std::vector<std::string> &vect_files,
Errors &err) -> int
{
int ret { 0 };
std::string usePluginDir { pluginDir };
......@@ -187,7 +188,7 @@ out:
return ret;
}
int CniNetworkPlugin::LoadCNIConfigFileList(const std::string &elem, struct cni_network_list_conf **n_list)
auto CniNetworkPlugin::LoadCNIConfigFileList(const std::string &elem, struct cni_network_list_conf **n_list) -> int
{
int ret { 0 };
std::size_t found = elem.rfind(".conflist");
......@@ -227,11 +228,11 @@ out:
return ret;
}
int CniNetworkPlugin::InsertConfNameToAllPanes(struct cni_network_list_conf *n_list, std::set<std::string> &allPanes,
Errors &err)
auto CniNetworkPlugin::InsertConfNameToAllPanes(struct cni_network_list_conf *n_list, std::set<std::string> &allPanes,
Errors &err) -> int
{
int ret { 0 };
std::string confName { "" };
std::string confName;
if (n_list == nullptr) {
err.Errorf("Invalid arguments");
......@@ -265,7 +266,7 @@ void CniNetworkPlugin::GetDefaultCNINetwork(const std::string &confDir, std::vec
}
sort(files.begin(), files.end());
for (auto elem : files) {
for (const auto &elem : files) {
struct cni_network_list_conf *n_list = nullptr;
if (LoadCNIConfigFileList(elem, &n_list) != 0) {
......@@ -336,10 +337,9 @@ void CniNetworkPlugin::Init(CRIRuntimeServiceImpl *criImpl, const std::string &h
m_syncThread = std::thread([&]() {
UpdateDefaultNetwork();
});
return;
}
const std::string &CniNetworkPlugin::Name() const
auto CniNetworkPlugin::Name() const -> const std::string &
{
return CNI_PLUGIN_NAME;
}
......@@ -418,7 +418,7 @@ void CniNetworkPlugin::TearDownPod(const std::string &ns, const std::string &nam
UnlockNetworkMap(err);
}
std::map<int, bool> *CniNetworkPlugin::Capabilities()
auto CniNetworkPlugin::Capabilities() -> std::map<int, bool> *
{
return m_noop.Capabilities();
}
......@@ -459,11 +459,12 @@ void CniNetworkPlugin::Event(const std::string &name, std::map<std::string, std:
SetPodCidr(iter->second);
}
void CniNetworkPlugin::GetPodNetworkStatus(const std::string &ns, const std::string &name,
void CniNetworkPlugin::GetPodNetworkStatus(const std::string & /*ns*/, const std::string & /*name*/,
const std::string &interfaceName, const std::string &podSandboxID,
PodNetworkStatus &status, Errors &err)
{
std::string netnsPath, ip;
std::string netnsPath;
std::string ip;
Errors tmpErr;
if (podSandboxID.empty()) {
......@@ -592,7 +593,7 @@ static void PrepareRuntimeConf(const std::string &podName,
}
auto iter = options.find("UID");
std::string podUID {""};
std::string podUID;
if (iter != options.end()) {
podUID = iter->second;
}
......@@ -647,7 +648,7 @@ void CniNetworkPlugin::BuildCNIRuntimeConf(const std::string &podName,
*cni_rc = nullptr;
auto iter = annotations.find(CRIHelpers::Constants::POD_CHECKPOINT_KEY);
std::string jsonCheckpoint { "" };
std::string jsonCheckpoint;
if (iter != annotations.end()) {
jsonCheckpoint = iter->second;
}
......@@ -668,7 +669,7 @@ void CniNetworkPlugin::BuildCNIRuntimeConf(const std::string &podName,
std::back_inserter(portMappings));
}
if (portMappings.size() > 0) {
if (!portMappings.empty()) {
if (portMappings.size() > SIZE_MAX / sizeof(struct cni_port_mapping *)) {
err.SetError("Invalid cni port mapping size");
goto free_out;
......@@ -679,8 +680,8 @@ void CniNetworkPlugin::BuildCNIRuntimeConf(const std::string &podName,
err.SetError("Out of memory");
goto free_out;
}
for (auto iter = portMappings.cbegin(); iter != portMappings.cend(); iter++) {
if (iter->GetHostPort() && *(iter->GetHostPort()) <= 0) {
for (const auto &portMapping : portMappings) {
if ((portMapping.GetHostPort() != nullptr) && *(portMapping.GetHostPort()) <= 0) {
continue;
}
rt->p_mapping[rt->p_mapping_len] =
......@@ -689,14 +690,14 @@ void CniNetworkPlugin::BuildCNIRuntimeConf(const std::string &podName,
err.SetError("Out of memory");
goto free_out;
}
if (iter->GetHostPort()) {
rt->p_mapping[rt->p_mapping_len]->host_port = *(iter->GetHostPort());
if (portMapping.GetHostPort() != nullptr) {
rt->p_mapping[rt->p_mapping_len]->host_port = *(portMapping.GetHostPort());
}
if (iter->GetContainerPort()) {
rt->p_mapping[rt->p_mapping_len]->container_port = *(iter->GetContainerPort());
if (portMapping.GetContainerPort() != nullptr) {
rt->p_mapping[rt->p_mapping_len]->container_port = *(portMapping.GetContainerPort());
}
if (iter->GetProtocol()) {
rt->p_mapping[rt->p_mapping_len]->protocol = strings_to_lower(iter->GetProtocol()->c_str());
if (portMapping.GetProtocol() != nullptr) {
rt->p_mapping[rt->p_mapping_len]->protocol = strings_to_lower(portMapping.GetProtocol()->c_str());
}
// ignore hostip, because GetPodPortMappings() don't set
(rt->p_mapping_len)++;
......
......@@ -15,19 +15,19 @@
#ifndef DAEMON_ENTRY_CRI_CNI_NETWORK_PLUGIN_H
#define DAEMON_ENTRY_CRI_CNI_NETWORK_PLUGIN_H
#include <memory>
#include <string>
#include <map>
#include <vector>
#include <memory>
#include <set>
#include <string>
#include <thread>
#include <vector>
#include <clibcni/api.h>
#include "cri_runtime_service.h"
#include "errors.h"
#include "network_plugin.h"
#include "utils.h"
#include "errors.h"
#include "cri_runtime_service.h"
namespace Network {
#define UNUSED(x) ((void)(x))
......@@ -39,10 +39,10 @@ class CNINetwork {
public:
CNINetwork() = delete;
CNINetwork(const CNINetwork &) = delete;
CNINetwork &operator=(const CNINetwork &) = delete;
auto operator=(const CNINetwork &) -> CNINetwork & = delete;
CNINetwork(const std::string &name, struct cni_network_list_conf *netList);
~CNINetwork();
const std::string &GetName() const
auto GetName() const -> const std::string &
{
return m_name;
}
......@@ -54,26 +54,25 @@ public:
{
m_path = binDirs;
}
std::string GetNetworkConfigJsonStr()
auto GetNetworkConfigJsonStr() -> std::string
{
return m_networkConfig->bytes ? m_networkConfig->bytes : "";
return m_networkConfig->bytes != nullptr ? m_networkConfig->bytes : "";
}
std::string GetNetworkType() const
auto GetNetworkType() const -> std::string
{
return m_networkConfig->first_plugin_type ? m_networkConfig->first_plugin_type : "";
return m_networkConfig->first_plugin_type != nullptr ? m_networkConfig->first_plugin_type : "";
}
std::string GetNetworkName() const
auto GetNetworkName() const -> std::string
{
return m_networkConfig->first_plugin_name ? m_networkConfig->first_plugin_name : "";
return m_networkConfig->first_plugin_name != nullptr ? m_networkConfig->first_plugin_name : "";
}
struct cni_network_list_conf *UpdateCNIConfList(struct cni_network_list_conf *newConf)
{
auto UpdateCNIConfList(struct cni_network_list_conf *newConf) -> struct cni_network_list_conf * {
struct cni_network_list_conf *result = m_networkConfig;
m_networkConfig = newConf;
return result;
}
char **GetPaths(Errors &err);
auto GetPaths(Errors &err) -> char **;
private:
std::string m_name;
......@@ -95,9 +94,9 @@ public:
void Event(const std::string &name, std::map<std::string, std::string> &details) override;
const std::string &Name() const override;
auto Name() const -> const std::string &override;
std::map<int, bool> *Capabilities() override;
auto Capabilities() -> std::map<int, bool> * override;
void SetUpPod(const std::string &ns, const std::string &name,
const std::string &interfaceName, const std::string &podSandboxID,
......@@ -105,7 +104,7 @@ public:
const std::map<std::string, std::string> &options, Errors &error) override;
void TearDownPod(const std::string &ns, const std::string &name,
const std::string &networkPlane, const std::string &podSandboxID,
const std::string &interfaceName, const std::string &podSandboxID,
const std::map<std::string, std::string> &annotations, Errors &error) override;
void GetPodNetworkStatus(const std::string &ns, const std::string &name, const std::string &interfaceName,
......@@ -119,7 +118,7 @@ private:
virtual void PlatformInit(Errors &error);
virtual void SyncNetworkConfig();
virtual void GetDefaultCNINetwork(const std::string &pluginDir, std::vector<std::string> &binDirs, Errors &error);
virtual void GetDefaultCNINetwork(const std::string &confDir, std::vector<std::string> &binDirs, Errors &error);
virtual void CheckInitialized(Errors &error);
......@@ -143,15 +142,16 @@ private:
const std::map<std::string, std::string> &options,
struct runtime_conf **cni_rc, Errors &error);
private:
void RLockNetworkMap(Errors &error);
void WLockNetworkMap(Errors &error);
void UnlockNetworkMap(Errors &error);
void SetDefaultNetwork(std::unique_ptr<CNINetwork> network, std::vector<std::string> &binDirs, Errors &err);
void SetPodCidr(const std::string &podCidr);
int GetCNIConfFiles(const std::string &pluginDir, std::vector<std::string> &vect_files, Errors &err);
int LoadCNIConfigFileList(const std::string &elem, struct cni_network_list_conf **n_list);
int InsertConfNameToAllPanes(struct cni_network_list_conf *n_list, std::set<std::string> &allPanes, Errors &err);
static auto GetCNIConfFiles(const std::string &pluginDir, std::vector<std::string> &vect_files, Errors &err) -> int;
static auto LoadCNIConfigFileList(const std::string &elem, struct cni_network_list_conf **n_list) -> int;
static auto InsertConfNameToAllPanes(struct cni_network_list_conf *n_list, std::set<std::string> &allPanes,
Errors &err) -> int;
void ResetCNINetwork(std::map<std::string, std::unique_ptr<CNINetwork>> &newNets, Errors &err);
void UpdateDefaultNetwork();
......
......@@ -22,7 +22,7 @@ class CRIContainerManagerImpl : public cri::ContainerManager {
public:
CRIContainerManagerImpl() = default;
CRIContainerManagerImpl(const CRIContainerManagerImpl &) = delete;
CRIContainerManagerImpl &operator=(const CRIContainerManagerImpl &) = delete;
auto operator=(const CRIContainerManagerImpl &) -> CRIContainerManagerImpl & = delete;
virtual ~CRIContainerManagerImpl() = default;
};
......
......@@ -14,21 +14,21 @@
*********************************************************************************/
#include "cri_helpers.h"
#include <utility>
#include <algorithm>
#include <functional>
#include <iostream>
#include <algorithm>
#include <openssl/sha.h>
#include <sys/utsname.h>
#include <utility>
#include "cri_runtime_service.h"
#include "api.pb.h"
#include "cri_runtime_service.h"
#include "cri_security_context.h"
#include "utils.h"
#include "cxxutils.h"
#include "isula_libutils/log.h"
#include "path.h"
#include "isula_libutils/parse_common.h"
#include "cxxutils.h"
#include "path.h"
#include "utils.h"
namespace CRIHelpers {
const std::string Constants::DEFAULT_RUNTIME_NAME { "lcr" };
......@@ -58,12 +58,12 @@ const char *InternalLabelKeys[] = {
CRIHelpers::Constants::SANDBOX_ID_LABEL_KEY.c_str(), nullptr
};
std::string GetDefaultSandboxImage(Errors &err)
auto GetDefaultSandboxImage(Errors &err) -> std::string
{
const std::string defaultPodSandboxImageName { "pause" };
const std::string defaultPodSandboxImageVersion { "3.0" };
std::string machine;
struct utsname uts;
struct utsname uts {};
if (uname(&uts) < 0) {
err.SetError("Failed to read host arch.");
......@@ -85,7 +85,8 @@ std::string GetDefaultSandboxImage(Errors &err)
return defaultPodSandboxImageName + "-" + machine + ":" + defaultPodSandboxImageVersion;
}
json_map_string_string *MakeLabels(const google::protobuf::Map<std::string, std::string> &mapLabels, Errors &error)
auto MakeLabels(const google::protobuf::Map<std::string, std::string> &mapLabels,
Errors &error) -> json_map_string_string *
{
json_map_string_string *labels = (json_map_string_string *)util_common_calloc_s(sizeof(json_map_string_string));
if (labels == nullptr) {
......@@ -93,7 +94,7 @@ json_map_string_string *MakeLabels(const google::protobuf::Map<std::string, std:
return nullptr;
}
if (mapLabels.size() > 0) {
if (!mapLabels.empty()) {
if (mapLabels.size() > LIST_SIZE_MAX) {
error.Errorf("Labels list is too long, the limit is %d", LIST_SIZE_MAX);
goto cleanup;
......@@ -111,8 +112,8 @@ cleanup:
return nullptr;
}
json_map_string_string *MakeAnnotations(const google::protobuf::Map<std::string, std::string> &mapAnnotations,
Errors &error)
auto MakeAnnotations(const google::protobuf::Map<std::string, std::string> &mapAnnotations,
Errors &error) -> json_map_string_string *
{
json_map_string_string *annotations =
(json_map_string_string *)util_common_calloc_s(sizeof(json_map_string_string));
......@@ -121,7 +122,7 @@ json_map_string_string *MakeAnnotations(const google::protobuf::Map<std::string,
return nullptr;
}
if (mapAnnotations.size() > 0) {
if (!mapAnnotations.empty()) {
if (mapAnnotations.size() > LIST_SIZE_MAX) {
error.Errorf("Annotations list is too long, the limit is %d", LIST_SIZE_MAX);
goto cleanup;
......@@ -147,7 +148,7 @@ void ProtobufAnnoMapToStd(const google::protobuf::Map<std::string, std::string>
}
}
static bool IsSandboxLabel(json_map_string_string *input)
static auto IsSandboxLabel(json_map_string_string *input) -> bool
{
bool is_sandbox_label { false };
......@@ -207,7 +208,7 @@ void ExtractAnnotations(json_map_string_string *input, google::protobuf::Map<std
}
}
int FiltersAdd(defs_filters *filters, const std::string &key, const std::string &value)
auto FiltersAdd(defs_filters *filters, const std::string &key, const std::string &value) -> int
{
if (filters == nullptr) {
return -1;
......@@ -230,7 +231,7 @@ int FiltersAdd(defs_filters *filters, const std::string &key, const std::string
return -1;
}
if (filters->len) {
if (filters->len != 0u) {
(void)memcpy(keys, filters->keys, filters->len * sizeof(char *));
(void)memcpy(vals, filters->values, filters->len * sizeof(json_map_string_bool *));
......@@ -245,7 +246,7 @@ int FiltersAdd(defs_filters *filters, const std::string &key, const std::string
ERROR("Out of memory");
return -1;
}
if (append_json_map_string_bool(filters->values[filters->len], value.c_str(), true)) {
if (append_json_map_string_bool(filters->values[filters->len], value.c_str(), true) != 0) {
ERROR("Append failed");
return -1;
}
......@@ -255,7 +256,7 @@ int FiltersAdd(defs_filters *filters, const std::string &key, const std::string
return 0;
}
int FiltersAddLabel(defs_filters *filters, const std::string &key, const std::string &value)
auto FiltersAddLabel(defs_filters *filters, const std::string &key, const std::string &value) -> int
{
if (filters == nullptr) {
return -1;
......@@ -263,7 +264,7 @@ int FiltersAddLabel(defs_filters *filters, const std::string &key, const std::st
return FiltersAdd(filters, "label", key + "=" + value);
}
runtime::v1alpha2::ContainerState ContainerStatusToRuntime(Container_Status status)
auto ContainerStatusToRuntime(Container_Status status) -> runtime::v1alpha2::ContainerState
{
switch (status) {
case CONTAINER_STATUS_CREATED:
......@@ -280,7 +281,7 @@ runtime::v1alpha2::ContainerState ContainerStatusToRuntime(Container_Status stat
}
}
char **StringVectorToCharArray(std::vector<std::string> &path)
auto StringVectorToCharArray(std::vector<std::string> &path) -> char **
{
size_t len = path.size();
if (len == 0 || len > (SIZE_MAX / sizeof(char *)) - 1) {
......@@ -291,14 +292,14 @@ char **StringVectorToCharArray(std::vector<std::string> &path)
return nullptr;
}
size_t i {};
for (auto it = path.cbegin(); it != path.cend(); it++) {
result[i++] = util_strdup_s(it->c_str());
for (const auto &it : path) {
result[i++] = util_strdup_s(it.c_str());
}
return result;
}
imagetool_image *InspectImageByID(const std::string &imageID, Errors &err)
auto InspectImageByID(const std::string &imageID, Errors &err) -> imagetool_image *
{
im_status_request *request { nullptr };
im_status_response *response { nullptr };
......@@ -337,7 +338,7 @@ cleanup:
return image;
}
std::string ToPullableImageID(const std::string &id, imagetool_image *image)
auto ToPullableImageID(const std::string &id, imagetool_image *image) -> std::string
{
// Default to the image ID, but if RepoDigests is not empty, use
// the first digest instead.
......@@ -349,19 +350,19 @@ std::string ToPullableImageID(const std::string &id, imagetool_image *image)
}
// IsContainerNotFoundError checks whether the error is container not found error.
bool IsContainerNotFoundError(const std::string &err)
auto IsContainerNotFoundError(const std::string &err) -> bool
{
return err.find("No such container:") != std::string::npos ||
err.find("No such image or container") != std::string::npos;
}
// IsImageNotFoundError checks whether the error is Image not found error.
bool IsImageNotFoundError(const std::string &err)
auto IsImageNotFoundError(const std::string &err) -> bool
{
return err.find("No such image:") != std::string::npos;
}
std::string sha256(const char *val)
auto sha256(const char *val) -> std::string
{
if (val == nullptr) {
return "";
......@@ -385,8 +386,8 @@ std::string sha256(const char *val)
return outputBuffer;
}
cri_pod_network_element **GetNetworkPlaneFromPodAnno(const google::protobuf::Map<std::string, std::string> &annotations,
size_t *len, Errors &error)
auto GetNetworkPlaneFromPodAnno(const google::protobuf::Map<std::string, std::string> &annotations,
size_t *len, Errors &error) -> cri_pod_network_element **
{
auto iter = annotations.find(CRIHelpers::Constants::POD_NETWORK_ANNOTATION_KEY);
......@@ -403,8 +404,8 @@ cri_pod_network_element **GetNetworkPlaneFromPodAnno(const google::protobuf::Map
return result;
}
std::unique_ptr<runtime::v1alpha2::PodSandbox> CheckpointToSandbox(const std::string &id,
const cri::PodSandboxCheckpoint &checkpoint)
auto CheckpointToSandbox(const std::string &id,
const cri::PodSandboxCheckpoint &checkpoint) -> std::unique_ptr<runtime::v1alpha2::PodSandbox>
{
std::unique_ptr<runtime::v1alpha2::PodSandbox> result(new (std::nothrow) runtime::v1alpha2::PodSandbox);
if (result == nullptr) {
......@@ -461,7 +462,7 @@ void UpdateCreateConfig(container_config *createConfig, host_config *hc,
void GenerateMountBindings(const google::protobuf::RepeatedPtrField<runtime::v1alpha2::Mount> &mounts,
host_config *hostconfig, Errors &err)
{
if (mounts.size() <= 0 || hostconfig == nullptr) {
if (mounts.empty() || hostconfig == nullptr) {
return;
}
if ((size_t)mounts.size() > INT_MAX / sizeof(char *)) {
......@@ -498,7 +499,7 @@ void GenerateMountBindings(const google::protobuf::RepeatedPtrField<runtime::v1a
// Falls back to "private"
}
if (attrs.size() > 0) {
if (!attrs.empty()) {
bind += ":" + CXXUtils::StringsJoin(attrs, ",");
}
hostconfig->binds[i] = util_strdup_s(bind.c_str());
......@@ -506,8 +507,8 @@ void GenerateMountBindings(const google::protobuf::RepeatedPtrField<runtime::v1a
}
}
std::vector<std::string> GenerateEnvList(
const ::google::protobuf::RepeatedPtrField<::runtime::v1alpha2::KeyValue> &envs)
auto GenerateEnvList(
const ::google::protobuf::RepeatedPtrField<::runtime::v1alpha2::KeyValue> &envs) -> std::vector<std::string>
{
std::vector<std::string> vect;
std::for_each(envs.begin(), envs.end(), [&vect](const ::runtime::v1alpha2::KeyValue & elem) {
......@@ -516,7 +517,7 @@ std::vector<std::string> GenerateEnvList(
return vect;
}
bool ValidateCheckpointKey(const std::string &key, Errors &error)
auto ValidateCheckpointKey(const std::string &key, Errors &error) -> bool
{
const std::string PATTERN { "^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$" };
......@@ -534,7 +535,7 @@ err_out:
return false;
}
std::string ToIsuladContainerStatus(const runtime::v1alpha2::ContainerStateValue &state)
auto ToIsuladContainerStatus(const runtime::v1alpha2::ContainerStateValue &state) -> std::string
{
if (state.state() == runtime::v1alpha2::CONTAINER_CREATED) {
return "created";
......@@ -553,7 +554,7 @@ struct iSuladOpt {
std::string msg;
};
std::vector<std::string> fmtiSuladOpts(const std::vector<iSuladOpt> &opts, const char &sep)
auto fmtiSuladOpts(const std::vector<iSuladOpt> &opts, const char &sep) -> std::vector<std::string>
{
std::vector<std::string> fmtOpts(opts.size());
for (size_t i {}; i < opts.size(); i++) {
......@@ -562,7 +563,7 @@ std::vector<std::string> fmtiSuladOpts(const std::vector<iSuladOpt> &opts, const
return fmtOpts;
}
std::vector<iSuladOpt> GetSeccompiSuladOpts(const std::string &seccompProfile, Errors &error)
auto GetSeccompiSuladOpts(const std::string &seccompProfile, Errors &error) -> std::vector<iSuladOpt>
{
if (seccompProfile.empty() || seccompProfile == "unconfined") {
return std::vector<iSuladOpt> { { "seccomp", "unconfined", "" } };
......@@ -577,7 +578,7 @@ std::vector<iSuladOpt> GetSeccompiSuladOpts(const std::string &seccompProfile, E
}
std::string fname = seccompProfile.substr(std::string("localhost/").length(), seccompProfile.length());
char dstpath[PATH_MAX] { 0 };
if (!cleanpath(fname.c_str(), dstpath, sizeof(dstpath))) {
if (cleanpath(fname.c_str(), dstpath, sizeof(dstpath)) == nullptr) {
error.Errorf("failed to get clean path");
return std::vector<iSuladOpt> {};
}
......@@ -608,7 +609,8 @@ std::vector<iSuladOpt> GetSeccompiSuladOpts(const std::string &seccompProfile, E
return ret;
}
std::vector<std::string> GetSeccompSecurityOpts(const std::string &seccompProfile, const char &separator, Errors &error)
auto GetSeccompSecurityOpts(const std::string &seccompProfile, const char &separator,
Errors &error) -> std::vector<std::string>
{
std::vector<iSuladOpt> seccompOpts = GetSeccompiSuladOpts(seccompProfile, error);
if (error.NotEmpty()) {
......@@ -618,7 +620,8 @@ std::vector<std::string> GetSeccompSecurityOpts(const std::string &seccompProfil
return fmtiSuladOpts(seccompOpts, separator);
}
std::vector<std::string> GetSecurityOpts(const std::string &seccompProfile, const char &separator, Errors &error)
auto GetSecurityOpts(const std::string &seccompProfile, const char &separator,
Errors &error) -> std::vector<std::string>
{
std::vector<std::string> seccompSecurityOpts = GetSeccompSecurityOpts(seccompProfile, separator, error);
if (error.NotEmpty()) {
......@@ -627,7 +630,7 @@ std::vector<std::string> GetSecurityOpts(const std::string &seccompProfile, cons
return seccompSecurityOpts;
}
std::string CreateCheckpoint(cri::PodSandboxCheckpoint &checkpoint, Errors &error)
auto CreateCheckpoint(cri::PodSandboxCheckpoint &checkpoint, Errors &error) -> std::string
{
cri_checkpoint *criCheckpoint { nullptr };
struct parser_context ctx {
......@@ -635,7 +638,7 @@ std::string CreateCheckpoint(cri::PodSandboxCheckpoint &checkpoint, Errors &erro
};
parser_error err { nullptr };
char *jsonStr { nullptr };
std::string result { "" };
std::string result;
checkpoint.CheckpointToCStruct(&criCheckpoint, error);
if (error.NotEmpty()) {
......
......@@ -14,20 +14,20 @@
*********************************************************************************/
#ifndef DAEMON_ENTRY_CRI_CRI_HELPERS_H
#define DAEMON_ENTRY_CRI_CRI_HELPERS_H
#include <string>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include <map>
#include "constants.h"
#include "api.pb.h"
#include "errors.h"
#include "isula_libutils/host_config.h"
#include "callback.h"
#include "isula_libutils/docker_seccomp.h"
#include "isula_libutils/cri_pod_network.h"
#include "checkpoint_handler.h"
#include "constants.h"
#include "errors.h"
#include "image_api.h"
#include "isula_libutils/cri_pod_network.h"
#include "isula_libutils/docker_seccomp.h"
#include "isula_libutils/host_config.h"
namespace CRIHelpers {
class Constants {
......@@ -58,45 +58,46 @@ public:
static const std::string NET_PLUGIN_EVENT_POD_CIDR_CHANGE_DETAIL_CIDR;
};
std::string GetDefaultSandboxImage(Errors &err);
auto GetDefaultSandboxImage(Errors &err) -> std::string;
json_map_string_string *MakeLabels(const google::protobuf::Map<std::string, std::string> &mapLabels, Errors &error);
auto MakeLabels(const google::protobuf::Map<std::string, std::string> &mapLabels,
Errors &error) -> json_map_string_string *;
json_map_string_string *MakeAnnotations(const google::protobuf::Map<std::string, std::string> &mapAnnotations,
Errors &error);
auto MakeAnnotations(const google::protobuf::Map<std::string, std::string> &mapAnnotations,
Errors &error) -> json_map_string_string *;
void ExtractLabels(json_map_string_string *input, google::protobuf::Map<std::string, std::string> &labels);
void ExtractAnnotations(json_map_string_string *input, google::protobuf::Map<std::string, std::string> &annotations);
int FiltersAdd(defs_filters *filters, const std::string &key, const std::string &value);
auto FiltersAdd(defs_filters *filters, const std::string &key, const std::string &value) -> int;
int FiltersAddLabel(defs_filters *filters, const std::string &key, const std::string &value);
auto FiltersAddLabel(defs_filters *filters, const std::string &key, const std::string &value) -> int;
void ProtobufAnnoMapToStd(const google::protobuf::Map<std::string, std::string> &annotations,
std::map<std::string, std::string> &newAnnos);
runtime::v1alpha2::ContainerState ContainerStatusToRuntime(Container_Status status);
auto ContainerStatusToRuntime(Container_Status status) -> runtime::v1alpha2::ContainerState;
char **StringVectorToCharArray(std::vector<std::string> &path);
auto StringVectorToCharArray(std::vector<std::string> &path) -> char **;
imagetool_image *InspectImageByID(const std::string &imageID, Errors &err);
auto InspectImageByID(const std::string &imageID, Errors &err) -> imagetool_image *;
std::string ToPullableImageID(const std::string &id, imagetool_image *image);
auto ToPullableImageID(const std::string &id, imagetool_image *image) -> std::string;
bool IsContainerNotFoundError(const std::string &err);
auto IsContainerNotFoundError(const std::string &err) -> bool;
bool IsImageNotFoundError(const std::string &err);
auto IsImageNotFoundError(const std::string &err) -> bool;
std::string sha256(const char *val);
auto sha256(const char *val) -> std::string;
cri_pod_network_element **GetNetworkPlaneFromPodAnno(const google::protobuf::Map<std::string, std::string> &annotations,
size_t *len, Errors &error);
auto GetNetworkPlaneFromPodAnno(const google::protobuf::Map<std::string, std::string> &annotations,
size_t *len, Errors &error) -> cri_pod_network_element **;
std::unique_ptr<runtime::v1alpha2::PodSandbox> CheckpointToSandbox(const std::string &id,
const cri::PodSandboxCheckpoint &checkpoint);
auto CheckpointToSandbox(const std::string &id,
const cri::PodSandboxCheckpoint &checkpoint) -> std::unique_ptr<runtime::v1alpha2::PodSandbox>;
std::string StringsJoin(const std::vector<std::string> &vec, const std::string &sep);
auto StringsJoin(const std::vector<std::string> &vec, const std::string &sep) -> std::string;
void UpdateCreateConfig(container_config *createConfig, host_config *hc,
const runtime::v1alpha2::ContainerConfig &config, const std::string &podSandboxID,
......@@ -105,16 +106,17 @@ void UpdateCreateConfig(container_config *createConfig, host_config *hc,
void GenerateMountBindings(const google::protobuf::RepeatedPtrField<runtime::v1alpha2::Mount> &mounts,
host_config *hostconfig, Errors &err);
std::vector<std::string>
GenerateEnvList(const ::google::protobuf::RepeatedPtrField<::runtime::v1alpha2::KeyValue> &envs);
auto GenerateEnvList(const ::google::protobuf::RepeatedPtrField<::runtime::v1alpha2::KeyValue> &envs) ->
std::vector<std::string>;
bool ValidateCheckpointKey(const std::string &key, Errors &error);
auto ValidateCheckpointKey(const std::string &key, Errors &error) -> bool;
std::string ToIsuladContainerStatus(const runtime::v1alpha2::ContainerStateValue &state);
auto ToIsuladContainerStatus(const runtime::v1alpha2::ContainerStateValue &state) -> std::string;
std::vector<std::string> GetSecurityOpts(const std::string &seccompProfile, const char &separator, Errors &error);
auto GetSecurityOpts(const std::string &seccompProfile, const char &separator,
Errors &error) -> std::vector<std::string>;
std::string CreateCheckpoint(cri::PodSandboxCheckpoint &checkpoint, Errors &error);
auto CreateCheckpoint(cri::PodSandboxCheckpoint &checkpoint, Errors &error) -> std::string;
void GetCheckpoint(const std::string &jsonCheckPoint, cri::PodSandboxCheckpoint &checkpoint, Errors &error);
......
......@@ -17,18 +17,18 @@
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <utility>
#include <vector>
#include <unistd.h>
#include <grpc++/grpc++.h>
#include <unistd.h>
#include "isula_libutils/log.h"
#include "utils.h"
#include "cri_helpers.h"
#include "err_msg.h"
#include "events_sender_api.h"
#include "isula_libutils/log.h"
#include "service_image_api.h"
#include "err_msg.h"
#include "utils.h"
static void conv_image_to_grpc(const imagetool_image *element, std::unique_ptr<runtime::v1alpha2::Image> &image)
{
......@@ -67,12 +67,11 @@ static void conv_image_to_grpc(const imagetool_image *element, std::unique_ptr<r
image->set_username(element->username);
}
return;
}
int CRIImageServiceImpl::pull_request_from_grpc(const runtime::v1alpha2::ImageSpec *image,
const runtime::v1alpha2::AuthConfig *auth, im_pull_request **request,
Errors &error)
auto CRIImageServiceImpl::pull_request_from_grpc(const runtime::v1alpha2::ImageSpec *image,
const runtime::v1alpha2::AuthConfig *auth, im_pull_request **request,
Errors &error) -> int
{
im_pull_request *tmpreq = (im_pull_request *)util_common_calloc_s(sizeof(im_pull_request));
if (tmpreq == nullptr) {
......@@ -114,8 +113,9 @@ int CRIImageServiceImpl::pull_request_from_grpc(const runtime::v1alpha2::ImageSp
return 0;
}
int CRIImageServiceImpl::list_request_from_grpc(const runtime::v1alpha2::ImageFilter *filter, im_list_request **request,
Errors &error)
auto CRIImageServiceImpl::list_request_from_grpc(const runtime::v1alpha2::ImageFilter *filter,
im_list_request **request,
Errors &error) -> int
{
im_list_request *tmpreq = (im_list_request *)util_common_calloc_s(sizeof(im_list_request));
if (tmpreq == nullptr) {
......@@ -162,12 +162,12 @@ void CRIImageServiceImpl::ListImages(const runtime::v1alpha2::ImageFilter &filte
im_list_response *response { nullptr };
int ret = list_request_from_grpc(&filter, &request, error);
if (ret) {
if (ret != 0) {
goto cleanup;
}
ret = im_list_images(request, &response);
if (ret) {
if (ret != 0) {
if (response != nullptr && response->errmsg != nullptr) {
error.SetError(response->errmsg);
} else {
......@@ -182,11 +182,10 @@ cleanup:
DAEMON_CLEAR_ERRMSG();
free_im_list_request(request);
free_im_list_response(response);
return;
}
int CRIImageServiceImpl::status_request_from_grpc(const runtime::v1alpha2::ImageSpec *image,
im_status_request **request, Errors &error)
auto CRIImageServiceImpl::status_request_from_grpc(const runtime::v1alpha2::ImageSpec *image,
im_status_request **request, Errors &error) -> int
{
im_status_request *tmpreq = (im_status_request *)util_common_calloc_s(sizeof(im_status_request));
if (tmpreq == nullptr) {
......@@ -204,8 +203,8 @@ int CRIImageServiceImpl::status_request_from_grpc(const runtime::v1alpha2::Image
return 0;
}
std::unique_ptr<runtime::v1alpha2::Image> CRIImageServiceImpl::status_image_to_grpc(im_status_response *response,
Errors &error)
auto CRIImageServiceImpl::status_image_to_grpc(im_status_response *response,
Errors & /*error*/) -> std::unique_ptr<runtime::v1alpha2::Image>
{
imagetool_image_status *image_info = response->image_info;
if (image_info == nullptr) {
......@@ -227,8 +226,8 @@ std::unique_ptr<runtime::v1alpha2::Image> CRIImageServiceImpl::status_image_to_g
return image;
}
std::unique_ptr<runtime::v1alpha2::Image> CRIImageServiceImpl::ImageStatus(const runtime::v1alpha2::ImageSpec &image,
Errors &error)
auto CRIImageServiceImpl::ImageStatus(const runtime::v1alpha2::ImageSpec &image,
Errors &error) -> std::unique_ptr<runtime::v1alpha2::Image>
{
im_status_request *request { nullptr };
im_status_response *response { nullptr };
......@@ -258,10 +257,10 @@ cleanup:
return out;
}
std::string CRIImageServiceImpl::PullImage(const runtime::v1alpha2::ImageSpec &image,
const runtime::v1alpha2::AuthConfig &auth, Errors &error)
auto CRIImageServiceImpl::PullImage(const runtime::v1alpha2::ImageSpec &image,
const runtime::v1alpha2::AuthConfig &auth, Errors &error) -> std::string
{
std::string out_str { "" };
std::string out_str;
im_pull_request *request { nullptr };
im_pull_response *response { nullptr };
......@@ -292,8 +291,8 @@ cleanup:
return out_str;
}
int CRIImageServiceImpl::remove_request_from_grpc(const runtime::v1alpha2::ImageSpec *image, im_rmi_request **request,
Errors &error)
auto CRIImageServiceImpl::remove_request_from_grpc(const runtime::v1alpha2::ImageSpec *image, im_rmi_request **request,
Errors &error) -> int
{
im_rmi_request *tmpreq = (im_rmi_request *)util_common_calloc_s(sizeof(im_rmi_request));
if (tmpreq == nullptr) {
......@@ -313,12 +312,12 @@ int CRIImageServiceImpl::remove_request_from_grpc(const runtime::v1alpha2::Image
void CRIImageServiceImpl::RemoveImage(const runtime::v1alpha2::ImageSpec &image, Errors &error)
{
std::string out_str { "" };
std::string out_str;
im_rmi_request *request { nullptr };
DAEMON_CLEAR_ERRMSG();
if (remove_request_from_grpc(&image, &request, error)) {
if (remove_request_from_grpc(&image, &request, error) != 0) {
goto cleanup;
}
......@@ -333,12 +332,11 @@ void CRIImageServiceImpl::RemoveImage(const runtime::v1alpha2::ImageSpec &image,
cleanup:
DAEMON_CLEAR_ERRMSG();
free_im_remove_request(request);
return;
}
void CRIImageServiceImpl::fs_info_to_grpc(im_fs_info_response *response,
std::vector<std::unique_ptr<runtime::v1alpha2::FilesystemUsage>> *fs_infos,
Errors &error)
Errors & /*error*/)
{
imagetool_fs_info *got_fs_info = response->fs_info;
if (got_fs_info == nullptr) {
......@@ -396,7 +394,7 @@ void CRIImageServiceImpl::ImageFsInfo(std::vector<std::unique_ptr<runtime::v1alp
{
im_fs_info_response *response { nullptr };
if (im_get_filesystem_info(IMAGE_TYPE_OCI, &response)) {
if (im_get_filesystem_info(IMAGE_TYPE_OCI, &response) != 0) {
if (response != nullptr && response->errmsg != nullptr) {
error.SetError(response->errmsg);
} else {
......@@ -410,5 +408,4 @@ void CRIImageServiceImpl::ImageFsInfo(std::vector<std::unique_ptr<runtime::v1alp
out:
DAEMON_CLEAR_ERRMSG();
free_im_fs_info_response(response);
return;
}
......@@ -46,12 +46,15 @@ private:
int pull_request_from_grpc(const runtime::v1alpha2::ImageSpec *image, const runtime::v1alpha2::AuthConfig *auth,
im_pull_request **request, Errors &error);
int list_request_from_grpc(const runtime::v1alpha2::ImageFilter *filter, im_list_request **request, Errors &error);
int list_request_from_grpc(const runtime::v1alpha2::ImageFilter *filter, im_list_request **request,
Errors &error);
void list_images_to_grpc(im_list_response *response, std::vector<std::unique_ptr<runtime::v1alpha2::Image>> *images,
void list_images_to_grpc(im_list_response *response,
std::vector<std::unique_ptr<runtime::v1alpha2::Image>> *images,
Errors &error);
int status_request_from_grpc(const runtime::v1alpha2::ImageSpec *image, im_status_request **request, Errors &error);
int status_request_from_grpc(const runtime::v1alpha2::ImageSpec *image, im_status_request **request,
Errors &error);
std::unique_ptr<runtime::v1alpha2::Image> status_image_to_grpc(im_status_response *response, Errors &error);
......
......@@ -14,21 +14,21 @@
*********************************************************************************/
#include "cri_runtime_service.h"
#include <grpc++/grpc++.h>
#include <iostream>
#include <memory>
#include <vector>
#include <map>
#include <memory>
#include <string>
#include <grpc++/grpc++.h>
#include <unistd.h>
#include <vector>
#include "isula_libutils/log.h"
#include "utils.h"
#include "config.h"
#include "isula_libutils/host_config.h"
#include "cri_helpers.h"
#include "network_plugin.h"
#include "isula_libutils/container_inspect.h"
#include "isula_libutils/host_config.h"
#include "isula_libutils/log.h"
#include "network_plugin.h"
#include "utils.h"
namespace CRIRuntimeService {
std::string Constants::namespaceModeHost { "host" };
......@@ -49,11 +49,11 @@ CRIRuntimeServiceImpl::CRIRuntimeServiceImpl()
}
void CRIRuntimeServiceImpl::VersionResponseToGRPC(container_version_response *response,
runtime::v1alpha2::VersionResponse *gResponse, Errors &error)
runtime::v1alpha2::VersionResponse *gResponse)
{
gResponse->set_version(CRIRuntimeService::Constants::kubeAPIVersion);
gResponse->set_runtime_name(CRIRuntimeService::Constants::iSulaRuntimeName);
gResponse->set_runtime_version(response->version ? response->version : "");
gResponse->set_runtime_version(response->version != nullptr ? response->version : "");
gResponse->set_runtime_api_version(VERSION);
}
......@@ -94,20 +94,20 @@ void CRIRuntimeServiceImpl::Version(const std::string &apiVersion, runtime::v1al
container_version_response *response { nullptr };
if (m_cb->container.version(nullptr, &response) != 0) {
if (response != nullptr && response->errmsg) {
if (response != nullptr && (response->errmsg != nullptr)) {
error.SetError(response->errmsg);
} else {
error.SetError("Failed to call version callback");
}
goto cleanup;
}
VersionResponseToGRPC(response, versionResponse, error);
VersionResponseToGRPC(response, versionResponse);
cleanup:
free_container_version_response(response);
}
void CRIRuntimeServiceImpl::UpdateRuntimeConfig(const runtime::v1alpha2::RuntimeConfig &config, Errors &error)
void CRIRuntimeServiceImpl::UpdateRuntimeConfig(const runtime::v1alpha2::RuntimeConfig &config, Errors & /*error*/)
{
INFO("iSulad cri received runtime config: %s", config.network_config().pod_cidr().c_str());
if (m_pluginManager != nullptr && config.has_network_config() && !(config.network_config().pod_cidr().empty())) {
......@@ -116,10 +116,9 @@ void CRIRuntimeServiceImpl::UpdateRuntimeConfig(const runtime::v1alpha2::Runtime
config.network_config().pod_cidr();
m_pluginManager->Event(CRIHelpers::Constants::NET_PLUGIN_EVENT_POD_CIDR_CHANGE, events);
}
return;
}
std::unique_ptr<runtime::v1alpha2::RuntimeStatus> CRIRuntimeServiceImpl::Status(Errors &error)
auto CRIRuntimeServiceImpl::Status(Errors &error) -> std::unique_ptr<runtime::v1alpha2::RuntimeStatus>
{
std::unique_ptr<runtime::v1alpha2::RuntimeStatus> status(new (std::nothrow) runtime::v1alpha2::RuntimeStatus);
if (status == nullptr) {
......@@ -159,11 +158,11 @@ std::unique_ptr<runtime::v1alpha2::RuntimeStatus> CRIRuntimeServiceImpl::Status(
return status;
}
std::string CRIRuntimeServiceImpl::GetNetNS(const std::string &podSandboxID, Errors &err)
auto CRIRuntimeServiceImpl::GetNetNS(const std::string &podSandboxID, Errors &err) -> std::string
{
int ret;
int ret = 0;
char fullpath[PATH_MAX] { 0 };
std::string result { "" };
std::string result;
const std::string NetNSFmt { "/proc/%d/ns/net" };
container_inspect *inspect_data = InspectContainer(podSandboxID, err);
......
此差异已折叠。
......@@ -22,7 +22,7 @@ class CRISandboxManagerImpl : public cri::PodSandboxManager {
public:
CRISandboxManagerImpl() = default;
CRISandboxManagerImpl(const CRISandboxManagerImpl &) = delete;
CRISandboxManagerImpl &operator=(const CRISandboxManagerImpl &) = delete;
auto operator=(const CRISandboxManagerImpl &) -> CRISandboxManagerImpl & = delete;
virtual ~CRISandboxManagerImpl() = default;
};
......
......@@ -13,10 +13,10 @@
* Description: provide cri security context functions
*********************************************************************************/
#include "cri_security_context.h"
#include <memory>
#include "cri_runtime_service.h"
#include "utils.h"
#include "isula_libutils/log.h"
#include "utils.h"
#include <memory>
namespace CRISecurity {
static void ModifyContainerConfig(const runtime::v1alpha2::LinuxContainerSecurityContext &sc,
......@@ -40,7 +40,7 @@ static void ModifyHostConfigCapabilities(const runtime::v1alpha2::LinuxContainer
}
const google::protobuf::RepeatedPtrField<std::string> &capAdd = sc.capabilities().add_capabilities();
if (capAdd.size() > 0) {
if (!capAdd.empty()) {
if (static_cast<size_t>(capAdd.size()) > SIZE_MAX / sizeof(char *)) {
error.SetError("Invalid capability add size");
return;
......@@ -56,7 +56,7 @@ static void ModifyHostConfigCapabilities(const runtime::v1alpha2::LinuxContainer
}
}
const google::protobuf::RepeatedPtrField<std::string> &capDrop = sc.capabilities().drop_capabilities();
if (capDrop.size() > 0) {
if (!capDrop.empty()) {
if (static_cast<size_t>(capDrop.size()) > SIZE_MAX / sizeof(char *)) {
error.SetError("Invalid capability drop size");
return;
......@@ -101,12 +101,12 @@ static void ModifyHostConfigNoNewPrivs(const runtime::v1alpha2::LinuxContainerSe
static void ModifyHostConfigscSupplementalGroups(const runtime::v1alpha2::LinuxContainerSecurityContext &sc,
host_config *hostConfig, Errors &error)
{
if (sc.supplemental_groups().size() == 0) {
if (sc.supplemental_groups().empty()) {
return;
}
const google::protobuf::RepeatedField<google::protobuf::int64> &groups = sc.supplemental_groups();
if (groups.size() > 0) {
if (!groups.empty()) {
if (static_cast<size_t>(groups.size()) > SIZE_MAX / sizeof(char *)) {
error.SetError("Invalid group size");
return;
......@@ -172,7 +172,7 @@ static void ModifyHostNetworkOptionForSandbox(const runtime::v1alpha2::Namespace
}
static void ModifyContainerNamespaceOptions(const runtime::v1alpha2::NamespaceOption &nsOpts,
const std::string &podSandboxID, host_config *hostConfig, Errors &error)
const std::string &podSandboxID, host_config *hostConfig)
{
std::string sandboxNSMode = "container:" + podSandboxID;
if (nsOpts.pid() == runtime::v1alpha2::NamespaceMode::POD) {
......@@ -186,8 +186,7 @@ static void ModifyContainerNamespaceOptions(const runtime::v1alpha2::NamespaceOp
ModifyHostNetworkOptionForContainer(nsOpts.network(), podSandboxID, hostConfig);
}
static void ModifySandboxNamespaceOptions(const runtime::v1alpha2::NamespaceOption &nsOpts, host_config *hostConfig,
Errors &error)
static void ModifySandboxNamespaceOptions(const runtime::v1alpha2::NamespaceOption &nsOpts, host_config *hostConfig)
{
/* set common Namespace options */
ModifyCommonNamespaceOptions(nsOpts, hostConfig);
......@@ -223,7 +222,7 @@ void ApplySandboxSecurityContext(const runtime::v1alpha2::LinuxPodSandboxConfig
if (error.NotEmpty()) {
return;
}
ModifySandboxNamespaceOptions(sc->namespace_options(), hc, error);
ModifySandboxNamespaceOptions(sc->namespace_options(), hc);
}
void ApplyContainerSecurityContext(const runtime::v1alpha2::LinuxContainerConfig &lc, const std::string &podSandboxID,
......@@ -237,11 +236,7 @@ void ApplyContainerSecurityContext(const runtime::v1alpha2::LinuxContainerConfig
return;
}
}
ModifyContainerNamespaceOptions(lc.security_context().namespace_options(), podSandboxID, hc, error);
if (error.NotEmpty()) {
ERROR("Modify namespace options failed: %s", error.GetCMessage());
return;
}
ModifyContainerNamespaceOptions(lc.security_context().namespace_options(), podSandboxID, hc);
}
} // namespace CRISecurity
......@@ -15,11 +15,11 @@
#ifndef DAEMON_ENTRY_CRI_CRI_SECURITY_CONTEXT_H
#define DAEMON_ENTRY_CRI_CRI_SECURITY_CONTEXT_H
#include <string>
#include "api.pb.h"
#include "errors.h"
#include "isula_libutils/host_config.h"
#include "isula_libutils/container_config.h"
#include "isula_libutils/host_config.h"
#include <string>
namespace CRISecurity {
void ApplySandboxSecurityContext(const runtime::v1alpha2::LinuxPodSandboxConfig &lc, container_config *config,
......
......@@ -15,9 +15,9 @@
#ifndef DAEMON_ENTRY_CRI_CRI_SERVICES_H
#define DAEMON_ENTRY_CRI_CRI_SERVICES_H
#include <string>
#include <memory>
#include <cstdint>
#include <memory>
#include <string>
#include <vector>
#include "api.pb.h"
......@@ -32,9 +32,10 @@ public:
class ContainerManager {
public:
virtual std::string CreateContainer(const std::string &podSandboxID,
const runtime::v1alpha2::ContainerConfig &containerConfig,
const runtime::v1alpha2::PodSandboxConfig &podSandboxConfig, Errors &error) = 0;
virtual auto CreateContainer(const std::string &podSandboxID,
const runtime::v1alpha2::ContainerConfig &containerConfig,
const runtime::v1alpha2::PodSandboxConfig &podSandboxConfig,
Errors &error) -> std::string = 0;
virtual void StartContainer(const std::string &containerID, Errors &error) = 0;
......@@ -50,8 +51,8 @@ public:
std::vector<std::unique_ptr<runtime::v1alpha2::ContainerStats>> *containerstats,
Errors &error) = 0;
virtual std::unique_ptr<runtime::v1alpha2::ContainerStatus> ContainerStatus(const std::string &containerID,
Errors &error) = 0;
virtual auto ContainerStatus(const std::string &containerID,
Errors &error) -> std::unique_ptr<runtime::v1alpha2::ContainerStatus> = 0;
virtual void UpdateContainerResources(const std::string &containerID,
const runtime::v1alpha2::LinuxContainerResources &resources,
......@@ -69,15 +70,15 @@ public:
class PodSandboxManager {
public:
virtual std::string RunPodSandbox(const runtime::v1alpha2::PodSandboxConfig &config, const std::string &runtimeHandler,
Errors &error) = 0;
virtual auto RunPodSandbox(const runtime::v1alpha2::PodSandboxConfig &config, const std::string &runtimeHandler,
Errors &error) -> std::string = 0;
virtual void StopPodSandbox(const std::string &podSandboxID, Errors &error) = 0;
virtual void RemovePodSandbox(const std::string &podSandboxID, Errors &error) = 0;
virtual std::unique_ptr<runtime::v1alpha2::PodSandboxStatus> PodSandboxStatus(const std::string &podSandboxID,
Errors &error) = 0;
virtual auto PodSandboxStatus(const std::string &podSandboxID,
Errors &error) -> std::unique_ptr<runtime::v1alpha2::PodSandboxStatus> = 0;
virtual void ListPodSandbox(const runtime::v1alpha2::PodSandboxFilter *filter,
std::vector<std::unique_ptr<runtime::v1alpha2::PodSandbox>> *pods, Errors &error) = 0;
......@@ -90,7 +91,7 @@ class RuntimeManager {
public:
virtual void UpdateRuntimeConfig(const runtime::v1alpha2::RuntimeConfig &config, Errors &error) = 0;
virtual std::unique_ptr<runtime::v1alpha2::RuntimeStatus> Status(Errors &error) = 0;
virtual auto Status(Errors &error) -> std::unique_ptr<runtime::v1alpha2::RuntimeStatus> = 0;
};
class ImageManagerService {
......@@ -98,11 +99,11 @@ public:
virtual void ListImages(const runtime::v1alpha2::ImageFilter &filter,
std::vector<std::unique_ptr<runtime::v1alpha2::Image>> *images, Errors &error) = 0;
virtual std::unique_ptr<runtime::v1alpha2::Image> ImageStatus(const runtime::v1alpha2::ImageSpec &image,
Errors &error) = 0;
virtual auto ImageStatus(const runtime::v1alpha2::ImageSpec &image,
Errors &error) -> std::unique_ptr<runtime::v1alpha2::Image> = 0;
virtual std::string PullImage(const runtime::v1alpha2::ImageSpec &image, const runtime::v1alpha2::AuthConfig &auth,
Errors &error) = 0;
virtual auto PullImage(const runtime::v1alpha2::ImageSpec &image, const runtime::v1alpha2::AuthConfig &auth,
Errors &error) -> std::string = 0;
virtual void RemoveImage(const runtime::v1alpha2::ImageSpec &image, Errors &error) = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册