Do not tap pods whose names start with "mizu-". (#176)

This commit is contained in:
Nimrod Gilboa Markevich 2021-08-08 10:51:39 +03:00 committed by GitHub
parent 7f2021c312
commit ebbe6458a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 12 deletions

View File

@ -419,7 +419,8 @@ func updateCurrentlyTappedPods(kubernetesProvider *kubernetes.Provider, ctx cont
if matchingPods, err := kubernetesProvider.ListAllRunningPodsMatchingRegex(ctx, mizu.Config.Tap.PodRegex(), targetNamespaces); err != nil { if matchingPods, err := kubernetesProvider.ListAllRunningPodsMatchingRegex(ctx, mizu.Config.Tap.PodRegex(), targetNamespaces); err != nil {
return err, false return err, false
} else { } else {
addedPods, removedPods := getPodArrayDiff(state.currentlyTappedPods, matchingPods) podsToTap := excludeMizuPods(matchingPods)
addedPods, removedPods := getPodArrayDiff(state.currentlyTappedPods, podsToTap)
for _, addedPod := range addedPods { for _, addedPod := range addedPods {
changeFound = true changeFound = true
mizu.Log.Infof(uiUtils.Green, fmt.Sprintf("+%s", addedPod.Name)) mizu.Log.Infof(uiUtils.Green, fmt.Sprintf("+%s", addedPod.Name))
@ -428,12 +429,25 @@ func updateCurrentlyTappedPods(kubernetesProvider *kubernetes.Provider, ctx cont
changeFound = true changeFound = true
mizu.Log.Infof(uiUtils.Red, fmt.Sprintf("-%s", removedPod.Name)) mizu.Log.Infof(uiUtils.Red, fmt.Sprintf("-%s", removedPod.Name))
} }
state.currentlyTappedPods = matchingPods state.currentlyTappedPods = podsToTap
} }
return nil, changeFound return nil, changeFound
} }
func excludeMizuPods(pods []core.Pod) []core.Pod {
mizuPrefixRegex := regexp.MustCompile("^" + mizu.MizuResourcesPrefix)
nonMizuPods := make([]core.Pod, 0)
for _, pod := range pods {
if !mizuPrefixRegex.MatchString(pod.Name) {
nonMizuPods = append(nonMizuPods, pod)
}
}
return nonMizuPods
}
func getPodArrayDiff(oldPods []core.Pod, newPods []core.Pod) (added []core.Pod, removed []core.Pod) { func getPodArrayDiff(oldPods []core.Pod, newPods []core.Pod) (added []core.Pod, removed []core.Pod) {
added = getMissingPods(newPods, oldPods) added = getMissingPods(newPods, oldPods)
removed = getMissingPods(oldPods, newPods) removed = getMissingPods(oldPods, newPods)

View File

@ -11,7 +11,7 @@ import (
) )
func DumpLogs(provider *kubernetes.Provider, ctx context.Context, filePath string) error { func DumpLogs(provider *kubernetes.Provider, ctx context.Context, filePath string) error {
podExactRegex := regexp.MustCompile(fmt.Sprintf("^mizu-")) podExactRegex := regexp.MustCompile("^" + mizu.MizuResourcesPrefix)
pods, err := provider.ListAllPodsMatchingRegex(ctx, podExactRegex, []string{mizu.Config.MizuResourcesNamespace}) pods, err := provider.ListAllPodsMatchingRegex(ctx, podExactRegex, []string{mizu.Config.MizuResourcesNamespace})
if err != nil { if err != nil {
return err return err

View File

@ -14,16 +14,17 @@ var (
) )
const ( const (
ApiServerPodName = "mizu-api-server" MizuResourcesPrefix = "mizu-"
ClusterRoleBindingName = "mizu-cluster-role-binding" ApiServerPodName = MizuResourcesPrefix + "api-server"
ClusterRoleName = "mizu-cluster-role" ClusterRoleBindingName = MizuResourcesPrefix + "cluster-role-binding"
ClusterRoleName = MizuResourcesPrefix + "cluster-role"
K8sAllNamespaces = "" K8sAllNamespaces = ""
RoleBindingName = "mizu-role-binding" RoleBindingName = MizuResourcesPrefix + "role-binding"
RoleName = "mizu-role" RoleName = MizuResourcesPrefix + "role"
ServiceAccountName = "mizu-service-account" ServiceAccountName = MizuResourcesPrefix + "service-account"
TapperDaemonSetName = "mizu-tapper-daemon-set" TapperDaemonSetName = MizuResourcesPrefix + "tapper-daemon-set"
TapperPodName = "mizu-tapper" TapperPodName = MizuResourcesPrefix + "tapper"
ConfigMapName = "mizu-policy" ConfigMapName = MizuResourcesPrefix + "policy"
) )
func GetMizuFolderPath() string { func GetMizuFolderPath() string {