Documentation ¶
Index ¶
- Constants
- type ConfigState
- type NSExecutor
- type NetConf
- type NetStat
- func (c *NetStat) CachePodInterfaceVolatileData(vmi *v1.VirtualMachineInstance, ifaceName string, ...)
- func (c *NetStat) PodInterfaceVolatileDataIsCached(vmi *v1.VirtualMachineInstance, ifaceName string) bool
- func (c *NetStat) Teardown(vmi *v1.VirtualMachineInstance)
- func (c *NetStat) UpdateStatus(vmi *v1.VirtualMachineInstance, domain *api.Domain) error
- type VMNetworkConfigurator
Constants ¶
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 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.
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
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