Skip to content

Commit

Permalink
Merge pull request #20556 from deads2k/controller-03-networking
Browse files Browse the repository at this point in the history
 switch networking to external types
  • Loading branch information
openshift-merge-robot authored Aug 7, 2018
2 parents 684d27b + e1285a5 commit edddaaf
Show file tree
Hide file tree
Showing 51 changed files with 313 additions and 323 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 10 additions & 7 deletions glide.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions pkg/cmd/openshift-controller-manager/controller/interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import (

appsclient "github.com/openshift/client-go/apps/clientset/versioned"
appsinformer "github.com/openshift/client-go/apps/informers/externalversions"
networkclientinternal "github.com/openshift/client-go/network/clientset/versioned"
networkinformer "github.com/openshift/client-go/network/informers/externalversions"
routeinformer "github.com/openshift/client-go/route/informers/externalversions"
securityv1client "github.com/openshift/client-go/security/clientset/versioned"
authorizationinformer "github.com/openshift/origin/pkg/authorization/generated/informers/internalversion"
Expand All @@ -21,8 +23,6 @@ import (
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
imageinformer "github.com/openshift/origin/pkg/image/generated/informers/internalversion"
imageclientinternal "github.com/openshift/origin/pkg/image/generated/internalclientset"
networkinformer "github.com/openshift/origin/pkg/network/generated/informers/internalversion"
networkclientinternal "github.com/openshift/origin/pkg/network/generated/internalclientset"
quotainformer "github.com/openshift/origin/pkg/quota/generated/informers/internalversion"
quotaclient "github.com/openshift/origin/pkg/quota/generated/internalclientset"
securityinformer "github.com/openshift/origin/pkg/security/generated/informers/internalversion"
Expand All @@ -41,7 +41,7 @@ type ControllerContext struct {

InternalBuildInformers buildinformer.SharedInformerFactory
InternalImageInformers imageinformer.SharedInformerFactory
InternalNetworkInformers networkinformer.SharedInformerFactory
NetworkInformers networkinformer.SharedInformerFactory
InternalTemplateInformers templateinformer.SharedInformerFactory
InternalQuotaInformers quotainformer.SharedInformerFactory
InternalAuthorizationInformers authorizationinformer.SharedInformerFactory
Expand Down Expand Up @@ -90,8 +90,8 @@ type ControllerClientBuilder interface {
OpenshiftInternalQuotaClient(name string) (quotaclient.Interface, error)
OpenshiftInternalQuotaClientOrDie(name string) quotaclient.Interface

OpenshiftInternalNetworkClient(name string) (networkclientinternal.Interface, error)
OpenshiftInternalNetworkClientOrDie(name string) networkclientinternal.Interface
OpenshiftNetworkClient(name string) (networkclientinternal.Interface, error)
OpenshiftNetworkClientOrDie(name string) networkclientinternal.Interface

OpenshiftInternalSecurityClient(name string) (securityclient.Interface, error)
OpenshiftInternalSecurityClientOrDie(name string) securityclient.Interface
Expand Down Expand Up @@ -232,22 +232,22 @@ func (b OpenshiftControllerClientBuilder) OpenshiftInternalQuotaClientOrDie(name
return client
}

// OpenshiftInternalNetworkClient provides a REST client for the network API.
// OpenshiftNetworkClient provides a REST client for the network API.
// If the client cannot be created because of configuration error, this function
// will error.
func (b OpenshiftControllerClientBuilder) OpenshiftInternalNetworkClient(name string) (networkclientinternal.Interface, error) {
func (b OpenshiftControllerClientBuilder) OpenshiftNetworkClient(name string) (networkclientinternal.Interface, error) {
clientConfig, err := b.Config(name)
if err != nil {
return nil, err
}
return networkclientinternal.NewForConfig(clientConfig)
}

// OpenshiftInternalNetworkClientOrDie provides a REST client for the network API.
// OpenshiftNetworkClientOrDie provides a REST client for the network API.
// If the client cannot be created because of configuration error, this function
// will panic.
func (b OpenshiftControllerClientBuilder) OpenshiftInternalNetworkClientOrDie(name string) networkclientinternal.Interface {
client, err := b.OpenshiftInternalNetworkClient(name)
func (b OpenshiftControllerClientBuilder) OpenshiftNetworkClientOrDie(name string) networkclientinternal.Interface {
client, err := b.OpenshiftNetworkClient(name)
if err != nil {
glog.Fatal(err)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ func RunSDNController(ctx ControllerContext) (bool, error) {

if err := sdnmaster.Start(
ctx.OpenshiftControllerConfig.Network,
ctx.ClientBuilder.OpenshiftInternalNetworkClientOrDie(bootstrappolicy.InfraSDNControllerServiceAccountName),
ctx.ClientBuilder.OpenshiftNetworkClientOrDie(bootstrappolicy.InfraSDNControllerServiceAccountName),
ctx.ClientBuilder.ClientOrDie(bootstrappolicy.InfraSDNControllerServiceAccountName),
ctx.KubernetesInformers,
ctx.InternalNetworkInformers,
ctx.NetworkInformers,
); err != nil {
return false, fmt.Errorf("failed to start SDN plugin controller: %v", err)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/openshift-controller-manager/controller_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ func newControllerContext(
InternalAuthorizationInformers: originInformers.GetInternalOpenshiftAuthorizationInformers(),
InternalBuildInformers: originInformers.GetInternalOpenshiftBuildInformers(),
InternalImageInformers: originInformers.GetInternalOpenshiftImageInformers(),
InternalNetworkInformers: originInformers.GetInternalOpenshiftNetworkInformers(),
NetworkInformers: originInformers.GetOpenshiftNetworkInformers(),
InternalQuotaInformers: originInformers.GetInternalOpenshiftQuotaInformers(),
InternalSecurityInformers: originInformers.GetInternalOpenshiftSecurityInformers(),
InternalRouteInformers: originInformers.GetOpenshiftRouteInformers(),
Expand Down
12 changes: 6 additions & 6 deletions pkg/cmd/server/kubernetes/network/network_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import (
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
proxyconfig "k8s.io/kubernetes/pkg/proxy/config"

networkclient "github.com/openshift/client-go/network/clientset/versioned"
networkinformers "github.com/openshift/client-go/network/informers/externalversions"
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
"github.com/openshift/origin/pkg/cmd/server/kubernetes/network/transport"
"github.com/openshift/origin/pkg/dns"
"github.com/openshift/origin/pkg/network"
networkinformers "github.com/openshift/origin/pkg/network/generated/informers/internalversion"
networkclient "github.com/openshift/origin/pkg/network/generated/internalclientset"
)

// NetworkConfig represents the required parameters to start OpenShift networking
Expand All @@ -35,8 +35,8 @@ type NetworkConfig struct {
ExternalKubeClientset kclientsetexternal.Interface
// Internal kubernetes shared informer factory.
InternalKubeInformers kinternalinformers.SharedInformerFactory
// Internal network shared informer factory.
InternalNetworkInformers networkinformers.SharedInformerFactory
// Network shared informer factory.
NetworkInformers networkinformers.SharedInformerFactory

// ProxyConfig is the configuration for the kube-proxy, fully initialized
ProxyConfig *kubeproxyconfig.KubeProxyConfiguration
Expand Down Expand Up @@ -118,9 +118,9 @@ func New(options configapi.NodeConfig, clusterDomain string, proxyConfig *kubepr
}

if network.IsOpenShiftNetworkPlugin(options.NetworkConfig.NetworkPluginName) {
config.InternalNetworkInformers = networkinformers.NewSharedInformerFactory(networkClient, network.DefaultInformerResyncPeriod)
config.NetworkInformers = networkinformers.NewSharedInformerFactory(networkClient, network.DefaultInformerResyncPeriod)

config.SDNNode, config.SDNProxy, err = NewSDNInterfaces(options, networkClient, kubeClient, internalKubeClient, internalKubeInformers, config.InternalNetworkInformers, proxyConfig)
config.SDNNode, config.SDNProxy, err = NewSDNInterfaces(options, networkClient, kubeClient, internalKubeClient, internalKubeInformers, config.NetworkInformers, proxyConfig)
if err != nil {
return nil, fmt.Errorf("SDN initialization failed: %v", err)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/cmd/server/kubernetes/network/sdn_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (
kinternalinformers "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"

networkclient "github.com/openshift/client-go/network/clientset/versioned"
networkinformers "github.com/openshift/client-go/network/informers/externalversions"
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
networkinformers "github.com/openshift/origin/pkg/network/generated/informers/internalversion"
networkclient "github.com/openshift/origin/pkg/network/generated/internalclientset"
sdnnode "github.com/openshift/origin/pkg/network/node"
sdnproxy "github.com/openshift/origin/pkg/network/proxy"
)
Expand Down
4 changes: 2 additions & 2 deletions pkg/cmd/server/kubernetes/network/sdn_unsupported.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import (
kinternalinformers "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"

networkclient "github.com/openshift/client-go/network/clientset/versioned"
networkinformers "github.com/openshift/client-go/network/informers/externalversions"
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
networkinformers "github.com/openshift/origin/pkg/network/generated/informers/internalversion"
networkclient "github.com/openshift/origin/pkg/network/generated/internalclientset"
)

func NewSDNInterfaces(options configapi.NodeConfig, networkClient networkclient.Interface,
Expand Down
8 changes: 4 additions & 4 deletions pkg/cmd/server/origin/informers.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import (
"github.com/golang/glog"
appsclient "github.com/openshift/client-go/apps/clientset/versioned"
appsinformer "github.com/openshift/client-go/apps/informers/externalversions"
networkclient "github.com/openshift/client-go/network/clientset/versioned"
networkinformer "github.com/openshift/client-go/network/informers/externalversions"
oauthclient "github.com/openshift/client-go/oauth/clientset/versioned"
oauthinformer "github.com/openshift/client-go/oauth/informers/externalversions"
routeclient "github.com/openshift/client-go/route/clientset/versioned"
Expand All @@ -26,8 +28,6 @@ import (
buildclient "github.com/openshift/origin/pkg/build/generated/internalclientset"
imageinformer "github.com/openshift/origin/pkg/image/generated/informers/internalversion"
imageclient "github.com/openshift/origin/pkg/image/generated/internalclientset"
networkinformer "github.com/openshift/origin/pkg/network/generated/informers/internalversion"
networkclient "github.com/openshift/origin/pkg/network/generated/internalclientset"
quotainformer "github.com/openshift/origin/pkg/quota/generated/informers/internalversion"
quotaclient "github.com/openshift/origin/pkg/quota/generated/internalclientset"
securityinformer "github.com/openshift/origin/pkg/security/generated/informers/internalversion"
Expand Down Expand Up @@ -233,7 +233,7 @@ func (i *informerHolder) GetInternalOpenshiftBuildInformers() buildinformer.Shar
func (i *informerHolder) GetInternalOpenshiftImageInformers() imageinformer.SharedInformerFactory {
return i.imageInformers
}
func (i *informerHolder) GetInternalOpenshiftNetworkInformers() networkinformer.SharedInformerFactory {
func (i *informerHolder) GetOpenshiftNetworkInformers() networkinformer.SharedInformerFactory {
return i.networkInformers
}
func (i *informerHolder) GetOpenshiftOauthInformers() oauthinformer.SharedInformerFactory {
Expand Down Expand Up @@ -289,7 +289,7 @@ func (i *informerHolder) ToGenericInformer() GenericResourceInformer {
return i.GetInternalOpenshiftImageInformers().ForResource(resource)
}),
genericResourceInformerFunc(func(resource schema.GroupVersionResource) (kexternalinformers.GenericInformer, error) {
return i.GetInternalOpenshiftNetworkInformers().ForResource(resource)
return i.GetOpenshiftNetworkInformers().ForResource(resource)
}),
genericInternalResourceInformerFunc(func(resource schema.GroupVersionResource) (kexternalinformers.GenericInformer, error) {
return i.GetOpenshiftOauthInformers().ForResource(resource)
Expand Down
4 changes: 2 additions & 2 deletions pkg/cmd/server/origin/master_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
rbacauthorizer "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac"

appsinformer "github.com/openshift/client-go/apps/informers/externalversions"
networkinformer "github.com/openshift/client-go/network/informers/externalversions"
oauthinformer "github.com/openshift/client-go/oauth/informers/externalversions"
routeinformer "github.com/openshift/client-go/route/informers/externalversions"
userinformer "github.com/openshift/client-go/user/informers/externalversions"
Expand All @@ -41,7 +42,6 @@ import (
originrest "github.com/openshift/origin/pkg/cmd/server/origin/rest"
imageadmission "github.com/openshift/origin/pkg/image/apiserver/admission/limitrange"
imageinformer "github.com/openshift/origin/pkg/image/generated/informers/internalversion"
networkinformer "github.com/openshift/origin/pkg/network/generated/informers/internalversion"
_ "github.com/openshift/origin/pkg/printers/internalversion"
projectauth "github.com/openshift/origin/pkg/project/auth"
projectcache "github.com/openshift/origin/pkg/project/cache"
Expand Down Expand Up @@ -109,13 +109,13 @@ type InformerAccess interface {

GetOpenshiftAppInformers() appsinformer.SharedInformerFactory
GetOpenshiftOauthInformers() oauthinformer.SharedInformerFactory
GetOpenshiftNetworkInformers() networkinformer.SharedInformerFactory
GetOpenshiftRouteInformers() routeinformer.SharedInformerFactory
GetOpenshiftUserInformers() userinformer.SharedInformerFactory

GetInternalOpenshiftAuthorizationInformers() authorizationinformer.SharedInformerFactory
GetInternalOpenshiftBuildInformers() buildinformer.SharedInformerFactory
GetInternalOpenshiftImageInformers() imageinformer.SharedInformerFactory
GetInternalOpenshiftNetworkInformers() networkinformer.SharedInformerFactory
GetInternalOpenshiftQuotaInformers() quotainformer.SharedInformerFactory
GetInternalOpenshiftSecurityInformers() securityinformer.SharedInformerFactory
GetInternalOpenshiftTemplateInformers() templateinformer.SharedInformerFactory
Expand Down
4 changes: 2 additions & 2 deletions pkg/cmd/server/start/start_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -493,8 +493,8 @@ func StartNode(nodeConfig configapi.NodeConfig, components *utilflags.ComponentF
}

networkConfig.InternalKubeInformers.Start(stopCh)
if networkConfig.InternalNetworkInformers != nil {
networkConfig.InternalNetworkInformers.Start(stopCh)
if networkConfig.NetworkInformers != nil {
networkConfig.NetworkInformers.Start(stopCh)
}

return nil
Expand Down
5 changes: 0 additions & 5 deletions pkg/network/apis/network/annotations.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,3 @@ func SetChangePodNetworkAnnotation(netns *NetNamespace, action PodNetworkAction,
}
netns.Annotations[ChangePodNetworkAnnotation] = value
}

// DeleteChangePodNetworkAnnotation removes network change intent from NetNamespace
func DeleteChangePodNetworkAnnotation(netns *NetNamespace) {
delete(netns.Annotations, ChangePodNetworkAnnotation)
}
9 changes: 0 additions & 9 deletions pkg/network/apis/network/plugin.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
package network

const (
// 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"
NodeUIDAnnotation = "pod.network.openshift.io/node-uid"

// NetNamespace annotations
MulticastEnabledAnnotation = "netnamespace.network.openshift.io/multicast-enabled"
)
Loading

0 comments on commit edddaaf

Please sign in to comment.