containers / containers/podlet

Container command arguments treated as arguments to `podman run`

Open
#97 1 comment 0 reactions 0 assignees View on GitHub
bug help wanted
Dominant language
Rust
Stars
1.6k
Forks
48
Avg merge
1d 9h
Merged PRs (30d)
1

Description

Podlet parses all arguments as podman arguments, instead to parse it like podman container arguments.

Here is the example.

Command to run container with extra container arguments.

```
podman run --replace --net=host \
--cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=CAP_MKNOD --security-opt="label=disable" \
-v /var/app/list.txt:/list.txt:z \
--device=/dev/net/tun --device=/dev/null \
--name cdpi -d localhost/my-cdpi:latest -d 1 -s 1 -H /list.txt
```

Note the extra container arguments `-d 1 -s 1 -H /list.txt`.

Command to generate podlet from running containers
`podlet generate container cdpi`

Got error:

> Error:
> 0: error creating Quadlet file(s) from an existing object
> 1: error parsing Podman container command from `["podman", "run", "--replace", "--net=host", "--cap-add=NET_ADMIN", "--cap-add=SYS_ADMIN", "--cap-add=CAP_MKNOD", "--security-opt=label=disable", "-v", "/var/app/list.txt:/list.txt:z", "--device=/dev/net/tun", "--device=/dev/null", "--name", "cdpi", "-d", "localhost/my-cdpi:latest", "-d", "1", "-s", "1", "-H", "/list.txt"]`
> 2: error: the argument '--detach' cannot be used multiple times
>
> 2: Usage: podlet [OPTIONS] [COMMAND]...
>
> For more information, try '--help'.
> 2:
>
> Location:
> src/cli/generate.rs:152
>
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> ⋮ 1 frame hidden ⋮
> 2: ::ext_report::h8eff283722d67991
> at :
> 3: podlet::cli::generate::ContainerParser::from_container::hd917c4d329b2876c
> at :
> 4: podlet::cli::generate::Generate::try_into_quadlet_files::hdb29da458a256c5d
> at :
> 5: podlet::cli::Cli::try_into_files::h272c29d01695c5cd
> at :
> 6: podlet::cli::Cli::print_or_write_files::h7a108ecbab21c253
> at :
> 7: podlet::main::hcdc3a3cc51275317
> at :
> 8: std::sys_common::backtrace::__rust_begin_short_backtrace::hbb3b36e6fe2a6b73
> at :
> 9: std::rt::lang_start::{{closure}}::hdcdbeec9943261a6
> at :
> 10: core::ops::function::impls:: for &F>::call_once::h52f5991f9ab8b369
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/ops/function.rs:284
> 11: std::panicking::try::do_call::h0ac4bee9a397a1bf
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552
> 12: std::panicking::try::hc005decaf198d0ed
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516
> 13: std::panic::catch_unwind::hb0f967d870b2a382
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146
> 14: std::rt::lang_start_internal::{{closure}}::hd140b84b0efe534b
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148
> 15: std::panicking::try::do_call::h1ddfaf1d0d576c38
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552
> 16: std::panicking::try::hdd4bdf855547659f
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516
> 17: std::panic::catch_unwind::h276ba91c7706110c
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146
> 18: std::rt::lang_start_internal::h103c42a9c4e95084
> at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148
> 19: main
> at :
> 20: __libc_start_call_main
> at :
> 21: __libc_start_main_impl
> at :
> 22: _start
> at :

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.