network

package
v0.59.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultInterfaceQueueCount = 1
	UnknownInterfaceQueueCount = 0
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigState added in v0.59.0

type ConfigState struct {
	// contains filtered or unexported fields
}

func NewConfigState added in v0.59.0

func NewConfigState(cc cacheCreator, vmiUID string) ConfigState

func (ConfigState) Run added in v0.59.0

func (c ConfigState) Run(podIfaceName string, discoverFunc func() error, configFunc func() error) error

Run passes through the state machine flow, executing the following steps: - Discover the current pod network configuration status and persist some of it for future use. - Configure the pod network.

The discovery step can be executed repeatedly with no limitation. The configuration step is allowed to run only once. Any attempt to run it again will cause a critical error.

type NSExecutor added in v0.49.0

type NSExecutor interface {
	Do(func() error) error
}

type NetConf added in v0.49.0

type NetConf struct {
	// contains filtered or unexported fields
}

func NewNetConf added in v0.49.0

func NewNetConf() *NetConf

func NewNetConfWithCustomFactory added in v0.50.0

func NewNetConfWithCustomFactory(nsFactory nsFactory, cacheCreator cacheCreator) *NetConf

func (*NetConf) Setup added in v0.49.0

func (c *NetConf) Setup(vmi *v1.VirtualMachineInstance, launcherPid int, preSetup func() error) error

Setup applies (privilege) network related changes for an existing virt-launcher pod. As the changes are performed in the virt-launcher network namespace, which is relative expensive, an early cache check is performed to avoid executing the same operation again (if the last one completed).

func (*NetConf) SetupCompleted added in v0.49.0

func (c *NetConf) SetupCompleted(vmi *v1.VirtualMachineInstance) bool

SetupCompleted examines if the setup on a given VMI completed. It uses the (soft) cache to determine the information.

func (*NetConf) Teardown added in v0.49.0

func (c *NetConf) Teardown(vmi *v1.VirtualMachineInstance) error

type NetStat added in v0.49.0

type NetStat struct {
	// contains filtered or unexported fields
}

func NewNetStat added in v0.49.0

func NewNetStat() *NetStat

func NewNetStateWithCustomFactory added in v0.50.0

func NewNetStateWithCustomFactory(cacheCreator cacheCreator) *NetStat

func (*NetStat) CachePodInterfaceVolatileData added in v0.49.0

func (c *NetStat) CachePodInterfaceVolatileData(vmi *v1.VirtualMachineInstance, ifaceName string, data *cache.PodIfaceCacheData)

func (*NetStat) PodInterfaceVolatileDataIsCached added in v0.49.0

func (c *NetStat) PodInterfaceVolatileDataIsCached(vmi *v1.VirtualMachineInstance, ifaceName string) bool

func (*NetStat) Teardown added in v0.49.0

func (c *NetStat) Teardown(vmi *v1.VirtualMachineInstance)

func (*NetStat) UpdateStatus added in v0.49.0

func (c *NetStat) UpdateStatus(vmi *v1.VirtualMachineInstance, domain *api.Domain) error

UpdateStatus calculates the vmi.Status.Interfaces based on the following data sets: - Pod interface cache: interfaces data (IP/s) collected from the cache (which was populated during the network setup). - domain.Spec: interfaces configuration as seen by the (libvirt) domain. - domain.Status.Interfaces: interfaces reported by the guest agent (empty if Qemu agent not running). Podnet nic has to be the first one in vmi.Status.Interfaces list to match vmi crd wide columns definition

type VMNetworkConfigurator

type VMNetworkConfigurator struct {
	// contains filtered or unexported fields
}

func NewVMNetworkConfigurator

func NewVMNetworkConfigurator(vmi *v1.VirtualMachineInstance, cacheCreator cacheCreator) *VMNetworkConfigurator

func (*VMNetworkConfigurator) SetupPodNetworkPhase1

func (n *VMNetworkConfigurator) SetupPodNetworkPhase1(launcherPID int) error

func (*VMNetworkConfigurator) SetupPodNetworkPhase2

func (n *VMNetworkConfigurator) SetupPodNetworkPhase2(domain *api.Domain) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL