api

package
v3.6.77-1+incompatible Latest Latest
Warning

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

Go to latest
Published: May 17, 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 added in v1.0.8

func ClusterNetworkToSelectableFields(network *ClusterNetwork) fields.Set

ClusterNetworkToSelectableFields returns a label set that represents the object

func DeepCopy_api_ClusterNetwork added in v1.3.0

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

func DeepCopy_api_ClusterNetworkList added in v1.3.0

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

func DeepCopy_api_EgressNetworkPolicy added in v1.3.0

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

func DeepCopy_api_EgressNetworkPolicyList added in v1.3.0

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

func DeepCopy_api_EgressNetworkPolicyPeer added in v1.3.0

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

func DeepCopy_api_EgressNetworkPolicyRule added in v1.3.0

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

func DeepCopy_api_EgressNetworkPolicySpec added in v1.3.0

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

func DeepCopy_api_HostSubnet added in v1.3.0

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

func DeepCopy_api_HostSubnetList added in v1.3.0

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

func DeepCopy_api_NetNamespace added in v1.3.0

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

func DeepCopy_api_NetNamespaceList added in v1.3.0

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

func DeleteChangePodNetworkAnnotation added in v1.3.0

func DeleteChangePodNetworkAnnotation(netns *NetNamespace)

DeleteChangePodNetworkAnnotation removes network change intent from NetNamespace

func EgressNetworkPolicyToSelectableFields added in v1.3.0

func EgressNetworkPolicyToSelectableFields(obj *EgressNetworkPolicy) fields.Set

EgressNetworkPolicyToSelectableFields returns a label set that represents the object

func HostSubnetToSelectableFields added in v1.0.8

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 added in v1.4.0

func IsOpenShiftMultitenantNetworkPlugin(pluginName string) bool

func IsOpenShiftNetworkPlugin added in v1.4.0

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 added in v1.1.2

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 added in v1.0.8

func NetNamespaceToSelectableFields(obj *NetNamespace) fields.Set

NetNamespaceToSelectableFields returns a label set that represents the object

func RegisterDeepCopies added in v1.4.0

func RegisterDeepCopies(scheme *runtime.Scheme) error

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

func Resource added in v1.1.2

func Resource(resource string) schema.GroupResource

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

func SetChangePodNetworkAnnotation added in v1.3.0

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

SetChangePodNetworkAnnotation sets network change intent on NetNamespace

func ValidVNID added in v1.3.0

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 added in v1.3.0

type EgressNetworkPolicy struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	Spec EgressNetworkPolicySpec
}

EgressNetworkPolicy describes the current egress network policy

type EgressNetworkPolicyList added in v1.3.0

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

EgressNetworkPolicyList is a collection of EgressNetworkPolicy

type EgressNetworkPolicyPeer added in v1.3.0

type EgressNetworkPolicyPeer struct {
	CIDRSelector string
	DNSName      string
}

EgressNetworkPolicyPeer specifies a target to apply egress policy to

type EgressNetworkPolicyRule added in v1.3.0

type EgressNetworkPolicyRule struct {
	Type EgressNetworkPolicyRuleType
	To   EgressNetworkPolicyPeer
}

EgressNetworkPolicyRule contains a single egress network policy rule

type EgressNetworkPolicyRuleType added in v1.3.0

type EgressNetworkPolicyRuleType string

EgressNetworkPolicyRuleType gives the type of an EgressNetworkPolicyRule

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

type EgressNetworkPolicySpec added in v1.3.0

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 added in v1.0.5

type NetNamespace struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	NetName string
	NetID   uint32
}

NetNamespace holds the network id against its name

type NetNamespaceList added in v1.0.5

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

NetNamespaceList is a collection of NetNamespaces

type PodNetworkAction added in v1.3.0

type PodNetworkAction string

func GetChangePodNetworkAnnotation added in v1.3.0

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