Files
podman/libpod/container_internal_unsupported.go
Matthew Heon b57d2f4cc7 Force a CNI Delete on refreshing containers
CNI expects that a DELETE be run before re-creating container
networks. If a reboot occurs quickly enough that containers can't
stop and clean up, that DELETE never happens, and Podman
currently wipes the old network info and thinks the state has
been entirely cleared. Unfortunately, that may not be the case on
the CNI side. Some things - like IP address reservations - may
not have been cleared.

To solve this, manually re-run CNI Delete on refresh. If the
container has already been deleted this seems harmless. If not,
it should clear lingering state.

Fixes: #3759

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-24 09:52:11 -04:00

47 lines
1.0 KiB
Go

// +build !linux
package libpod
import (
"context"
"github.com/containers/libpod/libpod/define"
spec "github.com/opencontainers/runtime-spec/specs-go"
)
func (c *Container) mountSHM(shmOptions string) error {
return define.ErrNotImplemented
}
func (c *Container) unmountSHM(mount string) error {
return define.ErrNotImplemented
}
func (c *Container) prepare() (err error) {
return define.ErrNotImplemented
}
func (c *Container) cleanupNetwork() error {
return define.ErrNotImplemented
}
func (c *Container) generateSpec(ctx context.Context) (*spec.Spec, error) {
return nil, define.ErrNotImplemented
}
func (c *Container) checkpoint(ctx context.Context, options ContainerCheckpointOptions) error {
return define.ErrNotImplemented
}
func (c *Container) restore(ctx context.Context, options ContainerCheckpointOptions) error {
return define.ErrNotImplemented
}
func (c *Container) copyOwnerAndPerms(source, dest string) error {
return nil
}
func (c *Container) refreshCNI() error {
return define.ErrNotImplemented
}