istio
42 строки · 1.4 Кб
1// Copyright Istio Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package serviceentry16
17import (18"istio.io/istio/pilot/pkg/model"19"istio.io/istio/pkg/config/schema/gvk"20)
21
22// NamespaceDiscoveryHandler is to handle namespace selected or deselected because of discoverySelectors change,
23// rather than namespace add/update/delete event triggered from namespace informer.
24func (s *Controller) NamespaceDiscoveryHandler(namespace string, event model.Event) {25if event == model.EventDelete {26log.Debugf("Handle event namespace %s deselected", namespace)27} else {28log.Debugf("Handle event namespace %s selected", namespace)29}30
31cfgs := s.store.List(gvk.WorkloadEntry, namespace)32for _, cfg := range cfgs {33s.workloadEntryHandler(cfg, cfg, event)34}35
36if !s.workloadEntryController {37cfgs := s.store.List(gvk.ServiceEntry, namespace)38for _, cfg := range cfgs {39s.serviceEntryHandler(cfg, cfg, event)40}41}42}
43