Merge pull request #40571 from jcbsmpsn/close-watch
Automatic merge from submit-queue Release API watch resources when done.
This commit is contained in:
		@@ -64,12 +64,11 @@ func RequestNodeCertificate(client certificatesclient.CertificateSigningRequestI
 | 
				
			|||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, fmt.Errorf("cannot create certificate signing request: %v", err)
 | 
							return nil, fmt.Errorf("cannot create certificate signing request: %v", err)
 | 
				
			||||||
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Make a default timeout = 3600s.
 | 
						// Make a default timeout = 3600s.
 | 
				
			||||||
	var defaultTimeoutSeconds int64 = 3600
 | 
						var defaultTimeoutSeconds int64 = 3600
 | 
				
			||||||
	resultCh, err := client.Watch(metav1.ListOptions{
 | 
						certWatch, err := client.Watch(metav1.ListOptions{
 | 
				
			||||||
		Watch:          true,
 | 
							Watch:          true,
 | 
				
			||||||
		TimeoutSeconds: &defaultTimeoutSeconds,
 | 
							TimeoutSeconds: &defaultTimeoutSeconds,
 | 
				
			||||||
		FieldSelector:  fields.OneTermEqualSelector("metadata.name", req.Name).String(),
 | 
							FieldSelector:  fields.OneTermEqualSelector("metadata.name", req.Name).String(),
 | 
				
			||||||
@@ -77,9 +76,8 @@ func RequestNodeCertificate(client certificatesclient.CertificateSigningRequestI
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, fmt.Errorf("cannot watch on the certificate signing request: %v", err)
 | 
							return nil, fmt.Errorf("cannot watch on the certificate signing request: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						defer certWatch.Stop()
 | 
				
			||||||
	var status certificates.CertificateSigningRequestStatus
 | 
						ch := certWatch.ResultChan()
 | 
				
			||||||
	ch := resultCh.ResultChan()
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for {
 | 
						for {
 | 
				
			||||||
		event, ok := <-ch
 | 
							event, ok := <-ch
 | 
				
			||||||
@@ -91,7 +89,7 @@ func RequestNodeCertificate(client certificatesclient.CertificateSigningRequestI
 | 
				
			|||||||
			if event.Object.(*certificates.CertificateSigningRequest).UID != req.UID {
 | 
								if event.Object.(*certificates.CertificateSigningRequest).UID != req.UID {
 | 
				
			||||||
				continue
 | 
									continue
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			status = event.Object.(*certificates.CertificateSigningRequest).Status
 | 
								status := event.Object.(*certificates.CertificateSigningRequest).Status
 | 
				
			||||||
			for _, c := range status.Conditions {
 | 
								for _, c := range status.Conditions {
 | 
				
			||||||
				if c.Type == certificates.CertificateDenied {
 | 
									if c.Type == certificates.CertificateDenied {
 | 
				
			||||||
					return nil, fmt.Errorf("certificate signing request is not approved, reason: %v, message: %v", c.Reason, c.Message)
 | 
										return nil, fmt.Errorf("certificate signing request is not approved, reason: %v, message: %v", c.Reason, c.Message)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user