Warn if the watched namespace does not exist
This commit is contained in:
		
							parent
							
								
									74fa7b9492
								
							
						
					
					
						commit
						de2a028592
					
				|  | @ -143,6 +143,16 @@ func (c *Controller) initOperatorConfig() { | ||||||
| func (c *Controller) initController() { | func (c *Controller) initController() { | ||||||
| 	c.initClients() | 	c.initClients() | ||||||
| 	c.initOperatorConfig() | 	c.initOperatorConfig() | ||||||
|  | 
 | ||||||
|  | 	// earliest point where we can check if the namespace to watch actually exists
 | ||||||
|  | 	if c.opConfig.WatchedNamespace != v1.NamespaceAll { | ||||||
|  | 		_, err := c.KubeClient.Namespaces().Get(c.opConfig.WatchedNamespace, metav1.GetOptions{}) | ||||||
|  | 		if err != nil { | ||||||
|  | 			c.logger.Warnf("Operator was told to watch the %q namespace but was unable to confirm it existense via Kubernetes API. Falling back to watching all namespaces instead (done automatically by k8s)", c.opConfig.WatchedNamespace) | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	c.initSharedInformers() | 	c.initSharedInformers() | ||||||
| 
 | 
 | ||||||
| 	c.logger.Infof("config: %s", c.opConfig.MustMarshal()) | 	c.logger.Infof("config: %s", c.opConfig.MustMarshal()) | ||||||
|  |  | ||||||
|  | @ -32,6 +32,7 @@ type KubernetesClient struct { | ||||||
| 	v1core.PersistentVolumeClaimsGetter | 	v1core.PersistentVolumeClaimsGetter | ||||||
| 	v1core.ConfigMapsGetter | 	v1core.ConfigMapsGetter | ||||||
| 	v1core.NodesGetter | 	v1core.NodesGetter | ||||||
|  | 	v1core.NamespacesGetter | ||||||
| 	v1beta1.StatefulSetsGetter | 	v1beta1.StatefulSetsGetter | ||||||
| 	policyv1beta1.PodDisruptionBudgetsGetter | 	policyv1beta1.PodDisruptionBudgetsGetter | ||||||
| 	apiextbeta1.CustomResourceDefinitionsGetter | 	apiextbeta1.CustomResourceDefinitionsGetter | ||||||
|  | @ -76,6 +77,7 @@ func NewFromConfig(cfg *rest.Config) (KubernetesClient, error) { | ||||||
| 	kubeClient.PersistentVolumeClaimsGetter = client.CoreV1() | 	kubeClient.PersistentVolumeClaimsGetter = client.CoreV1() | ||||||
| 	kubeClient.PersistentVolumesGetter = client.CoreV1() | 	kubeClient.PersistentVolumesGetter = client.CoreV1() | ||||||
| 	kubeClient.NodesGetter = client.CoreV1() | 	kubeClient.NodesGetter = client.CoreV1() | ||||||
|  | 	kubeClient.NamespacesGetter = client.CoreV1() | ||||||
| 	kubeClient.StatefulSetsGetter = client.AppsV1beta1() | 	kubeClient.StatefulSetsGetter = client.AppsV1beta1() | ||||||
| 	kubeClient.PodDisruptionBudgetsGetter = client.PolicyV1beta1() | 	kubeClient.PodDisruptionBudgetsGetter = client.PolicyV1beta1() | ||||||
| 	kubeClient.RESTClient = client.CoreV1().RESTClient() | 	kubeClient.RESTClient = client.CoreV1().RESTClient() | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue