Files
kata-containers/src/runtime/pkg/resourcecontrol/cgroups_darwin.go
Samuel Ortiz a9626682af virtcontainers: resourcecontrol: Add skeleton for Darwin
Cgroups do not exist on Darwin, so use an empty implementation for
resourcecontrol for the time being. In the process, ensure that the
utilized cgroup handling (ie, isSystemdCgroup) is kept in general file,
since we use this to help assess/constrain the container spec we pass to
the guest.

Fixes: #6051

Signed-off-by: Samuel Ortiz <s.ortiz@apple.com>
Signed-off-by: Eric Ernst <eric_ernst@apple.com>
2023-01-12 15:53:28 -08:00

87 lines
1.9 KiB
Go

// Copyright (c) 2023 Apple Inc.
//
// SPDX-License-Identifier: Apache-2.0
//
package resourcecontrol
import (
"errors"
"github.com/opencontainers/runtime-spec/specs-go"
)
type DarwinResourceController struct{}
func RenameCgroupPath(path string) (string, error) {
return "", errors.New("RenameCgroupPath not supported on Darwin")
}
func NewResourceController(path string, resources *specs.LinuxResources) (ResourceController, error) {
return &DarwinResourceController{}, nil
}
func NewSandboxResourceController(path string, resources *specs.LinuxResources, sandboxCgroupOnly bool) (ResourceController, error) {
return &DarwinResourceController{}, nil
}
func LoadResourceController(path string) (ResourceController, error) {
return &DarwinResourceController{}, nil
}
func (c *DarwinResourceController) Delete() error {
return nil
}
func (c *DarwinResourceController) Stat() (interface{}, error) {
return nil, nil
}
func (c *DarwinResourceController) AddProcess(pid int, subsystems ...string) error {
return nil
}
func (c *DarwinResourceController) AddThread(pid int, subsystems ...string) error {
return nil
}
func (c *DarwinResourceController) AddTask(pid int, subsystems ...string) error {
return nil
}
func (c *DarwinResourceController) Update(resources *specs.LinuxResources) error {
return nil
}
func (c *DarwinResourceController) MoveTo(path string) error {
return nil
}
func (c *DarwinResourceController) ID() string {
return ""
}
func (c *DarwinResourceController) Parent() string {
return ""
}
func (c *DarwinResourceController) Type() ResourceControllerType {
return DarwinResourceControllerType
}
func (c *DarwinResourceController) AddDevice(deviceHostPath string) error {
return nil
}
func (c *DarwinResourceController) RemoveDevice(deviceHostPath string) error {
return nil
}
func (c *DarwinResourceController) UpdateCpuSet(cpuset, memset string) error {
return nil
}
func (c *DarwinResourceController) Path() string {
return ""
}