Documentation
¶
Index ¶
- Constants
- func CanMerge(a, b *IPv4Subnet) bool
- func DefaultClientTransport(rt http.RoundTripper) http.RoundTripper
- func GetNuageLabels(input *v1.Service) map[string]string
- func VsdErrorResponse(resp *napping.Response, e *api.RESTError) error
- type GetPgsFunc
- type IPv4Address
- type IPv4Subnet
- type IPv4SubnetNode
- type IPv4SubnetPool
- type NamespaceData
- type NuageClusterClient
- func (nosc *NuageClusterClient) GetClusterClientCallBacks() *api.ClusterClientCallBacks
- func (nosc *NuageClusterClient) GetExistingEvents(nsChannel chan *api.NamespaceEvent, serviceChannel chan *api.ServiceEvent, ...)
- func (nosc *NuageClusterClient) GetNamespaces(listOpts *metav1.ListOptions) (*[]*api.NamespaceEvent, error)
- func (nosc *NuageClusterClient) GetNetworkPolicies(listOpts *metav1.ListOptions) (*[]*api.NetworkPolicyEvent, error)
- func (nosc *NuageClusterClient) GetPod(name string, ns string) (*api.PodEvent, error)
- func (nosc *NuageClusterClient) GetPods(listOpts *metav1.ListOptions, ns string) (*[]*api.PodEvent, error)
- func (nosc *NuageClusterClient) GetServices(listOpts *metav1.ListOptions) (*[]*api.ServiceEvent, error)
- func (nosc *NuageClusterClient) Init(nkmConfig *config.NuageKubeMonConfig)
- func (nosc *NuageClusterClient) InitializeClientSetFromKubeConfig(nkmConfig *config.NuageKubeMonConfig) error
- func (nosc *NuageClusterClient) InitializeClientSetFromSA() error
- func (nosc *NuageClusterClient) RunNamespaceWatcher(nsChannel chan *api.NamespaceEvent, stop chan bool)
- func (nosc *NuageClusterClient) RunNetworkPolicyWatcher(policyChannel chan *api.NetworkPolicyEvent, stop chan bool)
- func (nosc *NuageClusterClient) RunPodWatcher(podChannel chan *api.PodEvent, stop chan bool)
- func (nosc *NuageClusterClient) RunServiceWatcher(serviceChannel chan *api.ServiceEvent, stop chan bool)
- func (nosc *NuageClusterClient) WatchNamespaces(receiver chan *api.NamespaceEvent, stop chan bool) error
- func (nosc *NuageClusterClient) WatchNetworkPolicies(receiver chan *api.NetworkPolicyEvent, stop chan bool) error
- func (nosc *NuageClusterClient) WatchPods(receiver chan *api.PodEvent, stop chan bool) error
- func (nosc *NuageClusterClient) WatchServices(receiver chan *api.ServiceEvent, stop chan bool) error
- type NuageEtcdClient
- func (nuageetcd *NuageEtcdClient) AddZone(zoneInfo *api.EtcdZoneMetadata) (string, error)
- func (nuageetcd *NuageEtcdClient) AllocateSubnetCIDR(subnet *api.EtcdSubnetMetadata) (string, error)
- func (nuageetcd *NuageEtcdClient) AllocateSubnetForPod(data *api.EtcdPodMetadata) (*api.EtcdPodSubnet, error)
- func (nuageetcd *NuageEtcdClient) CreateFirstSubnet(subnetInfo *api.EtcdSubnetMetadata) error
- func (nuageetcd *NuageEtcdClient) DeAllocateSubnetFromPod(data *api.EtcdPodMetadata) ([]*api.EtcdSubnetMetadata, error)
- func (nuageetcd *NuageEtcdClient) DeleteLastSubnet(subnetInfo *api.EtcdSubnetMetadata) (*api.EtcdSubnetMetadata, error)
- func (nuageetcd *NuageEtcdClient) DeleteZone(zoneInfo *api.EtcdZoneMetadata) error
- func (nuageetcd *NuageEtcdClient) FreeSubnetCIDR(subnet *api.EtcdSubnetMetadata) error
- func (nuageetcd *NuageEtcdClient) GetSubnetID(subnetInfo *api.EtcdSubnetMetadata) (string, error)
- func (nuageetcd *NuageEtcdClient) GetSubnetInfo(subnetInfo *api.EtcdSubnetMetadata) (*api.EtcdSubnetMetadata, error)
- func (nuageetcd *NuageEtcdClient) GetZonesSubnets() (map[string]map[string]bool, error)
- func (nuageetcd *NuageEtcdClient) HandleEtcdEvent(event *api.EtcdEvent)
- func (nuageetcd *NuageEtcdClient) Init(nkmConfig *config.NuageKubeMonConfig) error
- func (nuageetcd *NuageEtcdClient) Run(etcdChannel chan *api.EtcdEvent)
- func (nuageetcd *NuageEtcdClient) TLSSetup() (*tls.Config, error)
- func (nuageetcd *NuageEtcdClient) UpdateSubnetInfo(subnetInfo *api.EtcdSubnetMetadata) error
- func (nuageetcd *NuageEtcdClient) UpdateZone(zoneInfo *api.EtcdZoneMetadata) error
- type NuageVsdClient
- func (nvsdc *NuageVsdClient) AddNetworkMacroToNMG(networkMacroID, networkMacroGroupID string) error
- func (nvsdc *NuageVsdClient) AddPodsToPolicyGroup(pgId string, podsList []string) error
- func (nvsdc *NuageVsdClient) CreateAclEntry(ingress bool, aclEntry *api.VsdAclEntry) (string, error)
- func (nvsdc *NuageVsdClient) CreateAclTemplate(domainID string, name string, priority int, ingress bool) (string, error)
- func (nvsdc *NuageVsdClient) CreateAdditionalSubnet(subnetName string, namespace *NamespaceData) error
- func (nvsdc *NuageVsdClient) CreateDomain(enterpriseID, domainTemplateID, name string) (string, error)
- func (nvsdc *NuageVsdClient) CreateDomainTemplate(enterpriseID, domainTemplateName string) (string, error)
- func (nvsdc *NuageVsdClient) CreateEgressAclEntries(statsLogging string) error
- func (nvsdc *NuageVsdClient) CreateEgressAclTemplate(domainID string) (string, error)
- func (nvsdc *NuageVsdClient) CreateEgressAclTemplateForNamespaceAnnotations(domainID string) (string, error)
- func (nvsdc *NuageVsdClient) CreateIngressAclEntries(statsLogging string) error
- func (nvsdc *NuageVsdClient) CreateIngressAclTemplate(domainID string) (string, error)
- func (nvsdc *NuageVsdClient) CreateIngressAclTemplateForNamespaceAnnotations(domainID string) (string, error)
- func (nvsdc *NuageVsdClient) CreateNetworkMacro(enterpriseID string, networkMacro *api.VsdNetworkMacro) (string, error)
- func (nvsdc *NuageVsdClient) CreateNetworkMacroGroup(enterpriseID string, zoneName string) (string, error)
- func (nvsdc *NuageVsdClient) CreatePolicyGroup(name string, description string) (string, string, error)
- func (nvsdc *NuageVsdClient) CreatePrivilegedZoneAcls(zoneName, zoneID string, enableStatsLogging bool) error
- func (nvsdc *NuageVsdClient) CreateSession(userCertFile string, userKeyFile string)
- func (nvsdc *NuageVsdClient) CreateSpecificZoneAcls(zoneName string, zoneID string, enableStatsLogging bool) error
- func (nvsdc *NuageVsdClient) CreateSubnet(name, zoneID string, subnet *IPv4Subnet) (string, error)
- func (nvsdc *NuageVsdClient) CreateZone(domainID, name string) (string, error)
- func (nvsdc *NuageVsdClient) DeleteAclEntry(ingress bool, aclID string) error
- func (nvsdc *NuageVsdClient) DeleteDomain(id string) error
- func (nvsdc *NuageVsdClient) DeleteNetworkMacro(networkMacroID string) error
- func (nvsdc *NuageVsdClient) DeleteNetworkMacroGroup(networkMacroGroupID string) error
- func (nvsdc *NuageVsdClient) DeletePolicyGroup(id string) error
- func (nvsdc *NuageVsdClient) DeletePrivilegedZoneAcls(zoneName, zoneID string) error
- func (nvsdc *NuageVsdClient) DeleteSpecificZoneAcls(zoneName string) error
- func (nvsdc *NuageVsdClient) DeleteSubnet(id string) error
- func (nvsdc *NuageVsdClient) DeleteZone(id string) error
- func (nvsdc *NuageVsdClient) GetAclEntry(ingress bool, aclEntry *api.VsdAclEntry) (*api.VsdAclEntry, error)
- func (nvsdc *NuageVsdClient) GetAclEntryByPriority(ingress bool, aclEntryPriority int) (*api.VsdAclEntry, error)
- func (nvsdc *NuageVsdClient) GetAclTemplateByID(templateID string, ingress bool) (*api.VsdAclTemplate, error)
- func (nvsdc *NuageVsdClient) GetAclTemplateID(domainID, name string, ingress bool, priority int) (string, error)
- func (nvsdc *NuageVsdClient) GetDomainID(enterpriseID, name string) (string, error)
- func (nvsdc *NuageVsdClient) GetDomainTemplateID(enterpriseID, name string) (string, error)
- func (nvsdc *NuageVsdClient) GetEgressAclTemplate(domainID, name string) (*api.VsdAclTemplate, error)
- func (nvsdc *NuageVsdClient) GetEnterpriseID(name string) (string, error)
- func (nvsdc *NuageVsdClient) GetIngressAclTemplate(domainID, name string) (*api.VsdAclTemplate, error)
- func (nvsdc *NuageVsdClient) GetInterfaces(containerId string) (*[]vspk.ContainerInterface, error)
- func (nvsdc *NuageVsdClient) GetNetworkMacro(enterpriseID string, networkMacroName string) (*api.VsdNetworkMacro, error)
- func (nvsdc *NuageVsdClient) GetNetworkMacroGroupID(enterpriseID, nmgName string) (string, error)
- func (nvsdc *NuageVsdClient) GetNetworkMacroID(enterpriseID string, networkMacroName string) (string, error)
- func (nvsdc *NuageVsdClient) GetPodInterfaces(podName string) (*[]vspk.ContainerInterface, error)
- func (nvsdc *NuageVsdClient) GetPolicyGroup(name string) (string, error)
- func (nvsdc *NuageVsdClient) GetSubnet(zoneID, subnetName string) (*api.VsdSubnet, error)
- func (nvsdc *NuageVsdClient) GetSubnetID(zoneID, subnetName string) (string, error)
- func (nvsdc *NuageVsdClient) GetVsdObjects(objectUrl string, objType int) (*[]interface{}, error)
- func (nvsdc *NuageVsdClient) GetZoneID(domainID, name string) (string, error)
- func (nvsdc *NuageVsdClient) GetZonesSubnets() (map[string]map[string]bool, error)
- func (nvsdc *NuageVsdClient) HandleNetworkPolicyEvent(policyEvent *api.NetworkPolicyEvent) error
- func (nvsdc *NuageVsdClient) HandleNsEvent(nsEvent *api.NamespaceEvent) error
- func (nvsdc *NuageVsdClient) HandlePodAddEvent(podEvent *api.PodEvent) (string, error)
- func (nvsdc *NuageVsdClient) HandlePodDelEvent(podEvent *api.PodEvent) error
- func (nvsdc *NuageVsdClient) HandlePodEvent(podEvent *api.PodEvent) (string, error)
- func (nvsdc *NuageVsdClient) HandleServiceEvent(serviceEvent *api.ServiceEvent) error
- func (nvsdc *NuageVsdClient) IncrementNextAvailablePriority()
- func (nvsdc *NuageVsdClient) Init(nkmConfig *config.NuageKubeMonConfig, ...)
- func (nvsdc *NuageVsdClient) IsPolicyLabelsChanged(nsEvent *api.NamespaceEvent) (networkPolicyType, bool)
- func (nvsdc *NuageVsdClient) IsStatsLoggingEnabled(nsEvent *api.NamespaceEvent) bool
- func (nvsdc *NuageVsdClient) NextAvailablePriority() int
- func (nvsdc *NuageVsdClient) RemovePortsFromPolicyGroup(pgId string) error
- func (nvsdc *NuageVsdClient) Run(nsChannel chan *api.NamespaceEvent, serviceChannel chan *api.ServiceEvent, ...)
- func (nvsdc *NuageVsdClient) SetNextAvailablePriority(val int)
- func (nvsdc *NuageVsdClient) StartRestServer(restServerCfg config.RestServerConfig) error
- func (nvsdc *NuageVsdClient) UpdateAclTemplate(aclTemplate *api.VsdAclTemplate, ingress bool) error
- func (nvsdc *NuageVsdClient) UpdateNetworkMacro(networkMacro *api.VsdNetworkMacro) error
- type PodList
- func (pods *PodList) Delete(urlVars map[string]string, values url.Values, header http.Header) (int, interface{}, http.Header)
- func (pods *PodList) Get(urlVars map[string]string, values url.Values, header http.Header) (int, interface{}, http.Header)
- func (pods *PodList) Post(urlVars map[string]string, values url.Values, header http.Header, ...) (int, interface{}, http.Header)
- type ServiceData
- type SubnetNode
Constants ¶
const ( ETCDBasePath = "/nuage.io/v1.0/" PodMetadataTree = ETCDBasePath + "pod_metadata/" PoolCIDRTree = ETCDBasePath + "pool_cidr/" SubnetMetadataTree = ETCDBasePath + "subnet_metadata/" ZoneMetadataTree = ETCDBasePath + "zone_metadata/" ScaleUpThreshold = 75 ScaleDownThreshold = 25 )
ETCD constants
Variables ¶
This section is empty.
Functions ¶
func CanMerge ¶
func CanMerge(a, b *IPv4Subnet) bool
func DefaultClientTransport ¶
func DefaultClientTransport(rt http.RoundTripper) http.RoundTripper
DefaultClientTransport sets defaults for a client Transport that are suitable for use by infrastructure components.
Types ¶
type IPv4Address ¶
type IPv4Address [4]byte
IPv4Address holds IPv4 address in byte
func (IPv4Address) String ¶
func (addr IPv4Address) String() string
func (IPv4Address) ToUint ¶
func (addr IPv4Address) ToUint() uint
ToUint converts IPv4Address to uint
type IPv4Subnet ¶
type IPv4Subnet struct { Address IPv4Address CIDRMask int //e.g. 24, not 255.255.255.0 }
IPv4Subnet struct to hold IPv4Subnet address and CIDR mask
func IPv4SubnetFromAddrNetmask ¶
func IPv4SubnetFromAddrNetmask(address, netmaskStr string) (*IPv4Subnet, error)
IPv4SubnetFromAddrNetmask parses address and netmask separately, * and generate an IPv4Subnet datastructure. * @Param address - IPv4 Address as a string * @Param netmask - Netmask in IPv4 address format (e.g. 255.255.0.0) as a * string
func IPv4SubnetFromString ¶
func IPv4SubnetFromString(input string) (*IPv4Subnet, error)
IPv4SubnetFromString extracts a valid IPv4Subnet from a string
func Merge ¶
func Merge(a, b *IPv4Subnet) (*IPv4Subnet, error)
func (*IPv4Subnet) Compare ¶
func (a *IPv4Subnet) Compare(b *IPv4Subnet) int
Compare `a` to `b`. If `a > b`, the result will be positive. If `a < b`, the result will be negative. If `a == b`, the result will be 0.
func (*IPv4Subnet) Contains ¶
func (a *IPv4Subnet) Contains(b *IPv4Subnet) bool
func (IPv4Subnet) Netmask ¶
func (subnet IPv4Subnet) Netmask() IPv4Address
Netmask returns the traditional IPv4 netmask instead of the CIDR e.g. .../24 would return 255.255.255.0
func (*IPv4Subnet) Split ¶
func (subnet *IPv4Subnet) Split() (*IPv4Subnet, *IPv4Subnet, error)
func (IPv4Subnet) String ¶
func (subnet IPv4Subnet) String() string
type IPv4SubnetNode ¶
type IPv4SubnetNode struct {
// contains filtered or unexported fields
}
type IPv4SubnetPool ¶
type IPv4SubnetPool [33]*IPv4SubnetNode
func (*IPv4SubnetPool) Alloc ¶
func (pool *IPv4SubnetPool) Alloc(size int) (*IPv4Subnet, error)
A subnet pool is an array of linked lists. Each list consists only of * subnets with the same CIDR netmask (/0 - /32). When allocating a subnet * with netmask X, the pool will first attempt to pick a subnet of the exact * size. If one is not available, it will get a subnet with netmask X-1, then * split it to create 2 subnets with netmask X. It will return 1 of those * subnets to the pool, then return the other one.
func (*IPv4SubnetPool) AllocSpecific ¶
func (pool *IPv4SubnetPool) AllocSpecific(subnet *IPv4Subnet) error
Attempt to allocate a specific subnet from the pool. If the subnet is not * available, return an error.
func (*IPv4SubnetPool) Free ¶
func (pool *IPv4SubnetPool) Free(subnet *IPv4Subnet) error
When freeing a subnet, first the pool should be checked for another subnet * with the same netmask that it can be merged with (e.g. 10.0.0.0/25 and * 10.0.0.128/25 can be merged into 10.0.0.0/24). If a merge can be done, both * subnets should temporarily be allocated, the subnets merged, then the merged * subnet should be freed. * * I've had some issues with figuring out a fast way to check if they can be * merged, so for the current version, no merge checks are made. In the * current implementation, we will always request a /24 subnet, so eventually * the entire pool will gravitate toward fragmenting at the /24 level. Because * that's the size we care about, it shouldn't be an issue until the * implementation requires bigger subnets to be available.
type NamespaceData ¶
type NamespaceData struct { ZoneID string Name string Subnets *SubnetNode NeedsNewSubnet bool // contains filtered or unexported fields }
type NuageClusterClient ¶
type NuageClusterClient struct {
// contains filtered or unexported fields
}
func NewNuageOsClient ¶
func NewNuageOsClient(nkmConfig *config.NuageKubeMonConfig) *NuageClusterClient
func (*NuageClusterClient) GetClusterClientCallBacks ¶
func (nosc *NuageClusterClient) GetClusterClientCallBacks() *api.ClusterClientCallBacks
func (*NuageClusterClient) GetExistingEvents ¶
func (nosc *NuageClusterClient) GetExistingEvents(nsChannel chan *api.NamespaceEvent, serviceChannel chan *api.ServiceEvent, policyEventChannel chan *api.NetworkPolicyEvent)
func (*NuageClusterClient) GetNamespaces ¶
func (nosc *NuageClusterClient) GetNamespaces(listOpts *metav1.ListOptions) (*[]*api.NamespaceEvent, error)
func (*NuageClusterClient) GetNetworkPolicies ¶
func (nosc *NuageClusterClient) GetNetworkPolicies(listOpts *metav1.ListOptions) (*[]*api.NetworkPolicyEvent, error)
func (*NuageClusterClient) GetPods ¶
func (nosc *NuageClusterClient) GetPods(listOpts *metav1.ListOptions, ns string) (*[]*api.PodEvent, error)
func (*NuageClusterClient) GetServices ¶
func (nosc *NuageClusterClient) GetServices(listOpts *metav1.ListOptions) (*[]*api.ServiceEvent, error)
func (*NuageClusterClient) Init ¶
func (nosc *NuageClusterClient) Init(nkmConfig *config.NuageKubeMonConfig)
Init initializes the cluster client
func (*NuageClusterClient) InitializeClientSetFromKubeConfig ¶
func (nosc *NuageClusterClient) InitializeClientSetFromKubeConfig(nkmConfig *config.NuageKubeMonConfig) error
InitializeClientSetFromKubeConfig initializes client set from kubeconfig(out of cluster initialization)
func (*NuageClusterClient) InitializeClientSetFromSA ¶
func (nosc *NuageClusterClient) InitializeClientSetFromSA() error
InitializeClientSetFromSA initailizes client set using service accounts(in cluster init)
func (*NuageClusterClient) RunNamespaceWatcher ¶
func (nosc *NuageClusterClient) RunNamespaceWatcher(nsChannel chan *api.NamespaceEvent, stop chan bool)
func (*NuageClusterClient) RunNetworkPolicyWatcher ¶
func (nosc *NuageClusterClient) RunNetworkPolicyWatcher(policyChannel chan *api.NetworkPolicyEvent, stop chan bool)
func (*NuageClusterClient) RunPodWatcher ¶
func (nosc *NuageClusterClient) RunPodWatcher(podChannel chan *api.PodEvent, stop chan bool)
func (*NuageClusterClient) RunServiceWatcher ¶
func (nosc *NuageClusterClient) RunServiceWatcher(serviceChannel chan *api.ServiceEvent, stop chan bool)
func (*NuageClusterClient) WatchNamespaces ¶
func (nosc *NuageClusterClient) WatchNamespaces(receiver chan *api.NamespaceEvent, stop chan bool) error
func (*NuageClusterClient) WatchNetworkPolicies ¶
func (nosc *NuageClusterClient) WatchNetworkPolicies(receiver chan *api.NetworkPolicyEvent, stop chan bool) error
func (*NuageClusterClient) WatchPods ¶
func (nosc *NuageClusterClient) WatchPods(receiver chan *api.PodEvent, stop chan bool) error
func (*NuageClusterClient) WatchServices ¶
func (nosc *NuageClusterClient) WatchServices(receiver chan *api.ServiceEvent, stop chan bool) error
type NuageEtcdClient ¶
type NuageEtcdClient struct {
// contains filtered or unexported fields
}
NuageEtcdClient for ETCD client
func NewNuageEtcdClient ¶
func NewNuageEtcdClient(nkmConfig *config.NuageKubeMonConfig) (*NuageEtcdClient, error)
NewNuageEtcdClient creates a new etcd client
func (*NuageEtcdClient) AddZone ¶
func (nuageetcd *NuageEtcdClient) AddZone(zoneInfo *api.EtcdZoneMetadata) (string, error)
func (*NuageEtcdClient) AllocateSubnetCIDR ¶
func (nuageetcd *NuageEtcdClient) AllocateSubnetCIDR(subnet *api.EtcdSubnetMetadata) (string, error)
AllocateSubnetCIDR marks an entry if the subnet is not already used
func (*NuageEtcdClient) AllocateSubnetForPod ¶
func (nuageetcd *NuageEtcdClient) AllocateSubnetForPod(data *api.EtcdPodMetadata) (*api.EtcdPodSubnet, error)
AllocateSubnetForPod increments active ip count of a subnet in a namespace
func (*NuageEtcdClient) CreateFirstSubnet ¶
func (nuageetcd *NuageEtcdClient) CreateFirstSubnet(subnetInfo *api.EtcdSubnetMetadata) error
CreateFirstSubnet creates the first subnet in a namespace
func (*NuageEtcdClient) DeAllocateSubnetFromPod ¶
func (nuageetcd *NuageEtcdClient) DeAllocateSubnetFromPod(data *api.EtcdPodMetadata) ([]*api.EtcdSubnetMetadata, error)
DeAllocateSubnetFromPod decrements active ip count of a subnet in a namespace
func (*NuageEtcdClient) DeleteLastSubnet ¶
func (nuageetcd *NuageEtcdClient) DeleteLastSubnet(subnetInfo *api.EtcdSubnetMetadata) (*api.EtcdSubnetMetadata, error)
DeleteLastSubnet deletes last subnet in a namespace
func (*NuageEtcdClient) DeleteZone ¶
func (nuageetcd *NuageEtcdClient) DeleteZone(zoneInfo *api.EtcdZoneMetadata) error
func (*NuageEtcdClient) FreeSubnetCIDR ¶
func (nuageetcd *NuageEtcdClient) FreeSubnetCIDR(subnet *api.EtcdSubnetMetadata) error
FreeSubnetCIDR delete the subnet entry
func (*NuageEtcdClient) GetSubnetID ¶
func (nuageetcd *NuageEtcdClient) GetSubnetID(subnetInfo *api.EtcdSubnetMetadata) (string, error)
GetSubnetID fetches the subnet ID. If it is "", it waits until the value is updated
func (*NuageEtcdClient) GetSubnetInfo ¶
func (nuageetcd *NuageEtcdClient) GetSubnetInfo(subnetInfo *api.EtcdSubnetMetadata) (*api.EtcdSubnetMetadata, error)
GetSubnetInfo fetches subnet info from subnet metadata tree
func (*NuageEtcdClient) GetZonesSubnets ¶
func (nuageetcd *NuageEtcdClient) GetZonesSubnets() (map[string]map[string]bool, error)
func (*NuageEtcdClient) HandleEtcdEvent ¶
func (nuageetcd *NuageEtcdClient) HandleEtcdEvent(event *api.EtcdEvent)
HandleEtcdEvent handles the events that came on the channel
func (*NuageEtcdClient) Init ¶
func (nuageetcd *NuageEtcdClient) Init(nkmConfig *config.NuageKubeMonConfig) error
Init Initializes the etcd client
func (*NuageEtcdClient) Run ¶
func (nuageetcd *NuageEtcdClient) Run(etcdChannel chan *api.EtcdEvent)
Run starts the nuage etcd client and listens for events
func (*NuageEtcdClient) TLSSetup ¶
func (nuageetcd *NuageEtcdClient) TLSSetup() (*tls.Config, error)
TLSSetup loads the certificates
func (*NuageEtcdClient) UpdateSubnetInfo ¶
func (nuageetcd *NuageEtcdClient) UpdateSubnetInfo(subnetInfo *api.EtcdSubnetMetadata) error
UpdateSubnetInfo create a new key that maps to vsd network id
func (*NuageEtcdClient) UpdateZone ¶
func (nuageetcd *NuageEtcdClient) UpdateZone(zoneInfo *api.EtcdZoneMetadata) error
type NuageVsdClient ¶
type NuageVsdClient struct {
// contains filtered or unexported fields
}
func NewNuageVsdClient ¶
func NewNuageVsdClient(nkmConfig *config.NuageKubeMonConfig, clusterCallBacks *api.ClusterClientCallBacks, etcdChannel chan *api.EtcdEvent) *NuageVsdClient
func (*NuageVsdClient) AddNetworkMacroToNMG ¶
func (nvsdc *NuageVsdClient) AddNetworkMacroToNMG(networkMacroID, networkMacroGroupID string) error
func (*NuageVsdClient) AddPodsToPolicyGroup ¶
func (nvsdc *NuageVsdClient) AddPodsToPolicyGroup(pgId string, podsList []string) error
podsList is a list of pod names that need to be added to policy group with Id pgId
func (*NuageVsdClient) CreateAclEntry ¶
func (nvsdc *NuageVsdClient) CreateAclEntry(ingress bool, aclEntry *api.VsdAclEntry) (string, error)
func (*NuageVsdClient) CreateAclTemplate ¶
func (*NuageVsdClient) CreateAdditionalSubnet ¶
func (nvsdc *NuageVsdClient) CreateAdditionalSubnet(subnetName string, namespace *NamespaceData) error
func (*NuageVsdClient) CreateDomain ¶
func (nvsdc *NuageVsdClient) CreateDomain(enterpriseID, domainTemplateID, name string) (string, error)
func (*NuageVsdClient) CreateDomainTemplate ¶
func (nvsdc *NuageVsdClient) CreateDomainTemplate(enterpriseID, domainTemplateName string) (string, error)
func (*NuageVsdClient) CreateEgressAclEntries ¶
func (nvsdc *NuageVsdClient) CreateEgressAclEntries(statsLogging string) error
func (*NuageVsdClient) CreateEgressAclTemplate ¶
func (nvsdc *NuageVsdClient) CreateEgressAclTemplate(domainID string) (string, error)
func (*NuageVsdClient) CreateEgressAclTemplateForNamespaceAnnotations ¶
func (nvsdc *NuageVsdClient) CreateEgressAclTemplateForNamespaceAnnotations(domainID string) (string, error)
func (*NuageVsdClient) CreateIngressAclEntries ¶
func (nvsdc *NuageVsdClient) CreateIngressAclEntries(statsLogging string) error
func (*NuageVsdClient) CreateIngressAclTemplate ¶
func (nvsdc *NuageVsdClient) CreateIngressAclTemplate(domainID string) (string, error)
func (*NuageVsdClient) CreateIngressAclTemplateForNamespaceAnnotations ¶
func (nvsdc *NuageVsdClient) CreateIngressAclTemplateForNamespaceAnnotations(domainID string) (string, error)
func (*NuageVsdClient) CreateNetworkMacro ¶
func (nvsdc *NuageVsdClient) CreateNetworkMacro(enterpriseID string, networkMacro *api.VsdNetworkMacro) (string, error)
func (*NuageVsdClient) CreateNetworkMacroGroup ¶
func (nvsdc *NuageVsdClient) CreateNetworkMacroGroup(enterpriseID string, zoneName string) (string, error)
func (*NuageVsdClient) CreatePolicyGroup ¶
func (*NuageVsdClient) CreatePrivilegedZoneAcls ¶
func (nvsdc *NuageVsdClient) CreatePrivilegedZoneAcls(zoneName, zoneID string, enableStatsLogging bool) error
func (*NuageVsdClient) CreateSession ¶
func (nvsdc *NuageVsdClient) CreateSession(userCertFile string, userKeyFile string)
func (*NuageVsdClient) CreateSpecificZoneAcls ¶
func (nvsdc *NuageVsdClient) CreateSpecificZoneAcls(zoneName string, zoneID string, enableStatsLogging bool) error
func (*NuageVsdClient) CreateSubnet ¶
func (nvsdc *NuageVsdClient) CreateSubnet(name, zoneID string, subnet *IPv4Subnet) (string, error)
func (*NuageVsdClient) CreateZone ¶
func (nvsdc *NuageVsdClient) CreateZone(domainID, name string) (string, error)
func (*NuageVsdClient) DeleteAclEntry ¶
func (nvsdc *NuageVsdClient) DeleteAclEntry(ingress bool, aclID string) error
func (*NuageVsdClient) DeleteDomain ¶
func (nvsdc *NuageVsdClient) DeleteDomain(id string) error
func (*NuageVsdClient) DeleteNetworkMacro ¶
func (nvsdc *NuageVsdClient) DeleteNetworkMacro(networkMacroID string) error
func (*NuageVsdClient) DeleteNetworkMacroGroup ¶
func (nvsdc *NuageVsdClient) DeleteNetworkMacroGroup(networkMacroGroupID string) error
func (*NuageVsdClient) DeletePolicyGroup ¶
func (nvsdc *NuageVsdClient) DeletePolicyGroup(id string) error
func (*NuageVsdClient) DeletePrivilegedZoneAcls ¶
func (nvsdc *NuageVsdClient) DeletePrivilegedZoneAcls(zoneName, zoneID string) error
func (*NuageVsdClient) DeleteSpecificZoneAcls ¶
func (nvsdc *NuageVsdClient) DeleteSpecificZoneAcls(zoneName string) error
func (*NuageVsdClient) DeleteSubnet ¶
func (nvsdc *NuageVsdClient) DeleteSubnet(id string) error
func (*NuageVsdClient) DeleteZone ¶
func (nvsdc *NuageVsdClient) DeleteZone(id string) error
func (*NuageVsdClient) GetAclEntry ¶
func (nvsdc *NuageVsdClient) GetAclEntry(ingress bool, aclEntry *api.VsdAclEntry) (*api.VsdAclEntry, error)
func (*NuageVsdClient) GetAclEntryByPriority ¶
func (nvsdc *NuageVsdClient) GetAclEntryByPriority(ingress bool, aclEntryPriority int) (*api.VsdAclEntry, error)
func (*NuageVsdClient) GetAclTemplateByID ¶
func (nvsdc *NuageVsdClient) GetAclTemplateByID(templateID string, ingress bool) (*api.VsdAclTemplate, error)
func (*NuageVsdClient) GetAclTemplateID ¶
func (*NuageVsdClient) GetDomainID ¶
func (nvsdc *NuageVsdClient) GetDomainID(enterpriseID, name string) (string, error)
func (*NuageVsdClient) GetDomainTemplateID ¶
func (nvsdc *NuageVsdClient) GetDomainTemplateID(enterpriseID, name string) (string, error)
func (*NuageVsdClient) GetEgressAclTemplate ¶
func (nvsdc *NuageVsdClient) GetEgressAclTemplate(domainID, name string) (*api.VsdAclTemplate, error)
func (*NuageVsdClient) GetEnterpriseID ¶
func (nvsdc *NuageVsdClient) GetEnterpriseID(name string) (string, error)
func (*NuageVsdClient) GetIngressAclTemplate ¶
func (nvsdc *NuageVsdClient) GetIngressAclTemplate(domainID, name string) (*api.VsdAclTemplate, error)
func (*NuageVsdClient) GetInterfaces ¶
func (nvsdc *NuageVsdClient) GetInterfaces(containerId string) (*[]vspk.ContainerInterface, error)
func (*NuageVsdClient) GetNetworkMacro ¶
func (nvsdc *NuageVsdClient) GetNetworkMacro(enterpriseID string, networkMacroName string) (*api.VsdNetworkMacro, error)
func (*NuageVsdClient) GetNetworkMacroGroupID ¶
func (nvsdc *NuageVsdClient) GetNetworkMacroGroupID(enterpriseID, nmgName string) (string, error)
func (*NuageVsdClient) GetNetworkMacroID ¶
func (nvsdc *NuageVsdClient) GetNetworkMacroID(enterpriseID string, networkMacroName string) (string, error)
func (*NuageVsdClient) GetPodInterfaces ¶
func (nvsdc *NuageVsdClient) GetPodInterfaces(podName string) (*[]vspk.ContainerInterface, error)
get interface list for a container.
func (*NuageVsdClient) GetPolicyGroup ¶
func (nvsdc *NuageVsdClient) GetPolicyGroup(name string) (string, error)
func (*NuageVsdClient) GetSubnet ¶
func (nvsdc *NuageVsdClient) GetSubnet(zoneID, subnetName string) (*api.VsdSubnet, error)
func (*NuageVsdClient) GetSubnetID ¶
func (nvsdc *NuageVsdClient) GetSubnetID(zoneID, subnetName string) (string, error)
func (*NuageVsdClient) GetVsdObjects ¶
func (nvsdc *NuageVsdClient) GetVsdObjects(objectUrl string, objType int) (*[]interface{}, error)
func (*NuageVsdClient) GetZoneID ¶
func (nvsdc *NuageVsdClient) GetZoneID(domainID, name string) (string, error)
func (*NuageVsdClient) GetZonesSubnets ¶
func (nvsdc *NuageVsdClient) GetZonesSubnets() (map[string]map[string]bool, error)
func (*NuageVsdClient) HandleNetworkPolicyEvent ¶
func (nvsdc *NuageVsdClient) HandleNetworkPolicyEvent(policyEvent *api.NetworkPolicyEvent) error
func (*NuageVsdClient) HandleNsEvent ¶
func (nvsdc *NuageVsdClient) HandleNsEvent(nsEvent *api.NamespaceEvent) error
func (*NuageVsdClient) HandlePodAddEvent ¶
func (nvsdc *NuageVsdClient) HandlePodAddEvent(podEvent *api.PodEvent) (string, error)
func (*NuageVsdClient) HandlePodDelEvent ¶
func (nvsdc *NuageVsdClient) HandlePodDelEvent(podEvent *api.PodEvent) error
func (*NuageVsdClient) HandlePodEvent ¶
func (nvsdc *NuageVsdClient) HandlePodEvent(podEvent *api.PodEvent) (string, error)
func (*NuageVsdClient) HandleServiceEvent ¶
func (nvsdc *NuageVsdClient) HandleServiceEvent(serviceEvent *api.ServiceEvent) error
func (*NuageVsdClient) IncrementNextAvailablePriority ¶
func (nvsdc *NuageVsdClient) IncrementNextAvailablePriority()
func (*NuageVsdClient) Init ¶
func (nvsdc *NuageVsdClient) Init(nkmConfig *config.NuageKubeMonConfig, clusterCallBacks *api.ClusterClientCallBacks, etcdChannel chan *api.EtcdEvent)
func (*NuageVsdClient) IsPolicyLabelsChanged ¶
func (nvsdc *NuageVsdClient) IsPolicyLabelsChanged(nsEvent *api.NamespaceEvent) (networkPolicyType, bool)
func (*NuageVsdClient) IsStatsLoggingEnabled ¶
func (nvsdc *NuageVsdClient) IsStatsLoggingEnabled(nsEvent *api.NamespaceEvent) bool
func (*NuageVsdClient) NextAvailablePriority ¶
func (nvsdc *NuageVsdClient) NextAvailablePriority() int
func (*NuageVsdClient) RemovePortsFromPolicyGroup ¶
func (nvsdc *NuageVsdClient) RemovePortsFromPolicyGroup(pgId string) error
func (*NuageVsdClient) Run ¶
func (nvsdc *NuageVsdClient) Run(nsChannel chan *api.NamespaceEvent, serviceChannel chan *api.ServiceEvent, policyChannel chan *api.NetworkPolicyEvent, stop chan bool)
func (*NuageVsdClient) SetNextAvailablePriority ¶
func (nvsdc *NuageVsdClient) SetNextAvailablePriority(val int)
func (*NuageVsdClient) StartRestServer ¶
func (nvsdc *NuageVsdClient) StartRestServer(restServerCfg config.RestServerConfig) error
func (*NuageVsdClient) UpdateAclTemplate ¶
func (nvsdc *NuageVsdClient) UpdateAclTemplate(aclTemplate *api.VsdAclTemplate, ingress bool) error
func (*NuageVsdClient) UpdateNetworkMacro ¶
func (nvsdc *NuageVsdClient) UpdateNetworkMacro(networkMacro *api.VsdNetworkMacro) error
type PodList ¶
type PodList struct {
// contains filtered or unexported fields
}
func NewPodList ¶
func NewPodList(namespaces map[string]NamespaceData, podChannel chan *api.PodEvent, getPgsFunc GetPgsFunc, autoScaleSubnets string) *PodList
type ServiceData ¶
type SubnetNode ¶
type SubnetNode struct { SubnetID string Subnet *IPv4Subnet SubnetName string ActiveIPs int //Number of IP addresses that are accounted for in this subnet. Next *SubnetNode }