Merge pull request #1501 from bprashanth/ing_docs_listing
Automatic merge from submit-queue Correctly handle ingress.class in GCE controller This bug would only get activated when a user has both `ingess.class=gce` and `ingress.class=nginx` ingresses active in the same GCE/GKE cluster, and would manifest as a set of cloud resources created wastefully for the `ingress.class=nginx` ingress as well. We were previously only ignoring ingress.class (documented here: https://github.com/kubernetes/contrib/blob/master/ingress/controllers/gce/BETA_LIMITATIONS.md#disabling-glbc) when the ingress was created/deleted/modified. There's a chance another ingress with the correct class results in us entering the `sync` routine and listing all ingresses. The listing routine was not smart enough to ignore `ingress.class=nginx`, so we ended up creating resources for the nginx ingress anyway. The second commit fixes some of the nginx examples to include a `readiness` probe that is == liveness probe. Minhan or Girish, whichever one has spare cycles first.
This commit is contained in:
commit
3032ff166f
3 changed files with 16 additions and 7 deletions
|
@ -1,7 +1,7 @@
|
||||||
all: push
|
all: push
|
||||||
|
|
||||||
# 0.0 shouldn't clobber any released builds
|
# 0.0 shouldn't clobber any released builds
|
||||||
TAG = 0.7.0
|
TAG = 0.7.1
|
||||||
PREFIX = gcr.io/google_containers/glbc
|
PREFIX = gcr.io/google_containers/glbc
|
||||||
|
|
||||||
server:
|
server:
|
||||||
|
|
|
@ -291,7 +291,10 @@ func (lbc *LoadBalancerController) sync(key string) (err error) {
|
||||||
}
|
}
|
||||||
nodePorts := lbc.tr.toNodePorts(&paths)
|
nodePorts := lbc.tr.toNodePorts(&paths)
|
||||||
lbNames := lbc.ingLister.Store.ListKeys()
|
lbNames := lbc.ingLister.Store.ListKeys()
|
||||||
lbs, _ := lbc.ListRuntimeInfo()
|
lbs, err := lbc.ListRuntimeInfo()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
nodeNames, err := lbc.getReadyNodeNames()
|
nodeNames, err := lbc.getReadyNodeNames()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -404,14 +407,17 @@ func (lbc *LoadBalancerController) updateIngressStatus(l7 *loadbalancers.L7, ing
|
||||||
|
|
||||||
// ListRuntimeInfo lists L7RuntimeInfo as understood by the loadbalancer module.
|
// ListRuntimeInfo lists L7RuntimeInfo as understood by the loadbalancer module.
|
||||||
func (lbc *LoadBalancerController) ListRuntimeInfo() (lbs []*loadbalancers.L7RuntimeInfo, err error) {
|
func (lbc *LoadBalancerController) ListRuntimeInfo() (lbs []*loadbalancers.L7RuntimeInfo, err error) {
|
||||||
for _, m := range lbc.ingLister.Store.List() {
|
ingList, err := lbc.ingLister.List()
|
||||||
ing := m.(*extensions.Ingress)
|
if err != nil {
|
||||||
k, err := keyFunc(ing)
|
return lbs, err
|
||||||
|
}
|
||||||
|
for _, ing := range ingList.Items {
|
||||||
|
k, err := keyFunc(&ing)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Warningf("Cannot get key for Ingress %v/%v: %v", ing.Namespace, ing.Name, err)
|
glog.Warningf("Cannot get key for Ingress %v/%v: %v", ing.Namespace, ing.Name, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
tls, err := lbc.tlsLoader.load(ing)
|
tls, err := lbc.tlsLoader.load(&ing)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Warningf("Cannot get certs for Ingress %v/%v: %v", ing.Namespace, ing.Name, err)
|
glog.Warningf("Cannot get certs for Ingress %v/%v: %v", ing.Namespace, ing.Name, err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,7 +188,10 @@ type StoreToIngressLister struct {
|
||||||
// List lists all Ingress' in the store.
|
// List lists all Ingress' in the store.
|
||||||
func (s *StoreToIngressLister) List() (ing extensions.IngressList, err error) {
|
func (s *StoreToIngressLister) List() (ing extensions.IngressList, err error) {
|
||||||
for _, m := range s.Store.List() {
|
for _, m := range s.Store.List() {
|
||||||
ing.Items = append(ing.Items, *(m.(*extensions.Ingress)))
|
newIng := m.(*extensions.Ingress)
|
||||||
|
if isGCEIngress(newIng) {
|
||||||
|
ing.Items = append(ing.Items, *newIng)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ing, nil
|
return ing, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue