Skip to content

Commit

Permalink
Keep IsExists(), removed Update()
Browse files Browse the repository at this point in the history
  • Loading branch information
diptadas authored and tamalsaha committed Jan 29, 2018
1 parent 5c54ad4 commit ab91071
Show file tree
Hide file tree
Showing 6 changed files with 135 additions and 160 deletions.
3 changes: 1 addition & 2 deletions pkg/ingress/controller.go
Expand Up @@ -24,9 +24,8 @@ import (
)

type Controller interface {
//IsExists() bool
IsExists() bool
Create() error
//Update(mode UpdateMode, old *api.Ingress) error
Delete()
EnsureFirewall(svc *core.Service) error
}
Expand Down
31 changes: 31 additions & 0 deletions pkg/ingress/hostport.go
Expand Up @@ -26,6 +26,7 @@ import (
apps "k8s.io/api/apps/v1beta1"
core "k8s.io/api/core/v1"
kext_cs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
kerr "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/util/intstr"
Expand Down Expand Up @@ -98,6 +99,36 @@ func NewHostPortController(
return c
}

func (c *hostPortController) IsExists() bool {
_, err := c.KubeClient.AppsV1beta1().Deployments(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().Services(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().ConfigMaps(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
if c.Opt.EnableRBAC {
_, err = c.KubeClient.CoreV1().ServiceAccounts(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().Roles(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().RoleBindings(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
}
return true
}

func (c *hostPortController) Create() error {
if err := c.generateConfig(); err != nil {
c.recorder.Eventf(
Expand Down
31 changes: 31 additions & 0 deletions pkg/ingress/internal.go
Expand Up @@ -24,6 +24,7 @@ import (
apps "k8s.io/api/apps/v1beta1"
core "k8s.io/api/core/v1"
kext_cs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
kerr "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/sets"
Expand Down Expand Up @@ -63,6 +64,36 @@ func NewInternalController(
}
}

func (c *internalController) IsExists() bool {
_, err := c.KubeClient.AppsV1beta1().Deployments(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().Services(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().ConfigMaps(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
if c.Opt.EnableRBAC {
_, err = c.KubeClient.CoreV1().ServiceAccounts(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().Roles(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().RoleBindings(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
}
return true
}

func (c *internalController) Create() error {
if err := c.generateConfig(); err != nil {
c.recorder.Eventf(
Expand Down
41 changes: 41 additions & 0 deletions pkg/ingress/loadbalancer.go
Expand Up @@ -3,6 +3,7 @@ package ingress
import (
"context"
"fmt"
"net"
"strconv"
"strings"
"time"
Expand All @@ -25,6 +26,7 @@ import (
apps "k8s.io/api/apps/v1beta1"
core "k8s.io/api/core/v1"
kext_cs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
kerr "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/sets"
Expand Down Expand Up @@ -64,6 +66,36 @@ func NewLoadBalancerController(
}
}

func (c *loadBalancerController) IsExists() bool {
_, err := c.KubeClient.AppsV1beta1().Deployments(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().Services(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().ConfigMaps(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
if c.Opt.EnableRBAC {
_, err = c.KubeClient.CoreV1().ServiceAccounts(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().Roles(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().RoleBindings(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
}
return true
}

func (c *loadBalancerController) Create() error {
if err := c.generateConfig(); err != nil {
c.recorder.Eventf(
Expand Down Expand Up @@ -534,3 +566,12 @@ func (c *loadBalancerController) updateStatus() error {
}
return nil
}

func ipnet(spec string) (string, bool) {
spec = strings.TrimSpace(spec)
_, ipnet, err := net.ParseCIDR(spec)
if err != nil {
return "", false
}
return ipnet.String(), true
}
31 changes: 31 additions & 0 deletions pkg/ingress/nodeport.go
Expand Up @@ -27,6 +27,7 @@ import (
apps "k8s.io/api/apps/v1beta1"
core "k8s.io/api/core/v1"
kext_cs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
kerr "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/sets"
Expand Down Expand Up @@ -99,6 +100,36 @@ func NewNodePortController(
return c
}

func (c *nodePortController) IsExists() bool {
_, err := c.KubeClient.AppsV1beta1().Deployments(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().Services(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.CoreV1().ConfigMaps(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
if c.Opt.EnableRBAC {
_, err = c.KubeClient.CoreV1().ServiceAccounts(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().Roles(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
_, err = c.KubeClient.RbacV1beta1().RoleBindings(c.Ingress.Namespace).Get(c.Ingress.OffshootName(), metav1.GetOptions{})
if kerr.IsNotFound(err) {
return false
}
}
return true
}

func (c *nodePortController) Create() error {
// Service is created first so that NodePorts can be used in the haproxy.conf
if svc, vt, err := c.ensureService(); err != nil {
Expand Down
158 changes: 0 additions & 158 deletions pkg/ingress/update.go

This file was deleted.

0 comments on commit ab91071

Please sign in to comment.