podman

Форк
0
/
pod_internal_linux.go 
36 строк · 1.1 Кб
1
//go:build !remote
2

3
package libpod
4

5
import (
6
	"fmt"
7
	"path/filepath"
8

9
	"github.com/containers/common/pkg/config"
10
	"github.com/containers/podman/v5/libpod/define"
11
	"github.com/containers/podman/v5/pkg/rootless"
12
	"github.com/sirupsen/logrus"
13
)
14

15
func (p *Pod) platformRefresh() error {
16
	// We need to recreate the pod's cgroup
17
	if p.config.UsePodCgroup {
18
		switch p.runtime.config.Engine.CgroupManager {
19
		case config.SystemdCgroupsManager:
20
			cgroupPath, err := systemdSliceFromPath(p.config.CgroupParent, fmt.Sprintf("libpod_pod_%s", p.ID()), p.ResourceLim())
21
			if err != nil {
22
				logrus.Errorf("Creating Cgroup for pod %s: %v", p.ID(), err)
23
			}
24
			p.state.CgroupPath = cgroupPath
25
		case config.CgroupfsCgroupsManager:
26
			if !rootless.IsRootless() || isRootlessCgroupSet(p.config.CgroupParent) {
27
				p.state.CgroupPath = filepath.Join(p.config.CgroupParent, p.ID())
28

29
				logrus.Debugf("setting pod cgroup to %s", p.state.CgroupPath)
30
			}
31
		default:
32
			return fmt.Errorf("unknown cgroups manager %s specified: %w", p.runtime.config.Engine.CgroupManager, define.ErrInvalidArg)
33
		}
34
	}
35
	return nil
36
}
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.