rcmanager

package
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: May 17, 2022 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ControllerName = "RemoteClusterManager"
	UserAgentName  = ControllerName
)
View Source
const ReconcileNode = "ReconcileNode"
View Source
const (
	ReconcileSubnet = "ReconcileSubnet"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	sync.Mutex

	Meta
	LocalClusterKubeClient      kubeclientset.Interface
	LocalClusterHybridnetClient versioned.Interface
	RemoteSubnetLister          listers.RemoteSubnetLister
	RemoteVtepLister            listers.RemoteVtepLister

	KubeClient               *kubeclientset.Clientset
	HybridnetClient          *versioned.Clientset
	KubeInformerFactory      informers.SharedInformerFactory
	HybridnetInformerFactory externalversions.SharedInformerFactory
	NodeLister               corev1.NodeLister
	NodeSynced               cache.InformerSynced
	NodeQueue                workqueue.RateLimitingInterface
	NetworkLister            listers.NetworkLister
	NetworkSynced            cache.InformerSynced
	SubnetLister             listers.SubnetLister
	SubnetSynced             cache.InformerSynced
	SubnetQueue              workqueue.RateLimitingInterface
	IPLister                 listers.IPInstanceLister
	IPSynced                 cache.InformerSynced
	IPQueue                  workqueue.RateLimitingInterface
	RemoteClusterNodeLister  corev1.NodeLister
	RemoteClusterNodeSynced  cache.InformerSynced
	Recorder                 record.EventRecorder
	// contains filtered or unexported fields
}

Manager Those without the localCluster prefix are the resources of the remote cluster

func NewRemoteClusterManager

func NewRemoteClusterManager(rc *networkingv1.RemoteCluster,
	localClusterKubeClient kubeclientset.Interface,
	localClusterHybridnetClient versioned.Interface,
	remoteSubnetLister listers.RemoteSubnetLister,
	remoteVtepLister listers.RemoteVtepLister,
	eventHub chan<- rctypes.Event) (*Manager, error)

func (*Manager) Close

func (m *Manager) Close()

func (*Manager) EnqueueAllNode

func (m *Manager) EnqueueAllNode()

func (*Manager) EnqueueAllSubnet

func (m *Manager) EnqueueAllSubnet()

func (*Manager) GetClusterName

func (m *Manager) GetClusterName() string

func (*Manager) GetHybridnetClient

func (m *Manager) GetHybridnetClient() versioned.Interface

func (*Manager) GetIsReady

func (m *Manager) GetIsReady() bool

func (*Manager) GetKubeClient

func (m *Manager) GetKubeClient() kubeclientset.Interface

func (*Manager) GetOverlayNetID

func (m *Manager) GetOverlayNetID() *uint32

func (*Manager) GetUUID

func (m *Manager) GetUUID() types.UID

func (*Manager) ListSubnet

func (m *Manager) ListSubnet() ([]*networkingv1.Subnet, error)

func (*Manager) RemoteVtepChanged

func (m *Manager) RemoteVtepChanged(oldRemoteVtep *networkingv1.RemoteVtep, desiredNode *corev1.Node) (changed bool, newRemoteVtep *networkingv1.RemoteVtep, err error)

func (*Manager) Run

func (m *Manager) Run()

func (*Manager) RunIPInstanceWorker

func (m *Manager) RunIPInstanceWorker()

func (*Manager) RunNodeWorker

func (m *Manager) RunNodeWorker()

func (*Manager) RunSubnetWorker

func (m *Manager) RunSubnetWorker()

func (*Manager) SetIsReady

func (m *Manager) SetIsReady(val bool)

type Meta

type Meta struct {
	ClusterName string
	// RemoteClusterUID is used to set owner reference
	RemoteClusterUID types.UID
	// ClusterUUID represents the corresponding remote cluster's uuid, which is generated
	// from unique k8s resource
	ClusterUUID types.UID
	StopCh      chan struct{}
	// Only if meet the condition, can create remote cluster's cr
	// Conditions are:
	// 1. The remote cluster created the remote-cluster-cr of this cluster
	// 2. The remote cluster and local cluster both have overlay network
	// 3. The overlay network id is same with local cluster
	IsReady     bool
	IsReadyLock sync.RWMutex
}

type SubnetSet

type SubnetSet interface {
	Remember(subnet string)
	Recognize(subnet string) bool
	Forget(subnet string)
}

func NewSubnetSet

func NewSubnetSet(callbackFun func()) SubnetSet

Jump to

Keyboard shortcuts

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