mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 12:14:48 +00:00
agent-ctl: run cargo fmt/clippy in make check
Run cargo fmt/clippy in make check and clear clippy warnings. Fixes: #3656 Signed-off-by: bin <bin@hyper.sh>
This commit is contained in:
parent
12c37fafc5
commit
734b618c16
@ -25,7 +25,7 @@ test:
|
|||||||
install:
|
install:
|
||||||
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --target $(TRIPLE) --path .
|
@RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --target $(TRIPLE) --path .
|
||||||
|
|
||||||
check:
|
check: standard_rust_check
|
||||||
|
|
||||||
.PHONY: \
|
.PHONY: \
|
||||||
build \
|
build \
|
||||||
|
@ -22,7 +22,6 @@ use std::os::unix::io::{IntoRawFd, RawFd};
|
|||||||
use std::os::unix::net::UnixStream;
|
use std::os::unix::net::UnixStream;
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use ttrpc;
|
|
||||||
use ttrpc::context::Context;
|
use ttrpc::context::Context;
|
||||||
|
|
||||||
// Run the specified closure to set an automatic value if the ttRPC Context
|
// Run the specified closure to set an automatic value if the ttRPC Context
|
||||||
@ -89,13 +88,13 @@ struct BuiltinCmd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Command that causes the agent to exit (iff tracing is enabled)
|
// Command that causes the agent to exit (iff tracing is enabled)
|
||||||
const SHUTDOWN_CMD: &'static str = "DestroySandbox";
|
const SHUTDOWN_CMD: &str = "DestroySandbox";
|
||||||
|
|
||||||
// Command that requests this program ends
|
// Command that requests this program ends
|
||||||
const CMD_QUIT: &'static str = "quit";
|
const CMD_QUIT: &str = "quit";
|
||||||
const CMD_REPEAT: &'static str = "repeat";
|
const CMD_REPEAT: &str = "repeat";
|
||||||
|
|
||||||
const DEFAULT_PROC_SIGNAL: &'static str = "SIGKILL";
|
const DEFAULT_PROC_SIGNAL: &str = "SIGKILL";
|
||||||
|
|
||||||
const ERR_API_FAILED: &str = "API failed";
|
const ERR_API_FAILED: &str = "API failed";
|
||||||
|
|
||||||
@ -106,7 +105,7 @@ const METADATA_CFG_NS: &str = "agent-ctl-cfg";
|
|||||||
// automatically.
|
// automatically.
|
||||||
const NO_AUTO_VALUES_CFG_NAME: &str = "no-auto-values";
|
const NO_AUTO_VALUES_CFG_NAME: &str = "no-auto-values";
|
||||||
|
|
||||||
static AGENT_CMDS: &'static [AgentCmd] = &[
|
static AGENT_CMDS: &[AgentCmd] = &[
|
||||||
AgentCmd {
|
AgentCmd {
|
||||||
name: "AddARPNeighbors",
|
name: "AddARPNeighbors",
|
||||||
st: ServiceType::Agent,
|
st: ServiceType::Agent,
|
||||||
@ -274,7 +273,7 @@ static AGENT_CMDS: &'static [AgentCmd] = &[
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
static BUILTIN_CMDS: &'static [BuiltinCmd] = &[
|
static BUILTIN_CMDS: & [BuiltinCmd] = &[
|
||||||
BuiltinCmd {
|
BuiltinCmd {
|
||||||
name: "echo",
|
name: "echo",
|
||||||
descr: "Display the arguments",
|
descr: "Display the arguments",
|
||||||
@ -638,7 +637,7 @@ pub fn client(cfg: &Config, commands: Vec<&str>) -> Result<()> {
|
|||||||
"server-address" => cfg.server_address.to_string());
|
"server-address" => cfg.server_address.to_string());
|
||||||
|
|
||||||
if cfg.interactive {
|
if cfg.interactive {
|
||||||
return interactive_client_loop(&cfg, &mut options, &client, &health, &ttrpc_ctx);
|
return interactive_client_loop(cfg, &mut options, &client, &health, &ttrpc_ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut repeat_count = 1;
|
let mut repeat_count = 1;
|
||||||
@ -650,17 +649,16 @@ pub fn client(cfg: &Config, commands: Vec<&str>) -> Result<()> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let (result, shutdown) = handle_cmd(
|
let (result, shutdown) = handle_cmd(
|
||||||
&cfg,
|
cfg,
|
||||||
&client,
|
&client,
|
||||||
&health,
|
&health,
|
||||||
&ttrpc_ctx,
|
&ttrpc_ctx,
|
||||||
repeat_count,
|
repeat_count,
|
||||||
&mut options,
|
&mut options,
|
||||||
&cmd,
|
cmd,
|
||||||
);
|
);
|
||||||
if result.is_err() {
|
|
||||||
return result;
|
result.map_err(|e| anyhow!(e))?;
|
||||||
}
|
|
||||||
|
|
||||||
if shutdown {
|
if shutdown {
|
||||||
break;
|
break;
|
||||||
@ -692,7 +690,7 @@ fn handle_cmd(
|
|||||||
return (Ok(()), false);
|
return (Ok(()), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
let first = match cmd.chars().nth(0) {
|
let first = match cmd.chars().next() {
|
||||||
Some(c) => c,
|
Some(c) => c,
|
||||||
None => return (Err(anyhow!("failed to check command name")), false),
|
None => return (Err(anyhow!("failed to check command name")), false),
|
||||||
};
|
};
|
||||||
@ -759,12 +757,12 @@ fn handle_cmd(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn handle_builtin_cmd(cmd: &str, args: &str) -> (Result<()>, bool) {
|
fn handle_builtin_cmd(cmd: &str, args: &str) -> (Result<()>, bool) {
|
||||||
let f = match get_builtin_cmd_func(&cmd) {
|
let f = match get_builtin_cmd_func(cmd) {
|
||||||
Ok(fp) => fp,
|
Ok(fp) => fp,
|
||||||
Err(e) => return (Err(e), false),
|
Err(e) => return (Err(e), false),
|
||||||
};
|
};
|
||||||
|
|
||||||
f(&args)
|
f(args)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Execute the ttRPC specified by the first field of "line". Return a result
|
// Execute the ttRPC specified by the first field of "line". Return a result
|
||||||
@ -777,12 +775,12 @@ fn handle_agent_cmd(
|
|||||||
cmd: &str,
|
cmd: &str,
|
||||||
args: &str,
|
args: &str,
|
||||||
) -> (Result<()>, bool) {
|
) -> (Result<()>, bool) {
|
||||||
let f = match get_agent_cmd_func(&cmd) {
|
let f = match get_agent_cmd_func(cmd) {
|
||||||
Ok(fp) => fp,
|
Ok(fp) => fp,
|
||||||
Err(e) => return (Err(e), false),
|
Err(e) => return (Err(e), false),
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = f(ctx, client, health, options, &args);
|
let result = f(ctx, client, health, options, args);
|
||||||
if result.is_err() {
|
if result.is_err() {
|
||||||
return (result, false);
|
return (result, false);
|
||||||
}
|
}
|
||||||
@ -821,9 +819,8 @@ fn interactive_client_loop(
|
|||||||
|
|
||||||
let (result, shutdown) =
|
let (result, shutdown) =
|
||||||
handle_cmd(cfg, client, health, ctx, repeat_count, options, &cmdline);
|
handle_cmd(cfg, client, health, ctx, repeat_count, options, &cmdline);
|
||||||
if result.is_err() {
|
|
||||||
return result;
|
result.map_err(|e| anyhow!(e))?;
|
||||||
}
|
|
||||||
|
|
||||||
if shutdown {
|
if shutdown {
|
||||||
break;
|
break;
|
||||||
@ -1412,7 +1409,7 @@ fn agent_cmd_container_tty_win_resize(
|
|||||||
|
|
||||||
let rows_str = utils::get_option("row", options, args)?;
|
let rows_str = utils::get_option("row", options, args)?;
|
||||||
|
|
||||||
if rows_str != "" {
|
if !rows_str.is_empty() {
|
||||||
let rows = rows_str
|
let rows = rows_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid row size"))?;
|
.map_err(|e| anyhow!(e).context("invalid row size"))?;
|
||||||
@ -1421,7 +1418,7 @@ fn agent_cmd_container_tty_win_resize(
|
|||||||
|
|
||||||
let cols_str = utils::get_option("column", options, args)?;
|
let cols_str = utils::get_option("column", options, args)?;
|
||||||
|
|
||||||
if cols_str != "" {
|
if !cols_str.is_empty() {
|
||||||
let cols = cols_str
|
let cols = cols_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid column size"))?;
|
.map_err(|e| anyhow!(e).context("invalid column size"))?;
|
||||||
@ -1497,7 +1494,7 @@ fn agent_cmd_container_read_stdout(
|
|||||||
|
|
||||||
let length_str = utils::get_option("len", options, args)?;
|
let length_str = utils::get_option("len", options, args)?;
|
||||||
|
|
||||||
if length_str != "" {
|
if !length_str.is_empty() {
|
||||||
let length = length_str
|
let length = length_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid length"))?;
|
.map_err(|e| anyhow!(e).context("invalid length"))?;
|
||||||
@ -1539,7 +1536,7 @@ fn agent_cmd_container_read_stderr(
|
|||||||
|
|
||||||
let length_str = utils::get_option("len", options, args)?;
|
let length_str = utils::get_option("len", options, args)?;
|
||||||
|
|
||||||
if length_str != "" {
|
if !length_str.is_empty() {
|
||||||
let length = length_str
|
let length = length_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid length"))?;
|
.map_err(|e| anyhow!(e).context("invalid length"))?;
|
||||||
@ -1657,13 +1654,13 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
|
|
||||||
run_if_auto_values!(ctx, || -> Result<()> {
|
run_if_auto_values!(ctx, || -> Result<()> {
|
||||||
let path = utils::get_option("path", options, args)?;
|
let path = utils::get_option("path", options, args)?;
|
||||||
if path != "" {
|
if !path.is_empty() {
|
||||||
req.set_path(path);
|
req.set_path(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
let file_size_str = utils::get_option("file_size", options, args)?;
|
let file_size_str = utils::get_option("file_size", options, args)?;
|
||||||
|
|
||||||
if file_size_str != "" {
|
if !file_size_str.is_empty() {
|
||||||
let file_size = file_size_str
|
let file_size = file_size_str
|
||||||
.parse::<i64>()
|
.parse::<i64>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid file_size"))?;
|
.map_err(|e| anyhow!(e).context("invalid file_size"))?;
|
||||||
@ -1673,7 +1670,7 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
|
|
||||||
let file_mode_str = utils::get_option("file_mode", options, args)?;
|
let file_mode_str = utils::get_option("file_mode", options, args)?;
|
||||||
|
|
||||||
if file_mode_str != "" {
|
if !file_mode_str.is_empty() {
|
||||||
let file_mode = file_mode_str
|
let file_mode = file_mode_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid file_mode"))?;
|
.map_err(|e| anyhow!(e).context("invalid file_mode"))?;
|
||||||
@ -1683,7 +1680,7 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
|
|
||||||
let dir_mode_str = utils::get_option("dir_mode", options, args)?;
|
let dir_mode_str = utils::get_option("dir_mode", options, args)?;
|
||||||
|
|
||||||
if dir_mode_str != "" {
|
if !dir_mode_str.is_empty() {
|
||||||
let dir_mode = dir_mode_str
|
let dir_mode = dir_mode_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid dir_mode"))?;
|
.map_err(|e| anyhow!(e).context("invalid dir_mode"))?;
|
||||||
@ -1693,7 +1690,7 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
|
|
||||||
let uid_str = utils::get_option("uid", options, args)?;
|
let uid_str = utils::get_option("uid", options, args)?;
|
||||||
|
|
||||||
if uid_str != "" {
|
if !uid_str.is_empty() {
|
||||||
let uid = uid_str
|
let uid = uid_str
|
||||||
.parse::<i32>()
|
.parse::<i32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid uid"))?;
|
.map_err(|e| anyhow!(e).context("invalid uid"))?;
|
||||||
@ -1703,7 +1700,7 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
|
|
||||||
let gid_str = utils::get_option("gid", options, args)?;
|
let gid_str = utils::get_option("gid", options, args)?;
|
||||||
|
|
||||||
if gid_str != "" {
|
if !gid_str.is_empty() {
|
||||||
let gid = gid_str
|
let gid = gid_str
|
||||||
.parse::<i32>()
|
.parse::<i32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid gid"))?;
|
.map_err(|e| anyhow!(e).context("invalid gid"))?;
|
||||||
@ -1712,7 +1709,7 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
|
|
||||||
let offset_str = utils::get_option("offset", options, args)?;
|
let offset_str = utils::get_option("offset", options, args)?;
|
||||||
|
|
||||||
if offset_str != "" {
|
if !offset_str.is_empty() {
|
||||||
let offset = offset_str
|
let offset = offset_str
|
||||||
.parse::<i64>()
|
.parse::<i64>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid offset"))?;
|
.map_err(|e| anyhow!(e).context("invalid offset"))?;
|
||||||
@ -1720,7 +1717,7 @@ fn agent_cmd_sandbox_copy_file(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let data_str = utils::get_option("data", options, args)?;
|
let data_str = utils::get_option("data", options, args)?;
|
||||||
if data_str != "" {
|
if !data_str.is_empty() {
|
||||||
let data = utils::str_to_bytes(&data_str)?;
|
let data = utils::str_to_bytes(&data_str)?;
|
||||||
req.set_data(data.to_vec());
|
req.set_data(data.to_vec());
|
||||||
}
|
}
|
||||||
@ -1786,7 +1783,7 @@ fn agent_cmd_sandbox_online_cpu_mem(
|
|||||||
run_if_auto_values!(ctx, || -> Result<()> {
|
run_if_auto_values!(ctx, || -> Result<()> {
|
||||||
let wait_str = utils::get_option("wait", options, args)?;
|
let wait_str = utils::get_option("wait", options, args)?;
|
||||||
|
|
||||||
if wait_str != "" {
|
if !wait_str.is_empty() {
|
||||||
let wait = wait_str
|
let wait = wait_str
|
||||||
.parse::<bool>()
|
.parse::<bool>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid wait bool"))?;
|
.map_err(|e| anyhow!(e).context("invalid wait bool"))?;
|
||||||
@ -1796,7 +1793,7 @@ fn agent_cmd_sandbox_online_cpu_mem(
|
|||||||
|
|
||||||
let nb_cpus_str = utils::get_option("nb_cpus", options, args)?;
|
let nb_cpus_str = utils::get_option("nb_cpus", options, args)?;
|
||||||
|
|
||||||
if nb_cpus_str != "" {
|
if !nb_cpus_str.is_empty() {
|
||||||
let nb_cpus = nb_cpus_str
|
let nb_cpus = nb_cpus_str
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid nb_cpus value"))?;
|
.map_err(|e| anyhow!(e).context("invalid nb_cpus value"))?;
|
||||||
@ -1806,7 +1803,7 @@ fn agent_cmd_sandbox_online_cpu_mem(
|
|||||||
|
|
||||||
let cpu_only_str = utils::get_option("cpu_only", options, args)?;
|
let cpu_only_str = utils::get_option("cpu_only", options, args)?;
|
||||||
|
|
||||||
if cpu_only_str != "" {
|
if !cpu_only_str.is_empty() {
|
||||||
let cpu_only = cpu_only_str
|
let cpu_only = cpu_only_str
|
||||||
.parse::<bool>()
|
.parse::<bool>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid cpu_only bool"))?;
|
.map_err(|e| anyhow!(e).context("invalid cpu_only bool"))?;
|
||||||
@ -1843,7 +1840,7 @@ fn agent_cmd_sandbox_set_guest_date_time(
|
|||||||
run_if_auto_values!(ctx, || -> Result<()> {
|
run_if_auto_values!(ctx, || -> Result<()> {
|
||||||
let secs_str = utils::get_option("sec", options, args)?;
|
let secs_str = utils::get_option("sec", options, args)?;
|
||||||
|
|
||||||
if secs_str != "" {
|
if !secs_str.is_empty() {
|
||||||
let secs = secs_str
|
let secs = secs_str
|
||||||
.parse::<i64>()
|
.parse::<i64>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid seconds"))?;
|
.map_err(|e| anyhow!(e).context("invalid seconds"))?;
|
||||||
@ -1853,7 +1850,7 @@ fn agent_cmd_sandbox_set_guest_date_time(
|
|||||||
|
|
||||||
let usecs_str = utils::get_option("usec", options, args)?;
|
let usecs_str = utils::get_option("usec", options, args)?;
|
||||||
|
|
||||||
if usecs_str != "" {
|
if !usecs_str.is_empty() {
|
||||||
let usecs = usecs_str
|
let usecs = usecs_str
|
||||||
.parse::<i64>()
|
.parse::<i64>()
|
||||||
.map_err(|e| anyhow!(e).context("invalid useconds"))?;
|
.map_err(|e| anyhow!(e).context("invalid useconds"))?;
|
||||||
@ -1954,7 +1951,7 @@ fn agent_cmd_sandbox_mem_hotplug_by_probe(
|
|||||||
if !addr_list.is_empty() {
|
if !addr_list.is_empty() {
|
||||||
let addrs: Vec<u64> = addr_list
|
let addrs: Vec<u64> = addr_list
|
||||||
// Convert into a list of string values.
|
// Convert into a list of string values.
|
||||||
.split(",")
|
.split(',')
|
||||||
// Convert each string element into a u8 array of bytes, ignoring
|
// Convert each string element into a u8 array of bytes, ignoring
|
||||||
// those elements that fail the conversion.
|
// those elements that fail the conversion.
|
||||||
.filter_map(|s| hex::decode(s.trim_start_matches("0x")).ok())
|
.filter_map(|s| hex::decode(s.trim_start_matches("0x")).ok())
|
||||||
@ -2025,7 +2022,7 @@ fn builtin_cmd_list(_args: &str) -> (Result<()>, bool) {
|
|||||||
|
|
||||||
cmds.iter().for_each(|n| println!(" - {}", n));
|
cmds.iter().for_each(|n| println!(" - {}", n));
|
||||||
|
|
||||||
println!("");
|
println!();
|
||||||
|
|
||||||
(Ok(()), false)
|
(Ok(()), false)
|
||||||
}
|
}
|
||||||
@ -2046,8 +2043,8 @@ fn get_repeat_count(cmdline: &str) -> i64 {
|
|||||||
let count = fields[1];
|
let count = fields[1];
|
||||||
|
|
||||||
match count.parse::<i64>() {
|
match count.parse::<i64>() {
|
||||||
Ok(n) => return n,
|
Ok(n) => n,
|
||||||
Err(_) => return default_repeat_count,
|
Err(_) => default_repeat_count,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,11 +191,7 @@ fn connect(name: &str, global_args: clap::ArgMatches) -> Result<()> {
|
|||||||
|
|
||||||
let result = rpc::run(&logger, &cfg, commands);
|
let result = rpc::run(&logger, &cfg, commands);
|
||||||
|
|
||||||
if result.is_err() {
|
result.map_err(|e| anyhow!(e))
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn real_main() -> Result<()> {
|
fn real_main() -> Result<()> {
|
||||||
|
@ -92,12 +92,10 @@ pub fn signame_to_signum(name: &str) -> Result<u8> {
|
|||||||
return Err(anyhow!("invalid signal"));
|
return Err(anyhow!("invalid signal"));
|
||||||
}
|
}
|
||||||
|
|
||||||
match name.parse::<u8>() {
|
// "fall through" on error as we assume the name is not a number, but
|
||||||
Ok(n) => return Ok(n),
|
// a signal name.
|
||||||
|
if let Ok(n) = name.parse::<u8>() {
|
||||||
// "fall through" on error as we assume the name is not a number, but
|
return Ok(n);
|
||||||
// a signal name.
|
|
||||||
Err(_) => (),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut search_term: String;
|
let mut search_term: String;
|
||||||
@ -129,8 +127,7 @@ pub fn human_time_to_ns(human_time: &str) -> Result<i64> {
|
|||||||
|
|
||||||
let d: humantime::Duration = human_time
|
let d: humantime::Duration = human_time
|
||||||
.parse::<humantime::Duration>()
|
.parse::<humantime::Duration>()
|
||||||
.map_err(|e| anyhow!(e))?
|
.map_err(|e| anyhow!(e))?;
|
||||||
.into();
|
|
||||||
|
|
||||||
Ok(d.as_nanos() as i64)
|
Ok(d.as_nanos() as i64)
|
||||||
}
|
}
|
||||||
@ -262,8 +259,8 @@ fn config_file_from_bundle_dir(bundle_dir: &str) -> Result<String> {
|
|||||||
fn root_oci_to_ttrpc(bundle_dir: &str, root: &ociRoot) -> Result<ttrpcRoot> {
|
fn root_oci_to_ttrpc(bundle_dir: &str, root: &ociRoot) -> Result<ttrpcRoot> {
|
||||||
let root_dir = root.path.clone();
|
let root_dir = root.path.clone();
|
||||||
|
|
||||||
let path = if root_dir.starts_with("/") {
|
let path = if root_dir.starts_with('/') {
|
||||||
root_dir.clone()
|
root_dir
|
||||||
} else {
|
} else {
|
||||||
// Expand the root directory into an absolute value
|
// Expand the root directory into an absolute value
|
||||||
let abs_root_dir = PathBuf::from(&bundle_dir).join(&root_dir);
|
let abs_root_dir = PathBuf::from(&bundle_dir).join(&root_dir);
|
||||||
@ -685,13 +682,13 @@ fn linux_oci_to_ttrpc(l: &ociLinux) -> ttrpcLinux {
|
|||||||
|
|
||||||
fn oci_to_ttrpc(bundle_dir: &str, cid: &str, oci: &ociSpec) -> Result<ttrpcSpec> {
|
fn oci_to_ttrpc(bundle_dir: &str, cid: &str, oci: &ociSpec) -> Result<ttrpcSpec> {
|
||||||
let process = match &oci.process {
|
let process = match &oci.process {
|
||||||
Some(p) => protobuf::SingularPtrField::some(process_oci_to_ttrpc(&p)),
|
Some(p) => protobuf::SingularPtrField::some(process_oci_to_ttrpc(p)),
|
||||||
None => protobuf::SingularPtrField::none(),
|
None => protobuf::SingularPtrField::none(),
|
||||||
};
|
};
|
||||||
|
|
||||||
let root = match &oci.root {
|
let root = match &oci.root {
|
||||||
Some(r) => {
|
Some(r) => {
|
||||||
let ttrpc_root = root_oci_to_ttrpc(bundle_dir, &r).map_err(|e| e)?;
|
let ttrpc_root = root_oci_to_ttrpc(bundle_dir, r).map_err(|e| e)?;
|
||||||
|
|
||||||
protobuf::SingularPtrField::some(ttrpc_root)
|
protobuf::SingularPtrField::some(ttrpc_root)
|
||||||
}
|
}
|
||||||
@ -700,7 +697,7 @@ fn oci_to_ttrpc(bundle_dir: &str, cid: &str, oci: &ociSpec) -> Result<ttrpcSpec>
|
|||||||
|
|
||||||
let mut mounts = protobuf::RepeatedField::new();
|
let mut mounts = protobuf::RepeatedField::new();
|
||||||
for m in &oci.mounts {
|
for m in &oci.mounts {
|
||||||
mounts.push(mount_oci_to_ttrpc(&m));
|
mounts.push(mount_oci_to_ttrpc(m));
|
||||||
}
|
}
|
||||||
|
|
||||||
let linux = match &oci.linux {
|
let linux = match &oci.linux {
|
||||||
@ -770,7 +767,7 @@ pub fn get_ttrpc_spec(options: &mut Options, cid: &str) -> Result<ttrpcSpec> {
|
|||||||
|
|
||||||
let oci_spec: ociSpec = serde_json::from_str(&json_spec).map_err(|e| anyhow!(e))?;
|
let oci_spec: ociSpec = serde_json::from_str(&json_spec).map_err(|e| anyhow!(e))?;
|
||||||
|
|
||||||
Ok(oci_to_ttrpc(&bundle_dir, cid, &oci_spec)?)
|
oci_to_ttrpc(&bundle_dir, cid, &oci_spec)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn str_to_bytes(s: &str) -> Result<Vec<u8>> {
|
pub fn str_to_bytes(s: &str) -> Result<Vec<u8>> {
|
||||||
|
Loading…
Reference in New Issue
Block a user