Change location of created runc specs to make them survive reboot

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #78
Approved by: rhatdan
This commit is contained in:
Matthew Heon
2017-11-27 12:03:43 -05:00
committed by Atomic Bot
parent d55cb0f589
commit 13e833a388
3 changed files with 3 additions and 5 deletions

View File

@ -280,7 +280,7 @@ func (c *Container) MountPoint() (string, error) {
// The path to the container's root filesystem - where the OCI spec will be
// placed, amongst other things
func (c *Container) bundlePath() string {
return c.state.RunDir
return c.config.StaticDir
}
// The path to the container's logs file

View File

@ -53,7 +53,7 @@ func (c *Container) attachContainerSocket(resize <-chan remotecommand.TerminalSi
term.SetRawTerminal(inputStream.Fd())
}
controlPath := filepath.Join(c.state.RunDir, "ctl")
controlPath := filepath.Join(c.bundlePath(), "ctl")
controlFile, err := os.OpenFile(controlPath, unix.O_WRONLY, 0)
if err != nil {
return errors.Wrapf(err, "failed to open container ctl file: %v")

View File

@ -169,8 +169,6 @@ func (r *OCIRuntime) createContainer(ctr *Container, cgroupParent string) (err e
args = append(args, "-r", r.path)
args = append(args, "-b", ctr.bundlePath())
args = append(args, "-p", filepath.Join(ctr.state.RunDir, "pidfile"))
// TODO container log location should be configurable
// The default also likely shouldn't be this
args = append(args, "-l", ctr.logPath())
args = append(args, "--exit-dir", r.exitsDir)
args = append(args, "--socket-dir-path", r.socketsDir)
@ -190,7 +188,7 @@ func (r *OCIRuntime) createContainer(ctr *Container, cgroupParent string) (err e
}).Debugf("running conmon: %s", r.conmonPath)
cmd := exec.Command(r.conmonPath, args...)
cmd.Dir = ctr.state.RunDir
cmd.Dir = ctr.bundlePath()
cmd.SysProcAttr = &syscall.SysProcAttr{
Setpgid: true,
}