Merge pull request #3490 from wanjunlei/nm

change kubesphere-monitoring-federated to system namespace
This commit is contained in:
KubeSphere CI Bot
2021-03-19 14:48:06 +08:00
committed by GitHub
5 changed files with 40 additions and 63 deletions

View File

@@ -214,14 +214,11 @@ func (c *Controller) reconcile(obj interface{}) error {
// Only reconcile the secret which created by notification manager.
if secret, ok := obj.(*corev1.Secret); ok {
if secret.Namespace != constants.NotificationSecretNamespace {
if secret.Namespace != constants.NotificationSecretNamespace ||
secret.Labels == nil || secret.Labels[constants.NotificationManagedLabel] != "true" {
klog.V(8).Infof("No need to reconcile secret %s/%s", accessor.GetNamespace(), accessor.GetName())
return nil
}
if err := c.ensureNotificationNamespaceExist(); err != nil {
return err
}
}
name := accessor.GetName()
@@ -444,50 +441,6 @@ func (c *Controller) syncFederatedSecret(obj *corev1.Secret) error {
return nil
}
func (c *Controller) ensureNotificationNamespaceExist() error {
ns := corev1.Namespace{}
if err := c.Get(context.Background(), client.ObjectKey{Name: constants.NotificationSecretNamespace}, &ns); err != nil {
return err
}
fedNs := v1beta1.FederatedNamespace{}
if err := c.Get(context.Background(), client.ObjectKey{Name: constants.NotificationSecretNamespace, Namespace: constants.NotificationSecretNamespace}, &fedNs); err != nil {
if errors.IsAlreadyExists(err) {
return nil
}
if errors.IsNotFound(err) {
fedNs = v1beta1.FederatedNamespace{
TypeMeta: metav1.TypeMeta{
Kind: v1beta1.FederatedNamespaceKind,
APIVersion: v1beta1.SchemeGroupVersion.String(),
},
ObjectMeta: metav1.ObjectMeta{
Name: constants.NotificationSecretNamespace,
Namespace: constants.NotificationSecretNamespace,
},
Spec: v1beta1.FederatedNamespaceSpec{
Placement: v1beta1.GenericPlacementFields{
ClusterSelector: &metav1.LabelSelector{},
},
},
}
if err := controllerutil.SetControllerReference(&ns, &fedNs, scheme.Scheme); err != nil {
return err
}
return c.Create(context.Background(), &fedNs)
}
return err
}
return nil
}
func (c *Controller) ensureNotControlledByKubefed(ctx context.Context, obj runtime.Object) error {
accessor, err := meta.Accessor(obj)

View File

@@ -47,6 +47,9 @@ var (
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: constants.NotificationSecretNamespace,
Labels: map[string]string{
constants.NotificationManagedLabel: "true",
},
},
}