api

package
v3.6.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

+groupName=network.openshift.io Package api is the internal version of the API.

Index

Constants

View Source
const (
	// Maximum VXLAN Virtual Network Identifier(VNID) as per RFC#7348
	MaxVNID = uint32((1 << 24) - 1)
	// VNID: 1 to 9 are internally reserved for any special cases in the future
	MinVNID = uint32(10)
	// VNID: 0 reserved for default namespace and can reach any network in the cluster
	GlobalVNID = uint32(0)

	// ChangePodNetworkAnnotation is an annotation on NetNamespace to request change of pod network
	ChangePodNetworkAnnotation string = "pod.network.openshift.io/multitenant.change-network"

	// Acceptable values for ChangePodNetworkAnnotation
	GlobalPodNetwork  PodNetworkAction = "global"
	JoinPodNetwork    PodNetworkAction = "join"
	IsolatePodNetwork PodNetworkAction = "isolate"
)
View Source
const (
	SingleTenantPluginName  = "redhat/openshift-ovs-subnet"
	MultiTenantPluginName   = "redhat/openshift-ovs-multitenant"
	NetworkPolicyPluginName = "redhat/openshift-ovs-networkpolicy"

	// Pod annotations
	IngressBandwidthAnnotation = "kubernetes.io/ingress-bandwidth"
	EgressBandwidthAnnotation  = "kubernetes.io/egress-bandwidth"
	AssignMacvlanAnnotation    = "pod.network.openshift.io/assign-macvlan"

	// HostSubnet annotations. (Note: should be "hostsubnet.network.openshift.io/", but the incorrect name is now part of the API.)
	AssignHostSubnetAnnotation = "pod.network.openshift.io/assign-subnet"
	FixedVNIDHostAnnotation    = "pod.network.openshift.io/fixed-vnid-host"

	// NetNamespace annotations
	MulticastEnabledAnnotation = "netnamespace.network.openshift.io/multicast-enabled"
)
View Source
const (
	GroupName       = "network.openshift.io"
	LegacyGroupName = ""
)
View Source
const (
	ClusterNetworkDefault       = "default"
	EgressNetworkPolicyMaxRules = 50
)

Variables

View Source
var (
	SchemeGroupVersion       = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
	LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: runtime.APIVersionInternal}

	LegacySchemeBuilder    = runtime.NewSchemeBuilder(addLegacyKnownTypes)
	AddToSchemeInCoreGroup = LegacySchemeBuilder.AddToScheme

	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)

SchemeGroupVersion is group version used to register these objects

View Source
var (
	ErrorPodNetworkAnnotationNotFound = fmt.Errorf("ChangePodNetworkAnnotation not found")
)

Functions

func ClusterNetworkToSelectableFields

func ClusterNetworkToSelectableFields(network *ClusterNetwork) fields.Set

ClusterNetworkToSelectableFields returns a label set that represents the object

func DeepCopy_api_ClusterNetwork

