mirror of
https://github.com/containers/podman.git
synced 2025-06-23 02:18:13 +08:00
Remove now-unused runc launch code
Signed-off-by: Matthew Heon <matthew.heon@gmail.com> Closes: #412 Approved by: baude
This commit is contained in:
117
libpod/runc.go
117
libpod/runc.go
@ -1,117 +0,0 @@
|
||||
package libpod
|
||||
|
||||
import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type runcGlobalOptions struct {
|
||||
log string
|
||||
logFormat string
|
||||
root string
|
||||
criu string
|
||||
systemdCgroup bool
|
||||
}
|
||||
type runcExecOptions struct {
|
||||
consoleSocket string
|
||||
cwd string
|
||||
env []string
|
||||
tty bool
|
||||
user string
|
||||
processPath string
|
||||
detach bool
|
||||
pidFile string
|
||||
processLabel string
|
||||
apparmor string
|
||||
noNewPrivs bool
|
||||
capAdd []string
|
||||
}
|
||||
|
||||
func parseGlobalOptionsToArgs(opts runcGlobalOptions) []string {
|
||||
args := []string{}
|
||||
if opts.log != "" {
|
||||
args = append(args, "--log", opts.log)
|
||||
}
|
||||
if opts.logFormat != "" {
|
||||
args = append(args, "--log-format", opts.logFormat)
|
||||
}
|
||||
if opts.root != "" {
|
||||
args = append(args, "--root", opts.root)
|
||||
}
|
||||
if opts.criu != "" {
|
||||
args = append(args, "--criu", opts.criu)
|
||||
}
|
||||
if opts.systemdCgroup {
|
||||
args = append(args, "--systemd-cgroup")
|
||||
}
|
||||
return args
|
||||
}
|
||||
|
||||
// RuncExec executes 'runc --options exec --options cmd'
|
||||
func (r *OCIRuntime) RuncExec(container *Container, command []string, globalOpts runcGlobalOptions, execOpts runcExecOptions) error {
|
||||
args := []string{}
|
||||
args = append(args, parseGlobalOptionsToArgs(globalOpts)...)
|
||||
// Add subcommand
|
||||
args = append(args, "exec")
|
||||
// Now add subcommand args
|
||||
|
||||
if execOpts.consoleSocket != "" {
|
||||
args = append(args, "--console-socket", execOpts.consoleSocket)
|
||||
}
|
||||
if execOpts.cwd != "" {
|
||||
args = append(args, "--cwd", execOpts.cwd)
|
||||
}
|
||||
|
||||
if len(execOpts.env) > 0 {
|
||||
for _, envInput := range execOpts.env {
|
||||
args = append(args, "--env", envInput)
|
||||
}
|
||||
}
|
||||
if execOpts.tty {
|
||||
args = append(args, "--tty")
|
||||
}
|
||||
if execOpts.user != "" {
|
||||
args = append(args, "--user", execOpts.user)
|
||||
|
||||
}
|
||||
if execOpts.processPath != "" {
|
||||
args = append(args, "--process", execOpts.processPath)
|
||||
}
|
||||
if execOpts.detach {
|
||||
args = append(args, "--detach")
|
||||
}
|
||||
if execOpts.pidFile != "" {
|
||||
args = append(args, "--pid-file", execOpts.pidFile)
|
||||
}
|
||||
if execOpts.processLabel != "" {
|
||||
args = append(args, "--process-label", execOpts.processLabel)
|
||||
}
|
||||
if execOpts.apparmor != "" {
|
||||
args = append(args, "--apparmor", execOpts.apparmor)
|
||||
}
|
||||
if execOpts.noNewPrivs {
|
||||
args = append(args, "--no-new-privs")
|
||||
}
|
||||
if len(execOpts.capAdd) > 0 {
|
||||
for _, capAddValue := range execOpts.capAdd {
|
||||
args = append(args, "--cap", capAddValue)
|
||||
}
|
||||
}
|
||||
|
||||
// Append Cid
|
||||
args = append(args, container.ID())
|
||||
// Append Cmd
|
||||
args = append(args, command...)
|
||||
|
||||
logrus.Debug("Executing runc command: %s %s", r.path, strings.Join(args, " "))
|
||||
cmd := exec.Command(r.path, args...)
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
cmd.Stdin = os.Stdin
|
||||
cmd.Start()
|
||||
err := cmd.Wait()
|
||||
return err
|
||||
}
|
Reference in New Issue
Block a user