mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-29 20:14:25 +01:00
Firecracker provides a jailer to constrain the VMM. Use this jailer to launch the firecracker VMM instead of launching it directly from the kata-runtime. The jailer will ensure that the firecracker VMM will run in its own network and mount namespace. All assets required by the VMM have to be present within these namespaces. The assets need to be copied or bind mounted into the chroot location setup by jailer in order for firecracker to access these resouces. This includes files, device nodes and all other assets. Jailer automatically sets up the jail to have access to kvm and vhost-vsock. If a jailer is not available (i.e. not setup in the toml) for a given hypervisor the runtime will act as the jailer. Also enhance the hypervisor interface and unit tests to include the network namespace. This allows the hypervisor to choose how and where to lauch the VMM process, vs virtcontainers directly launching the VMM process. Fixes: #1129 Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
62 lines
2.4 KiB
Go
62 lines
2.4 KiB
Go
// Copyright (c) 2018 Intel Corporation
|
|
// Copyright (c) 2018 HyperHQ Inc.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
// Note that some variables are "var" to allow them to be modified
|
|
// by the tests.
|
|
|
|
package katautils
|
|
|
|
var defaultHypervisorPath = "/usr/bin/qemu-lite-system-x86_64"
|
|
var defaultHypervisorCtlPath = "/usr/bin/acrnctl"
|
|
var defaultJailerPath = "/usr/bin/jailer"
|
|
var defaultImagePath = "/usr/share/kata-containers/kata-containers.img"
|
|
var defaultKernelPath = "/usr/share/kata-containers/vmlinuz.container"
|
|
var defaultInitrdPath = "/usr/share/kata-containers/kata-containers-initrd.img"
|
|
var defaultFirmwarePath = ""
|
|
var defaultMachineAccelerators = ""
|
|
var defaultShimPath = "/usr/libexec/kata-containers/kata-shim"
|
|
var systemdUnitName = "kata-containers.target"
|
|
|
|
const defaultKernelParams = ""
|
|
const defaultMachineType = "pc"
|
|
|
|
const defaultVCPUCount uint32 = 1
|
|
const defaultMaxVCPUCount uint32 = 0
|
|
const defaultMemSize uint32 = 2048 // MiB
|
|
const defaultMemSlots uint32 = 10
|
|
const defaultMemOffset uint32 = 0 // MiB
|
|
const defaultBridgesCount uint32 = 1
|
|
const defaultInterNetworkingModel = "macvtap"
|
|
const defaultDisableBlockDeviceUse bool = false
|
|
const defaultBlockDeviceDriver = "virtio-scsi"
|
|
const defaultBlockDeviceCacheSet bool = false
|
|
const defaultBlockDeviceCacheDirect bool = false
|
|
const defaultBlockDeviceCacheNoflush bool = false
|
|
const defaultEnableIOThreads bool = false
|
|
const defaultEnableMemPrealloc bool = false
|
|
const defaultEnableHugePages bool = false
|
|
const defaultFileBackedMemRootDir string = ""
|
|
const defaultEnableSwap bool = false
|
|
const defaultEnableDebug bool = false
|
|
const defaultDisableNestingChecks bool = false
|
|
const defaultMsize9p uint32 = 8192
|
|
const defaultHotplugVFIOOnRootBus bool = false
|
|
const defaultEntropySource = "/dev/urandom"
|
|
const defaultGuestHookPath string = ""
|
|
|
|
const defaultTemplatePath string = "/run/vc/vm/template"
|
|
const defaultVMCacheEndpoint string = "/var/run/kata-containers/cache.sock"
|
|
|
|
// Default config file used by stateless systems.
|
|
var defaultRuntimeConfiguration = "/usr/share/defaults/kata-containers/configuration.toml"
|
|
|
|
// Alternate config file that takes precedence over
|
|
// defaultRuntimeConfiguration.
|
|
var defaultSysConfRuntimeConfiguration = "/etc/kata-containers/configuration.toml"
|
|
|
|
var name = "kata"
|
|
var defaultProxyPath = "/usr/libexec/kata-containers/kata-proxy"
|
|
var defaultNetmonPath = "/usr/libexec/kata-containers/kata-netmon"
|