func DeepCopy_api_ClusterNetwork(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_ClusterNetworkList

func DeepCopy_api_ClusterNetworkList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_EgressNetworkPolicy

func DeepCopy_api_EgressNetworkPolicy(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_EgressNetworkPolicyList

func DeepCopy_api_EgressNetworkPolicyList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_EgressNetworkPolicyPeer

func DeepCopy_api_EgressNetworkPolicyPeer(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_EgressNetworkPolicyRule

func DeepCopy_api_EgressNetworkPolicyRule(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_EgressNetworkPolicySpec

func DeepCopy_api_EgressNetworkPolicySpec(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_HostSubnet

func DeepCopy_api_HostSubnet(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_HostSubnetList

func DeepCopy_api_HostSubnetList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_NetNamespace

func DeepCopy_api_NetNamespace(in interface{}, out interface{}, c *conversion.Cloner) error

func DeepCopy_api_NetNamespaceList

func DeepCopy_api_NetNamespaceList(in interface{}, out interface{}, c *conversion.Cloner) error

func DeleteChangePodNetworkAnnotation

func DeleteChangePodNetworkAnnotation(netns *NetNamespace)

DeleteChangePodNetworkAnnotation removes network change intent from NetNamespace

func EgressNetworkPolicyToSelectableFields

func EgressNetworkPolicyToSelectableFields(obj *EgressNetworkPolicy) fields.Set

EgressNetworkPolicyToSelectableFields returns a label set that represents the object

func HostSubnetToSelectableFields

func HostSubnetToSelectableFields(obj *HostSubnet) fields.Set

HostSubnetToSelectableFields returns a label set that represents the object

func IsKindOrLegacy

func IsKindOrLegacy(kind string, gk schema.GroupKind) bool

IsKindOrLegacy checks if the provided GroupKind matches with the given kind by looking up the API group and also the legacy API.

func IsOpenShiftMultitenantNetworkPlugin

func IsOpenShiftMultitenantNetworkPlugin(pluginName string) bool

func IsOpenShiftNetworkPlugin

func IsOpenShiftNetworkPlugin(pluginName string) bool

func IsResourceOrLegacy

func IsResourceOrLegacy(resource string, gr schema.GroupResource) bool

IsResourceOrLegacy checks if the provided GroupResources matches with the given resource by looking up the API group and also the legacy API.

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func LegacyKind

func LegacyKind(kind string) schema.GroupKind

LegacyKind takes an unqualified kind and returns back a Group qualified GroupKind

func LegacyResource

func LegacyResource(resource string) schema.GroupResource

LegacyResource takes an unqualified resource and returns back a Group qualified GroupResource

func NetNamespaceToSelectableFields

func NetNamespaceToSelectableFields(obj *NetNamespace) fields.Set

NetNamespaceToSelectableFields returns a label set that represents the object

func RegisterDeepCopies

func RegisterDeepCopies(scheme *runtime.Scheme) error

RegisterDeepCopies adds deep-copy functions to the given scheme. Public to allow building arbitrary schemes.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource

func SetChangePodNetworkAnnotation

func SetChangePodNetworkAnnotation(netns *NetNamespace, action PodNetworkAction, params string)

SetChangePodNetworkAnnotation sets network change intent on NetNamespace

func ValidVNID

func ValidVNID(vnid uint32) error

Check if the given vnid is valid or not

Types

type ClusterNetwork

type ClusterNetwork struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Network          string
	HostSubnetLength uint32
	ServiceNetwork   string
	PluginName       string
}

type ClusterNetworkList

type ClusterNetworkList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []ClusterNetwork
}

type EgressNetworkPolicy

type EgressNetworkPolicy struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec EgressNetworkPolicySpec
}

EgressNetworkPolicy describes the current egress network policy

type EgressNetworkPolicyList

type EgressNetworkPolicyList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []EgressNetworkPolicy
}

EgressNetworkPolicyList is a collection of EgressNetworkPolicy

type EgressNetworkPolicyPeer

type EgressNetworkPolicyPeer struct {
	CIDRSelector string
	DNSName      string
}

EgressNetworkPolicyPeer specifies a target to apply egress policy to

type EgressNetworkPolicyRule

type EgressNetworkPolicyRule struct {
	Type EgressNetworkPolicyRuleType
	To   EgressNetworkPolicyPeer
}

EgressNetworkPolicyRule contains a single egress network policy rule

type EgressNetworkPolicyRuleType

type EgressNetworkPolicyRuleType string

EgressNetworkPolicyRuleType gives the type of an EgressNetworkPolicyRule

const (
	EgressNetworkPolicyRuleAllow EgressNetworkPolicyRuleType = "Allow"
	EgressNetworkPolicyRuleDeny  EgressNetworkPolicyRuleType = "Deny"
)

type EgressNetworkPolicySpec

type EgressNetworkPolicySpec struct {
	Egress []EgressNetworkPolicyRule
}

EgressNetworkPolicySpec provides a list of policies on outgoing traffic

type HostSubnet

type HostSubnet struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	// host may just be an IP address, resolvable hostname or a complete DNS
	Host   string
	HostIP string
	Subnet string
}

HostSubnet encapsulates the inputs needed to define the container subnet network on a node

type HostSubnetList

type HostSubnetList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []HostSubnet
}

HostSubnetList is a collection of HostSubnets

type NetNamespace

type NetNamespace struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	NetName string
	NetID   uint32
}

NetNamespace holds the network id against its name

type NetNamespaceList

type NetNamespaceList struct {
	metav1.TypeMeta
	metav1.ListMeta
	Items []NetNamespace
}

NetNamespaceList is a collection of NetNamespaces

type PodNetworkAction

type PodNetworkAction string

func GetChangePodNetworkAnnotation

func GetChangePodNetworkAnnotation(netns *NetNamespace) (PodNetworkAction, string, error)

GetChangePodNetworkAnnotation fetches network change intent from NetNamespace

Directories

Path Synopsis
+groupName=network.openshift.io Package v1 is the v1 version of the API.
+groupName=network.openshift.io Package v1 is the v1 version of the API.

Jump to

Keyboard shortcuts

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